我已下载了百万首歌曲数据集的子集,大约2GB。但是,数据分为文件夹和子文件夹。在子文件夹中,它们都是几种“H5文件”格式。我知道它可以用Python阅读。但我不知道如何提取并加载到HDFS中,因此我可以在Pig中运行一些数据分析。 我将它们提取为CSV并加载到Hbase或Hive吗?如果有人能指出我正确的资源,那将会有所帮助。
答案 0 :(得分:1)
如果它已经是CSV文件系统中的CSV或任何格式,PIG可以理解,只需执行hadoop fs -copyFromLocal
如果你想在HDFS上使用Python读取/处理原始H5文件格式,请查看hadoop-streaming(map / reduce)
Python可以在一个体面的Linux系统上处理2GB - 不确定你是否需要hadoop。
答案 1 :(得分:0)
不要将这么多小文件加载到HDFS中。 Hadoop不能处理很多小文件。每个小文件都会产生开销,因为块大小(通常为64MB)要大得多。
我想自己做,所以我在考虑解决方案。百万首歌数据集文件不超过1MB。我的方法是在导入HDFS之前以某种方式聚合数据。
博客文章"小文件问题"来自Cloudera可能会有所启发。