如何在pyspark中将多个文本文件读入Dataframe

q3aa0525  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(461)

我在一个目录中有几个包含json数据的txt文件(我只有路径而没有文件名),我需要将它们全部读入一个dataframe。
我试过这个:

df=sc.wholeTextFiles("path/*")

但我甚至不能显示数据,我的主要目标是以不同的方式对数据进行查询。

vwkv1x7d

vwkv1x7d1#

而不是 wholeTextFiles (给出键、值对,其中键作为文件名,数据作为值),
尝试 read.json 并给出你的目录名spark将把目录中的所有文件读入dataframe。

df=spark.read.json("<directorty_path>/*")
df.show()

来自文档:

wholeTextFiles(path, minPartitions=None, use_unicode=True)

从hdfs、本地文件系统(在所有节点上都可用)或任何hadoop支持的文件系统uri读取文本文件目录。每个文件作为单个记录读取,并以键-值对的形式返回,其中键是每个文件的路径,值是每个文件的内容。
注意:小文件是首选,因为每个文件将被完全加载到内存中。

相关问题