【发布时间】:2019-08-17 21:40:09
【问题描述】:
我有一个 35-40GB 大小的巨大 json 文件,它是 hdfs 上的 MULTILINE JSON。我已经使用了.option('multiline', 'true').read.json('MULTILINE_JSONFILE_.json').repartition(50)
使用 Pyspark。
我增加了 60 个执行器、16 个内核、16GB Ememory 并设置了内存开销参数。 Executor 的每次运行都会丢失。
它非常适用于较小的文件,但不适用于 > 15 GB 的文件 我有足够的集群资源。
从我看到的 spark UI 中,每次数据由单个执行器处理时,所有其他执行器都处于空闲状态。
我看过阶段(0/2)任务(0/51)
我也重新分区了数据。
代码:
spark.read.option('multiline', 'true').read.json('MULTILINE_JSONFILE_.json').repartition(50)
df.count()
df.rdd.glom().map(len).collect()
df.write.... (HDFSLOCATION, format='csv')
目标:我的目标是对每一列应用 UDF 函数并清理数据并写入 CSV 格式。 数据框大小为 800 万行,210 列
【问题讨论】:
标签: apache-spark apache-spark-sql