明白了。这个问题解决了,新问题来了。。
Caused by: java.lang.ClassCastException: cannot assign instance of scala.collection.immutable.List$SerializationProxy to field org.apache.spark.sql.execution.FilterExec.otherPreds of type scala.collection.Seq in instance of org.apache.spark.sql.execution.FilterExec
这个异常是在idea里 setMaster(“spark://master:7077“) 模式下发生
我这个业务是这样从关系型数据库读出数据集,对数据集的某些指定的字段,它们的值为空的的整条记录过滤掉,过滤完的数据集进行拼接,格式为
<ImmutableWritable,KeyValue>, ImmutableWritable就是我指定的某几个字段拼接起来的rowkey,而KeyValue,Key是rowkey,Value:列族+列名+列值
这样生成文件 然后进行ImmutableWritable的排序 排完序再生成HFile 然后saveAsNewHadoopFile 最后load到hbase
第二个问题发生在我把代码打成jar包上传到集群上用spark on yarn的形式 出现的异常
Caused by: java.io.IOException: Added a key not lexically larger than previous.
Current cell = 0|000024379500|10_000024379500|10_00118486_020160126083616/f:AGE/1520991994837/Put/vlen=2/seqid=0,
lastCell = 3|000529786000|10_000529786000|10_01988604_20161024151804/f:WARD_NAME/1520991994837/Put/vlen=3/seqid=0
上面两种情况在local模式下不会出现问题,均能成功bulkload到hbase
|