我使用命令行实用程序hadoop archive
创建了一个har文件。
如何在mapreduce或spark中读取HAR文件的内容?是否有可以理解HAR文件的FileInputFormat?
按照答案。。。这里有一个简单的猪脚本,以防其他人感兴趣:
A = LOAD 'har:///user/me/my.har/*.parquet'
USING parquet.pig.ParquetLoader
('key:chararray')
;
来自Hadoop档案和MapReduce
在MapReduce中使用Hadoop档案就像指定一个不同于默认文件系统的输入文件系统一样简单。如果您在
/user/zoo/foo.har
的HDFS中存储了一个hadoop归档文件,那么要将该归档文件用于MapReduce输入,您只需要将输入目录指定为har:///user/zoo/foo.har
。由于Hadoop档案是作为一个文件系统公开的,MapReduce将能够使用Hadoop档案中的所有逻辑输入文件作为输入。
因此,您应该能够使用任何FileInputFormat来读取相同文件的HDFS目录。