在向配置单元分区表中写入数据时,出现以下错误。org.apache.spark.sparkexception:请求的分区与tablename表不匹配:
我已经使用case类将rdd转换为df,然后尝试将数据写入现有的hive分区表。但是我得到了他的错误,根据打印的日志“请求的分区:”是空白的。分区列按预期出现在配置单元表中。
Spark壳错误:-
scala>data1.write.format(“hive”).partitionby(“category”,“state”).mode(“append”).saveastable(“sampleb.sparkhive6”)
org.apache.spark.sparkexception:请求的分区与sparkhive6表不匹配:
请求的分区:
表分区:类别、状态
配置单元表格式:-
Hive>描述格式化的sparkhive6;
好 啊
列名称数据类型注解
txnno内部
txndate字符串
客户编号int
金额加倍
产品串
城市字符串
spendby字符串
分区信息
列名称数据类型注解
类别字符串
状态字符串
1条答案
按热度按时间i2byvkas1#
尝试
insertInto()
函数而不是saveAsTable()
.scala> data1.createOrReplaceTempView("temp_vw")
scala> spark.sql("insert into sampleb.sparkhive6 partition(category,state) select txnno,txndate,custno,amount,product,city,spendby,category,state from temp_vw")