我的要求是启用对 SparkSQL临时表的 ODBC/JDBC 访问,Spark 中有一个 DataFrame(基于 JSON 和流的混合)。
我让它在 Spark 1.6 中工作,然后最近升级到 Spark 到 2.1.1。我将我的代码调整为这个问题的第二个回答者。但是,我注意到此条款的弃用警告:
val sqlContext = new org.apache.spark.sql.SQLContext(spark.sparkContext)
所以我检查了 sqlContext 上的javadoc,它说“已弃用。改用 SparkSession.builder。从 2.0.0 开始。” 但是,根据git 中最新的 HiveThriftserver2.scala 代码,方法 startWithContext 需要 sqlContext 类型的参数。
所以,知道的人能否对此有所了解:
首先,我是否选择了正确的方法来解决问题?我不想从我的 Spark 代码中启动 HiveThriftServer2,但是 /sbin/start-thriftserver.sh 没有为我提供使用我的类启动 thriftserver 实例的选项。或者,是吗,我只是想念它?
是否有另一种方法可以使用 SparkSession 从 Spark 代码启动 HiveThriftServer2?