Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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 在Spark 2.1.0中启用_元数据文件_Apache Spark_Pyspark_Parquet - Fatal编程技术网

Apache spark 在Spark 2.1.0中启用_元数据文件

Apache spark 在Spark 2.1.0中启用_元数据文件,apache-spark,pyspark,parquet,Apache Spark,Pyspark,Parquet,Spark 2.1.0似乎破坏了保存空拼花文件的功能,因为无法再次读取它们(由于错误的模式推断) 我发现,由于Spark 2.0,在编写拼花地板文件时,默认情况下会禁用写入_元数据文件。但是我找不到配置设置来重新启动它 我尝试了以下方法: spark_session = SparkSession.builder \ .master(url) \ .appName(name) \

Spark 2.1.0似乎破坏了保存空拼花文件的功能,因为无法再次读取它们(由于错误的模式推断)

我发现,由于Spark 2.0,在编写拼花地板文件时,默认情况下会禁用写入_元数据文件。但是我找不到配置设置来重新启动它

我尝试了以下方法:

spark_session = SparkSession.builder \
                        .master(url) \
                        .appName(name) \
                        .config('spark.hadoop.parquet.enable.summary-metadata', 'true') \
                        .getOrCreate()
还有一些完全不同的组合,比如没有spark.hadoop

我试图在PySpark中运行的代码:

spark_session = session.get_session()
sc = spark_session.sparkContext

df = spark_session.createDataFrame(sc.emptyRDD(), schema)

df.write.mode('overwrite').parquet(path, compression='none')

# this works
df = spark_session.read.schema(schema).parquet(path)

# This throws an error
df = spark_session.read.parquet(path)

这是
sc.emptyRDD()
的行为问题。您可以找到有关这种行为发生的确切原因的更多信息

当前的解决方案是执行以下操作:
df=spark\u session.createDataFrame(sc.emptyRDD(),schema)。重新分区(1)
,并且仍然具有问题中提到的配置设置