繁体   English   中英

如何使用python读取hadoop映射文件?

[英]How to read hadoop map file using python?

我有使用DefaultCodec进行块压缩的地图文件。 映射文件是由Java应用程序创建的,如下所示:

MapFile.Writer writer =
            new MapFile.Writer(conf, path,
                    MapFile.Writer.keyClass(IntWritable.class),
                    MapFile.Writer.valueClass(BytesWritable.class),
                    MapFile.Writer.compression(SequenceFile.CompressionType.BLOCK, new DefaultCodec()));

该文件存储在hdfs中,我需要在另一个使用python的应用程序中从中读取一些键,值。 我找不到任何可以做到这一点的图书馆。 您有什么建议和例子吗?

谢谢

我建议使用Spark,它具有一个名为textFile()的功能,该功能可以从HDFS读取文件并将其转换为RDD,以便使用其他Spark库进行进一步处理。

这是文档: Pyspark

创建一个阅读器,如下所示:

path = '/hdfs/path/to/file'
key = LongWritable()
value = LongWritable()
reader = MapFile.Reader(path)
while reader.next(key, value):
        print key, value

查看这些hadoop.io.MapFile Python示例

以及MapFile.py中的可用方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM