【发布时间】:2017-09-26 23:31:51
【问题描述】:
我的要求是启用对 SparkSQL 临时表的 ODBC/JDBC 访问,Spark 中有一个 DataFrame(基于 JSON 和流的混合)。
我让它在 Spark 1.6 中运行,然后最近升级到 Spark 到 2.1.1。我将我的代码调整为this question 中的第二个回答者。但是,我注意到此条款的弃用警告:
val sqlContext = new org.apache.spark.sql.SQLContext(spark.sparkContext)
所以我在 sqlContext 上检查了javadoc,它显示“已弃用。改用 SparkSession.builder。从 2.0.0 开始。”但是,即使是最新的HiveThriftserver2.scala code in git,startWithContext 方法也需要 sqlContext 类型的参数。
那么,知道的人能否对此有所了解:
首先,我是否选择了正确的方法来解决问题?我不想从我的 Spark 代码中启动 HiveThriftServer2,但是 /sbin/start-thriftserver.sh 没有为我提供使用 my 类启动 thriftserver 实例的选项。或者,是吗,我只是想念它?
是否有其他方法可以使用 SparkSession 从 Spark 代码启动 HiveThriftServer2?
【问题讨论】:
-
据我所知,Thrift 服务器启动脚本只是打开并运行一个 Java/Scala 类
-
@cricket_007 是的,那个类不是我要提供的类(如果我理解脚本正确的话),而是 HiveThriftServer2 类;我只是想再次确认我的理解是否正确。
-
如果您想以编程方式创建该对象,这就是您想要的行。 github.com/apache/spark/blob/master/sql/hive-thriftserver/src/…
-
SparkSession + SQLContext 来自这一行。 github.com/apache/spark/blob/master/sql/hive-thriftserver/src/…
-
@cricket_007 哦,非常感谢,我应该更仔细地检查文档中的 sparkSession!
标签: scala apache-spark hive spark-thriftserver