我正在尝试使用pyarrow将json文件保存在HDFS中。这是我的代码的样子。
using (var context = new BlogContext())
{
context.Database.Log = s => Debug.WriteLine(s);
//generated sql is now in output window
}
这会显示一个错误,提示from pyarrow import hdfs
fs = hdfs.connect(driver='libhdfs')
with fs.open(outputFileVal1, 'wb') as fp:
json.dump(list(value1set), fp)
当我尝试joblib.dump或pickle.dump时,它可以工作,但不会以json格式保存。有什么方法可以使用pyarrow将json文件直接保存到hdfs。
答案 0 :(得分:0)
看起来您可能需要使用包装器,该包装器将使用json.dump
将chunk.encode('utf8')
写入的数据编码为二进制。像
class Utf8Encoder(object);
def __init__(self, fp):
self.fp = fp
def write(self, data):
if not isinstance(data, bytes):
data = data.encode('utf-8')
self.fp.write(data)
那你就可以写
json.dump(..., UtfEncoder(fp))