Apache spark 如何使用df.saveToPhoenix()将数据帧保存到phoenix表?
在寻找将数据帧保存到Phoenix的正确方法很长时间后,我注意到Spark1.x中的Apache spark 如何使用df.saveToPhoenix()将数据帧保存到phoenix表?,apache-spark,apache-spark-sql,hbase,bigdata,phoenix,Apache Spark,Apache Spark Sql,Hbase,Bigdata,Phoenix,在寻找将数据帧保存到Phoenix的正确方法很长时间后,我注意到Spark1.x中的DataFrame.class实际上提供了df.save()方法 当我使用: df.saveToPhoenix( store_table, zkUrl = Some(hconnection) ) 我得到了一个错误: Exception in thread "main" java.lang.NoSuchMethodError: org.apache.phoenix.spark.packag
DataFrame.class
实际上提供了df.save()
方法
当我使用:
df.saveToPhoenix(
store_table,
zkUrl = Some(hconnection)
)
我得到了一个错误:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.phoenix.spark.package$.toDataFrameFunctions(Lorg/apache/spark/sql/Dataset;)Lorg/apache/phoenix/spark/DataFrameFunctions;
at com.***.data.process.phoenix.PhoenixToHBase$.main(PhoenixToHBase.scala:63)
at com.***.data.process.phoenix.PhoenixToHBase.main(PhoenixToHBase.scala)
我想这些罐子之间可能有冲突,或者我错过了一些罐子
我已经编写了这些依赖项:
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-spark</artifactId>
<version>4.14.0-cdh5.12.2</version>
</dependency>
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-core</artifactId>
<version>4.14.0-cdh5.12.2</version>
</dependency>
org.apache.phoenix
.
如果您知道如何解决这个问题,请给我一些建议或您的pom.xml。您的Spark版本是什么?根据链接,您包括了phoenix 4.10和更高版本与spark 2.x兼容。我更改了这些JAR的版本,并最终解决了问题。将“4.14.0-cdh5.12.2”更改为“4.14.0-HBase-1.2”,Spark的版本为“2.3.0”