json - 从 s3 读取 json 文件以使用glueContext.read.json 粘合 pyspark 会给出错误的结果

标签 json amazon-web-services pyspark aws-glue

有谁知道为什么glueContext.read.json给我一个错误的结果? 基本上以下两种方法给了我非常不同的结果。爆炸后,df2 的记录数比 df1 少得多。 有人经历过同样的事情吗? 谢谢!!

df1 = glueContext.create_dynamic_frame_from_options("s3", format="json", connection_options = {"paths": ["s3://.../"]})


df2 = glueContext.read.json("s3://.../",multiLine=True)

最佳答案

一般glueContext.create_dynamic_frame_from_options用于从源位置(大文件)成组读取文件,因此默认情况下它会考虑文件的所有分区。下面是语法:

df = glueContext.create_dynamic_frame_from_options("s3", {'paths': ["s3://s3path/"], 'recurse':True, 'groupFiles': 'inPartition', 'groupSize': '1048576'}, format="json")

这里groupSize是可定制的,您可以根据您的需要进行更改。

同时glueContext.read.json一般用于读取某个位置的特定文件。

因此,在您的情况下,可能会发生 glueContext.read.json读取时丢失某些数据分区。这就是两个数据框中的大小和行数存在差异的原因。

关于json - 从 s3 读取 json 文件以使用glueContext.read.json 粘合 pyspark 会给出错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59584959/

相关文章:

php - 如何显示mysql Json数据

css - 在 netlify css 上部署失败 ./node_modules/gatsby/node_modules/css-loader

php - 从php :timed out error中的特定ip连接AWS RDS(mysql)

java - AWS 多个对象删除

python - 根据 python 数据框中的条件重命名列

javascript - 无法在asp.net中使用Json将数据保存到数据库中

jQuery 从 JSON 解析 HTML

amazon-web-services - 亚马逊 AWS EC2 端口 : connection refused

java - 堆空间错误: SparkListenerBus

python - Spark运行时错误: uninitialized classmethod object