speichern Funke dataframe zu Hive: Tabelle nicht lesbar, da "Parkett nicht SequenceFile"

Ich würde gerne zum speichern von Daten in einer Spark (v 1.3.0) dataframe, um eine Hive-Tabelle mit PySpark.

Den Dokumentation Staaten:

"der Funke.sql.hive.convertMetastoreParquet: Wenn auf false gesetzt, Spark SQL verwenden Sie die Hive-SerDe für Parkett-Tabellen anstelle der eingebauten Unterstützung."

Blick auf die Spark tutorial, scheint es, dass diese Eigenschaft kann eingestellt werden:

from pyspark.sql import HiveContext

sqlContext = HiveContext(sc)
sqlContext.sql("SET spark.sql.hive.convertMetastoreParquet=false")

# code to create dataframe

my_dataframe.saveAsTable("my_dataframe")

Jedoch, wenn ich versuche, die Abfrage der gespeicherten Tabelle in Hive gibt es:

hive> select * from my_dataframe;
OK
Failed with exception java.io.IOException:java.io.IOException: 
hdfs://hadoop01.woolford.io:8020/user/hive/warehouse/my_dataframe/part-r-00001.parquet
not a SequenceFile

Wie Speichere ich die Tabelle so, dass es sofort lesbar auf Hive?

Schreibe einen Kommentar