繁体   English   中英

Spark 2.x 使用 HiveThriftServer2 和 sqlContext

[英]Spark 2.x using HiveThriftServer2 with sqlContext

我的要求是启用对 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 的参数。

那么,有没有知情人士可以解释一下:

  1. 首先,我是否选择了正确的方法来解决问题? 我不想从我的 Spark 代码中启动 HiveThriftServer2,但是 /sbin/start-thriftserver.sh 没有为我提供一个选项来启动我的类的 thriftserver 实例。 或者,是吗,而我只是想念它?

  2. 是否有另一种方法可以使用 SparkSession 从 Spark 代码启动 HiveThriftServer2?

您不必再创建 SQLContext。 Juste 从 spark session 中获取它。

val spark: SparkSession = SparkSession
        .builder()
        .appName("Your application name")
        .getOrCreate()

val sqlContext: SQLContext = spark.sqlContext
HiveThriftServer2.startWithContext(sqlContext)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM