Apache spark 如何在读取之前按照定义的模式读取pyspark中的拼花地板文件?
我正在阅读拼花文件全部从s3桶在pyspark。有一些拼花文件具有不同的模式,这会导致作业错误。我想通过预定义的模式,spark作业应该只读与预定义的scehma匹配的文件Apache spark 如何在读取之前按照定义的模式读取pyspark中的拼花地板文件?,apache-spark,pyspark,Apache Spark,Pyspark,我正在阅读拼花文件全部从s3桶在pyspark。有一些拼花文件具有不同的模式,这会导致作业错误。我想通过预定义的模式,spark作业应该只读与预定义的scehma匹配的文件 data=spark.read.parquet(*路径列表) 上面的拼花火花读取命令正在批量读取文件。如何才能只读取通过预定义模式的拼花文件,并且只读取与通过模式匹配的拼花文件。限制是我需要通过批量加载来实现这一点,这意味着要将文件列表(path_list)传递给spark read parquet命令。您可以尝试类似的方法
data=spark.read.parquet(*路径列表
)
上面的拼花火花读取命令正在批量读取文件。如何才能只读取通过预定义模式的拼花文件,并且只读取与通过模式匹配的拼花文件。限制是我需要通过批量加载来实现这一点,这意味着要将文件列表(path_list)传递给spark read parquet命令。您可以尝试类似的方法使其工作。首先读取数据框中的所有文件,然后从已读取的现有数据框中选择所需的列,并根据值筛选出行
data = spark.read.option("mergeSchema", "true").parquet("data/")
selectedData = data.select("column1","column2",,).filter("column1".isNotNull)
我认为做上述步骤可以让你行动起来