PySpark:java.lang.ClassCastException

时间:2017-07-25 07:10:28

标签: hive pyspark hbase

我有一个PySpark代码,用于开发查询并在另一个内部映射到HBase表的Hive表上运行insert into命令。 当我使用spark sql将插入命令运行到Hive表上时,我得到以下异常..

java.lang.ClassCastException: org.apache.hadoop.hive.hbase.HiveHBaseTableOutputFormat cannot be cast to org.apache.hadoop.hive.ql.io.HiveOutputFormat

我检查了数据类型和tblproperties但无法完成此异常。

我使用的版本是:

PySpark -- 1.6.0
Hive -- 1.1.0-cdh5.8.2

表格属性为:

ROW FORMAT SERDE 'org.apache.hadoop.hive.hbase.HBaseSerDe'
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties("hbase.columns.mapping"=":key,colf:a")
tblproperties("hbase.table.name"="abc",'hbase.mapred.output.outputtable' = 'abc');

我尝试删除行格式Serde,即使遇到同样的问题..

我是否因为版本不匹配而遇到问题?或者我错了?

1 个答案:

答案 0 :(得分:-1)

这是一个火花的错误,请看这个apache spark pull,https://github.com/apache/spark/pull/17989