J'essaie d'enregistrer un DataFrame sur S3 dans pyspark dans Spark1.4 en utilisant DataFrameWriter
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')
Les fichiers parquet sont allés dans "/ tmp/Hive/warehouse/...." qui est un répertoire tmp local sur mon pilote.
J'ai installé Hive.metastore.warehouse.dir dans Hive-site.xml à un emplacement "s3a: // ....", mais spark ne semble pas respecter ma ruche réglage de l'entrepôt.
Utilisez path
.
df_writer.partitionBy('col1')\
.saveAsTable('test_table', format='parquet', mode='overwrite',
path='s3a://bucket/foo')
vous pouvez utiliser insertInto(tablename)
pour remplacer une table existante puisque 1.4