Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何在读取之前按照定义的模式读取pyspark中的拼花地板文件?_Apache Spark_Pyspark - Fatal编程技术网

Apache spark 如何在读取之前按照定义的模式读取pyspark中的拼花地板文件?

Apache spark 如何在读取之前按照定义的模式读取pyspark中的拼花地板文件?,apache-spark,pyspark,Apache Spark,Pyspark,我正在阅读拼花文件全部从s3桶在pyspark。有一些拼花文件具有不同的模式,这会导致作业错误。我想通过预定义的模式,spark作业应该只读与预定义的scehma匹配的文件 data=spark.read.parquet(*路径列表) 上面的拼花火花读取命令正在批量读取文件。如何才能只读取通过预定义模式的拼花文件,并且只读取与通过模式匹配的拼花文件。限制是我需要通过批量加载来实现这一点,这意味着要将文件列表(path_list)传递给spark read parquet命令。您可以尝试类似的方法

我正在阅读拼花文件全部从s3桶在pyspark。有一些拼花文件具有不同的模式,这会导致作业错误。我想通过预定义的模式,spark作业应该只读与预定义的scehma匹配的文件

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)
我认为做上述步骤可以让你行动起来