Python 在加载到Spark dataframe之前,如何预处理JSON数据

Python 在加载到Spark dataframe之前,如何预处理JSON数据,python,csv,apache-spark,pyspark,Python,Csv,Apache Spark,Pyspark,我正在尝试将JSON文件的大目录转换为CSV文件。然而,在将这些JSON文件转换为CSV或Dataframe友好格式之前,我需要对它们进行转换和剪辑。这是由transform\u json函数完成的 下面是一个可行的解决方案,但由于json.loads/json.dumps的后面和第四部分,它感觉既愚蠢又缓慢 rdd = (spark_context.textFile('*.json') .map(json.loads) .flatMap(transform_js

我正在尝试将JSON文件的大目录转换为CSV文件。然而,在将这些JSON文件转换为CSV或Dataframe友好格式之前,我需要对它们进行转换和剪辑。这是由
transform\u json
函数完成的

下面是一个可行的解决方案,但由于
json.loads
/
json.dumps
的后面和第四部分,它感觉既愚蠢又缓慢

rdd = (spark_context.textFile('*.json')
        .map(json.loads)
        .flatMap(transform_json)
        .map(json.dumps))

(spark_session.read.json(rdd)
    .write.format("com.databricks.spark.csv")
    .option("header", "true")
    .save("output_dir"))
我需要把它们放到PySpark数据框中,因为我事先不知道所有的列,Spark会帮我处理


如何改进此代码?

您似乎想要合并架构? 您可以使用拼花地板并阅读以下内容: