我正在尝试使用 iPython 从 Hive 查询表。下面是我的代码的样子。
sqlc = HiveContext(sc)
sqlc.sql("ADD JAR s3://x/y/z/jsonserde.jar")
我首先创建一个新的配置单元上下文,然后尝试添加上面的 jar。以下是我收到的错误消息。
Py4JJavaError: An error occurred while calling o63.sql:
java.lang.ClassNotFoundException: org.openx.data.jsonserde.JsonSerDe
我还可以如何将此 jar 添加到 Spark 类路径?
最佳答案
你得到这个错误是因为你在启动 iPython 时没有在你的 SparkContext 中添加你的库。
为此,您需要运行 shell 执行以下操作:
PYSPARK_DRIVER_PYTHON=ipython bin/pyspark --master local[1] --jars [path/to/jar].jar --driver-class-path [path/to/jar].jar
注意: 考虑到 SPARK-5185,目前指定 --jars
是不够的.
关于java.lang.ClassNotFoundException : org. openx.data.jsonserde.JsonSerDe 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31421305/