java.lang.ClassNotFoundException: org.openx.data.jsonserde.JsonSerDe

java.lang.ClassNotFoundException: org.openx.data.jsonserde.JsonSerDe

我正在尝试使用 iPython 从 Hive 查询 table。下面是我的代码的样子。

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 类路径?

您收到该错误是因为您在启动时没有在 SparkContext 中添加库 iPython。

为此,您需要 运行 您的 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 是不够的