使用python逐行在Hadoop上编写文件

时间:2018-02-08 08:47:23

标签: python hadoop hdfs

我正在使用具有不同线条架构的文件,因此我需要解析每一行并根据需要逐行将文件写入HDFS的决策依据。

有没有办法在python中实现呢?

1 个答案:

答案 0 :(得分:4)

您可以使用sc._gateway.jvm中的IOUtils并使用它从一个hadoop文件(或本地)流式传输到hadooop上的文件。

Path = sc._gateway.jvm.org.apache.hadoop.fs.Path
FileSystem = sc._gateway.jvm.org.apache.hadoop.fs.FileSystem
Configuration = sc._gateway.jvm.org.apache.hadoop.conf.Configuration
fs = FileSystem.get(Configuration())
IOUtils = sc._gateway.jvm.org.apache.hadoop.io.IOUtils
f = fs.open(Path("/user/test/abc.txt"))
output_stream = fs.create(Path("/user/test/a1.txt"))
IOUtils.copyBytes(f, output_stream, Configuration())