pyspark无法在配置单元中创建Parquet地板表

57hvy0tb  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(659)

许多搜索指向Pypark代码,以在hive元存储中创建表,例如: hivecx.sql("...create table syntax that matches the dataframe...") df.write.mode("overwrite").partitionBy('partition_colname').insertInto("national_dev.xh_claimline") 我尝试了许多不同的写入/保存/插入和模式,但总是得到: Caused by: java.io.FileNotFoundException: File does not exist: /user/hive/warehouse/national_dev.db/xh_claimline/000000_0 hadoop中存在表目录,但0000000子目录不存在。我以为这是因为table空了,我还没给它写信呢。 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 在cloudera上,spark版本:17/03/20 11:45:21 info spark.spark上下文:运行spark版本1.6.0

6mw9ycah

6mw9ycah1#

看insert into语句,这里是数据写入模式 overwrite 已使用,则无需向中写入insert。直接使用 saveAsTableparquet 格式。此处已修改statement:-

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

相关问题