我已经在dataframe中加载了一个表,并尝试将其保存为hive表
var RddTableName= objHiveContext.sql("select * from tableName")
val dataframeTable = RddTableName.toDF()
dataframeTable.write.format("orc").mode(SaveMode.Overwrite).saveAsTable("test.myTable")
我遇到了异常 org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.RuntimeException:无法从[public java.util.ArrayList org.apache.hadoop.hive.serde2.ColumnSet.col]中找到字段mytable
答案 0 :(得分:0)
上面的异常正在发生,因为我试图覆盖现在查找现有表“myTable”(并且它不在那里),所以要创建一个新表,我们必须去saveMode.Ignore或ErrorIfExists。您可以通过映射其路径
来选择选项中的数据库名称答案 1 :(得分:0)
首先设置hcontext.sql(“使用数据库”) 你不能把数据库放在saveAsTable
中