Spark:找不到密钥

时间:2017-03-21 05:07:16

标签: spark-dataframe partition

我正在尝试使用以下语法从spark插入hive表。

tranl1.write.mode("overwrite").partitionBy("t_date").insertInto("tran_spark_part")

注意:tranl1是DF,我创建它是为了从oracle加载数据。

val tranl1 = sqlContext.load("jdbc", Map("url" -> "jdbc:oracle:thin:userid/pwd@localhost:portid","dbtable" -> "(select a.*,to_char(to_date(trunc(txn_date,'DD'),'dd-MM-yy')) as t_date from table a  WHERE TXN_DATE >= TRUNC(sysdate,'DD'))"))

我在蜂巢中的表:

  

create table tran_spark_part(id string,amount string,creditaccount   string,creditbankname string,creditvpa string,customerid   string,debitaccount string,debitbankname string,debitvpa string,irc   string,refid string,remarks string,rrn string,status string,txn_date   string,txnid string,type string,expiry_date string,approvalnum   string,msgid string,seqno string,upirc string,reversal string,trantype   字符串)由(date1 string);

分区

然而,当我跑

tranl1.write.mode("overwrite").partitionBy("t_date").insertInto("tran_spark_part") 

它给出错误:

java.util.NoSuchElementException: key not found: date1

请帮助我,我错过了什么或做错了什么?

0 个答案:

没有答案