Dev*_*esh 21 python apache-spark pyspark
我试图在PySpark中使用以下选项覆盖Spark数据帧,但我没有成功
spark_df.write.format('com.databricks.spark.csv').option("header", "true",mode='overwrite').save(self.output_file_path)
Run Code Online (Sandbox Code Playgroud)
mode = overwrite命令不成功
小智 31
尝试:
spark_df.write.format('com.databricks.spark.csv') \
.mode('overwrite').option("header", "true").save(self.output_file_path)
Run Code Online (Sandbox Code Playgroud)
Dav*_*vos 12
Spark 1.4及更高版本为dataframewriter提供了内置的csv函数
https://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.DataFrameWriter
例如
spark_df.write.csv(path=self.output_file_path, header="true", mode="overwrite", sep="\t")
Run Code Online (Sandbox Code Playgroud)
这是语法糖
spark_df.write.format("csv").mode("overwrite").options(header="true",sep="\t").save(path=self.output_file_path)
Run Code Online (Sandbox Code Playgroud)
我认为令人困惑的是找到文档中每种格式的确切选项.
这些与写相关的方法属于DataFrameWriter
该类:https:
//spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.DataFrameWriter
该csv
方法提供了以下选项,使用时也可以使用format("csv")
:https:
//spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.DataFrameWriter.csv
您需要提供参数的方式还取决于该方法是采用单个(key, value)
元组还是关键字args.它通常是python工作方式的标准,使用(*args,**kwargs),它只是与Scala语法不同.
例如,该option(key, value)
方法将一个选项作为元组,option(header,"true")
并且该.options(**options)
方法需要一堆关键字赋值,例如.options(header="true",sep="\t")
归档时间: |
|
查看次数: |
41338 次 |
最近记录: |