我想使用spark连接器从spark查询Phoenix表。在Horton工作环境中,我曾经做过以下
pyspark--jars/usr/hdp/2.6.4.0-91/phoenix-spark2.jar,/usr/hdp/2.6.4.0-91/phonix/phoenix-client.jar,/usr/hdp/2.6.4.0-91/phonix-server.jar
然后运行我的代码。
最近,当我试图在Cloudera 7.1.5上运行同样的东西时,我找不到phoenix-spark2.jar和phoenix客户端以及phoenix服务器。火花连接器文档https://docs.cloudera.com/cdp-private-cloud-base/7.1.6/phoenix-access-data/phoenix-access-data.pdf也没有指定指南。请指导我应该用什么罐子。
-Ajaz
我找到了解决方案。根据文件,遵循以下流程。一旦完成,在启动pyspark会话时无需指定和附加jar。
转到Spark服务。单击配置选项卡。选择范围>网关。选择类别>先进的找到Spark-conf/Spark-defaults.conf属性的Spark Client Advanced Configuration Snippet(Safety Valve(,或在"搜索"框中键入其名称进行搜索。添加以下属性以确保所有所需的Phoenix和HBase平台依赖项在Spark执行器和驱动程序的类路径上可用:Phoenix客户端jar:注意以下内容可能因CDP版本而异,请查看spark-Phoenix文档中的jar是否正确。
spark.executor.extraClassPath=phoenix客户端-[版本].jarspark.driver.extraClassPath=phoenix客户端-[VERSION].jar
输入更改原因,然后单击"保存更改"以提交更改。当Cloudera Manager提示您重新启动时,重新启动角色和服务。