如何从数据帧列中的路径读取 AWS 上 pyspark 中的许多 Json 文件?

Posted

技术标签:

【中文标题】如何从数据帧列中的路径读取 AWS 上 pyspark 中的许多 Json 文件?【英文标题】:How do I read many Json files in pyspark on AWS from the paths in a datafram column? 【发布时间】:2020-03-10 15:51:46 【问题描述】:

我需要使用 pypark 读取一堆 Json 文件,S3 上的文件路径在我拥有的数据框中。 如何在一个 pyspark 脚本中读取所有这些文件?

谢谢!

数据帧格式如下所示

|id|S3Location                  
+----------------+--------------
|a|s3://path1/path6/yyy.json.gz|
|b|s3://path3/path7/xxx.json.gz|
|c|s3://path3/path8/aaa.json.gz|
|c|s3://path4/path9/bbb.json.gz|

【问题讨论】:

我假设您想为每个路径创建一个数据框? @MohammadMurtazaHashmi 这些是相同的架构,所以我想一起阅读它们并使用所有数据创建一个数据框 【参考方案1】:

我自己想通了-

pathset=df.select(collect_set("S3Loc​​ation").alias("paths")).first()["paths"] readjson=sqlContext.read.json(pathset)

【讨论】:

以上是关于如何从数据帧列中的路径读取 AWS 上 pyspark 中的许多 Json 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用SQL星火一个数据帧列中获取值?

如何从 AWS lambda java 中的类路径加载属性文件

合并两个TRUE / FALSE数据帧列,仅保留TRUE

如何从 SQL Server 读取 MS Access 数据库以更新一个或多个表列中的数据?

使用 C# 从 AWS 上的 S3 读取 Avro 数据

当我们从 s3 中的 csv 文件读取数据并在 aws athena 中创建表时如何跳过标题。