【发布时间】:2015-09-01 16:55:41
【问题描述】:
我正在尝试使用 DataFrameWriter 将 DataFrame 保存到 Spark1.4 中的 pyspark 中的 S3
df = sqlContext.read.format("json").load("s3a://somefile")
df_writer = pyspark.sql.DataFrameWriter(df)
df_writer.partitionBy('col1')\
.saveAsTable('test_table', format='parquet', mode='overwrite')
parquet 文件位于“/tmp/hive/warehouse/....”,这是我的驱动程序上的本地 tmp 目录。
我确实将 hive-site.xml 中的 hive.metastore.warehouse.dir 设置为“s3a://....”位置,但 spark 似乎不尊重我的 hive 仓库设置。
【问题讨论】:
-
它使用“列名=”保存文件路径,如 s3a://bucket/foo/col1=1/,s3a://bucket/foo/col1=2/,s3a:/ /bucket/foo/col1=3/,..... 有什么办法可以避免附加列名?像 s3a://bucket/foo/1/,s3a://bucket/foo/2/
标签: apache-spark pyspark apache-spark-sql