如何指定saveAsTable保存文件的路径?

How to specify the path where saveAsTable saves files to?

我正在尝试使用 DataFrameWriter 在 Spark1.4 的 pyspark 中将 DataFrame 保存到 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')

镶木地板文件转到“/tmp/hive/warehouse/....”,这是我的驱动程序上的本地 tmp 目录。

我确实在 hive-site.xml 中将 hive.metastore.warehouse.dir 设置到 "s3a://...." 位置,但 spark 似乎不符合我的 hive 仓库设置。

使用path.

df_writer.partitionBy('col1')\
         .saveAsTable('test_table', format='parquet', mode='overwrite',
                      path='s3a://bucket/foo')

您可以使用 insertInto(tablename) 覆盖现有的 table,因为 1.4