1

在 bluemix spark 我想使用 HiveContext

HqlContext = HiveContext(sc)
//some code
 df = HqlContext.read.parquet("swift://notebook.spark/file.parquet")

我收到以下错误

Py4JJavaError:调用 o45.parquet 时出错。: java.lang.RuntimeException: java.lang.RuntimeException: 无法实例化 org.apache.hadoop.hive.metastore.HiveMetaStoreClient

4

1 回答 1

1

默认情况下,HiveContext 不包含在 Bluemix Spark 产品中。

要将其包含在您的笔记本中,您应该能够使用 %AddJar 从可公开访问的服务器加载它,例如:

%AddJar http://my.server.com/jars/spark-hive_2.10-1.5.2.jar

您还可以将其指向 Maven 的存储库链接:

%AddJar http://repo1.maven.org/maven2/org/apache/spark/spark-hive_2.10/1.5.2/spark-hive_2.10-1.5.2.jar
val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)

这可以为我启用 Hive 上下文。

现在,值得注意的是,Maven 上的最新可用版本可能与 Bluemix 上运行的当前 Spark 版本不一致,因此我的建议是使用以下命令检查 Bluemix 上的 Spark 版本:

sc.version

然后将此 JAR 的版本与该版本的 Spark 匹配。

于 2015-12-23T13:23:31.637 回答