我正在使用具有不同线条架构的文件,因此我需要解析每一行并根据需要逐行将文件写入HDFS的决策依据。
有没有办法在python中实现呢?
答案 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())