PySpark kullanarak bir Spark (v 1.3.0) veri çerçevesini bir Hive tablosuna kaydetmek istiyorum.kaydet Spark veri çerçevesini Hive: tablo "okunabilir bir SequenceFile değil"
documentation devletler:
"spark.sql.hive.convertMetastoreParquet: false olarak ayarlandığında, SQL desteği yerleşik yerine parke tablolar için kovan serde kullanacağı Spark."
Spark tutorial baktığımızda, bu özellik ayarlanabilir görünüyor:
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")
Ancak, bu döndüren Hive kaydedilen tabloyu sorgulamak çalıştığınızda:
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
nasıl Tabloyu, Hive'de hemen okunabilmesi için kaydeder miyim?
Tam olarak aynı cevabı yazdınız [burada] (http://stackoverflow.com/questions/31341498/save-spark-dataframe-as-dynamic-partitioned-table-in-hive/37504196#37504196).Eğer sorunun bir kopya olduğunu düşünüyorsanız, bu şekilde işaretlemeli ve aynı cevabı iki kez imo etmemelisiniz. – Jaap
TBL_HIVE_IS_NOT_HAPPY ve TBL_HIVE_IS_HAPPY kodunun aynısı olduğu görülüyor. Bir şey mi eksik? –