2017-03-20 5 views
0

Viele Suchanfragen weisen auf pyspark Code zur Erstellung von Tabellen in hive Metastore mit so etwas wie erstellen , aber immer:Pyspark kann kein Parkett Tisch in hive

Caused by: java.io.FileNotFoundException: File does not exist: /user/hive/warehouse/national_dev.db/xh_claimline/000000_0

das Tabellenverzeichnis in hadoop existiert, aber das 000000_0 Unterverzeichnis (n) nicht. Ich dachte, das war, weil der Tisch leer ist und ich noch nicht geschrieben habe.

hadoop fs -ls /user/hive/warehouse/national_dev.db/xh_claimline Found 2 items drwxrwxrwt - mryan hive 0 2017-03-20 12:26 /user/hive/warehouse/national_dev.db/xh_claimline/.hive-staging_hive_2017-03-20_12-26-35_382_2703713921168172595-1 drwxrwxrwt - mryan hive 0 2017-03-20 12:29 /user/hive/warehouse/national_dev.db/xh_claimline/.hive-staging_hive_2017-03-20_12-29-40_775_73045420253990110-1

Auf Cloudera, Spark-Version: 17/03/20 11.45.21 INFO spark.SparkContext: Laufen Spark-Version 1.6.0

Antwort

0

bei Einsatz in Anweisung betrachtet, hier Datenschreib Modus overwrite wird verwendet, dann brauchen Sie nicht schreiben in einfügen. Verwenden Sie direkt saveAsTable mit parquet Format. Hier wird modifiziert Aussage: -

df = hivecx.sql("...create table syntax that matches the dataframe...") 
df.write.mode("overwrite").format("parquet").partitionBy('partition_colname').saveAsTable("national_dev.xh_claimline") 
+0

Thanks @ rakesh-kumar - Ich habe versucht, das vor, aber ich versuchte, wieder gerade jetzt sicher zu machen. Ich bekomme genau das gleiche Ergebnis. 'Verursacht durch: java.io.FileNotFoundException: Datei existiert nicht:/user/hive/warehouse/national_dev.db/xh_claimline/000000_0' –

+0

@MattRyan dann denke ich, dass Sie keine db mit dem Namen national_dev haben, also stellen Sie sicher, db Existenz durch Bienenstock Shell –

Verwandte Themen