如何将百万歌曲数据集等大数据集加载到 BigData HDFS 或 Hbase 或 Hive 中?
Posted
技术标签:
【中文标题】如何将百万歌曲数据集等大数据集加载到 BigData HDFS 或 Hbase 或 Hive 中?【英文标题】:How to load big datasets like million song dataset into BigData HDFS or Hbase or Hive? 【发布时间】:2015-10-09 17:06:01 【问题描述】:我已经下载了大约 2GB 的百万歌曲数据集的子集。但是,数据被分解为文件夹和子文件夹。在子文件夹中,它们都是几种“H5 文件”格式。我知道可以使用 Python 读取它。但我不知道如何提取并加载到 HDFS 中,这样我就可以在 Pig 中运行一些数据分析。 我是否将它们提取为 CSV 并加载到 Hbase 或 Hive ?如果有人能指出我正确的资源,那将会有所帮助。
【问题讨论】:
【参考方案1】:如果它已经是CSV或linux文件系统上的任何格式,PIG可以理解,只需执行hadoop fs -copyFromLocal to
如果您想在 HDFS 上使用 Python 读取/处理原始 H5 文件格式,请查看 hadoop-streaming (map/reduce)
Python 可以在一个不错的 linux 系统上处理 2GB - 不确定您是否需要 hadoop。
【讨论】:
hadoop fs -copyFromLocal your_files HDFS_Path 我主要想知道如何转换分层数据格式(hdf5)文件并将其加载到hadoop fs。由于数据位于包含元数据信息的多个文件夹中,是否有任何简单的方法可以将其加载到配置单元表中。【参考方案2】:不要将这么多的小文件加载到 HDFS 中。 Hadoop 不能很好地处理大量小文件。每个小文件都会产生开销,因为块大小(通常为 64MB)要大得多。
我想自己做,所以我正在考虑解决方案。百万歌曲数据集文件不超过 1MB。我的方法是在导入 HDFS 之前以某种方式聚合数据。
来自 Cloudera 的博客文章“小文件问题”可能会有所启发。
【讨论】:
以上是关于如何将百万歌曲数据集等大数据集加载到 BigData HDFS 或 Hbase 或 Hive 中?的主要内容,如果未能解决你的问题,请参考以下文章