Bluemix Spark 中的 HiveContext
HiveContext in Bluemix Spark
在 bluemix spark 中我想使用 HiveContext
HqlContext = HiveContext(sc)
//some code
df = HqlContext.read.parquet("swift://notebook.spark/file.parquet")
我收到以下错误
Py4JJavaError: An error occurred while calling o45.parquet. :
java.lang.RuntimeException: java.lang.RuntimeException: Unable to
instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
默认情况下,HiveContext 不包含在 Bluemix Spark 产品中。
要将其包含在您的笔记本中,您应该能够使用 %AddJar 从可公开访问的服务器加载它,例如:
%AddJar http://my.server.com/jars/spark-hive_2.10-1.5.2.jar
您也可以将其指向 Maven 的存储库 link:
%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 匹配。
在 bluemix spark 中我想使用 HiveContext
HqlContext = HiveContext(sc)
//some code
df = HqlContext.read.parquet("swift://notebook.spark/file.parquet")
我收到以下错误
Py4JJavaError: An error occurred while calling o45.parquet. : java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
默认情况下,HiveContext 不包含在 Bluemix Spark 产品中。
要将其包含在您的笔记本中,您应该能够使用 %AddJar 从可公开访问的服务器加载它,例如:
%AddJar http://my.server.com/jars/spark-hive_2.10-1.5.2.jar
您也可以将其指向 Maven 的存储库 link:
%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 匹配。