如何指定saveastable将文件保存到的路径?

w46czmvw  于 2021-07-09  发布在  Spark
关注(0)|答案(2)|浏览(733)

我正在尝试使用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')

Parquet文件转到了“/tmp/hive/warehouse/…”,这是我的驱动程序上的本地tmp目录。
我确实在hive-site.xml中将hive.metastore.warehouse.dir设置为“s3a://….”位置,但是spark似乎不符合我的hive-warehouse设置。

8fq7wneg

8fq7wneg1#

你可以用 insertInto(tablename) 覆盖现有表的步骤 1.4

zynd9foi

zynd9foi2#

使用 path .

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

相关问题