我正在编写以下代码以将火花数据帧保存到phonenix:
。phoenix_df.write.format( “org.apache.phoenix.spark”)模式(SaveMode.Overwrite)可供选项(地图( “表” - > “中TEST”, “zkUrl” - > “中defabc10d” ))。保存()
使用spark 1.6.0。
但是,作业失败并出现以下错误:
java.lang.NoSuchMethodError:org.apache.hadoop.hbase.HTableDescriptor.setValue(Ljava / lang / String; Ljava / lang / String;)Lorg / apache / hadoop / hbase / HTableDescriptor
请提供一些解决方案是否有人遇到同样的问题?
答案 0 :(得分:1)
看起来您的Phoenix连接器是针对HBase客户端的特定版本(例如V1.3)构建的,但是CDH中捆绑的HBase客户端是不同的版本(V1.2),并且存在重大的API更改。
--jars
)--conf spark.yarn.user.classpath.first=true
覆盖默认的Cloudera HBase客户端