Pyarrow 0.15.1 上传空文件到 HDFS

Pyarrow 0.15.1 uploading empty files to HDFS

您好,我正在尝试使用 pyarrow Hadoop 文件系统接口中的上传方法将 csv 文件上传到我的 HDFS 集群:

import pyarrow as pa

fs = pa.hdfs.connect(host, port, user)
with open('test.csv') as f:
   pa.hdfs.HadoopFileSystem.upload(fs, '/data/test.csv', f)

出于某种原因,在 pyarrow 版本 0.15.1 中,这总是将一个带有 0B 的空文件上传到 HDFS。但是当降级到 pyarrow 版本 0.10.0 时,文件会正确上传。

我正在使用 HDFS 版本 2.7.3

应该是:

with open('test.csv','rb') as f:

这可能是因为该文件包含一些 non-unicode 个字符,需要将其作为二进制文件读取。