【发布时间】:2017-05-10 09:04:30
【问题描述】:
作为一个使用 Spark、Phoenix 和 HBase 的菜鸟,尝试了一些示例,如 here 和 here 所列。
根据“us_population”here 的示例创建数据。
但是,在尝试通过 Spark 查询在 Phoenix / HBase 中创建的表时,我收到以下错误 -
scala> val rdd = sc.phoenixTableAsRDD("us_population", Seq("CITY", "STATE", "POPULATION"), zkUrl = Some("random_aws.internal:2181"))
java.lang.NoClassDefFoundError: org/apache/phoenix/jdbc/PhoenixDriver
at org.apache.phoenix.spark.PhoenixRDD.<init>(PhoenixRDD.scala:40)
at
org.apache.phoenix.spark.SparkContextFunctions.phoenixTableAsRDD(SparkContextFunctions.scala:39)
... 52 elided
Caused by: java.lang.ClassNotFoundException: org.apache.phoenix.jdbc.PhoenixDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 54 more
不确定为什么会弹出此错误。任何相同的帮助将不胜感激!
附:我使用以下命令加载 Spark -
spark-shell --jars /usr/lib/phoenix/phoenix-spark-4.9.0-HBase-1.2.jar
我在一个由 1 个主节点和 1 个名称节点组成的微型 AWS EMR 集群上尝试此操作(两者都是 R4.xlarge,具有 20GB SSD 外部存储)
【问题讨论】:
标签: amazon-web-services apache-spark configuration hbase phoenix