如何将pyarrow csv文件转换为python字符串列表?

ddhy6vgd  于 2021-07-15  发布在  Hadoop
关注(0)|答案(0)|浏览(214)

我使用pyarrow 2.0.0在centos8上与hadoop3.3交互。hadoop和pyarrow模块安装成功。所以我把一些本地csv文件复制到hadoop文件系统中。我尝试从hadoop文件系统读取csv文件,并将csv行转换为字符串列表。下面是我第一次尝试的代码。

from pyarrow import fs

hdfs = fs.HadoopFileSystem('localhost', port=9000)

def readHdFile(filename):
    with hdfs.open_input_file(filename) as inf:
    read_data = inf.read().decode('utf-8')
    return read_data

data = readHdFile('test.csv')
print(data)

以上代码工作正常。打印数据成功。例如,

date,values,
2007-01-01,6.3
2008-01-01,6.7
2009-01-01,7.7

但这些行的类型不是字符串列表,而是字符串本身的大尺寸。因为返回的字符串太大,所以下一步被阻塞。然后我将pyarrow方法更改为csv,如下所示,

from pyarrow import csv
from pyarrow import fs

def readHdFile(filename):
    with hdfs.open_input_file(filename) as inf:
        read_data = csv.read_csv(inf)
        return read_data

data = readHdFile('test.csv')
print(data)

但是pyarrow表类型的返回值不是我所期望的。

pyarrow.Table
date: timestamp[s]
values: double

如何使用pyarrow将hadoop文件系统中存储的csv文件转换为字符串类型的列表?任何答复都将感激不尽。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题