许多搜索指向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
1条答案
按热度按时间6mw9ycah1#
看insert into语句,这里是数据写入模式
overwrite
已使用,则无需向中写入insert。直接使用saveAsTable
与parquet
格式。此处已修改statement:-