spark2.x使用hivethriftserver2和sqlcontext

mzaanser  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(451)

我的需求是启用对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。但是,即使是最新的git中的hivethriftserver2.scala代码,startwithcontext方法也需要sqlcontext类型的参数。
那么,有没有人能解释一下:
首先,我是否选择了正确的方法来解决问题?我不想从spark代码中启动hivethriftserver2,但是/sbin/start-thriftserver.sh没有为我提供用类启动thriftserver示例的选项。或者,是吗,我只是错过了?
有没有其他方法可以使用sparksession从spark代码启动hivethriftserver2?

kd3sttzy

kd3sttzy1#

您不必再创建sqlcontext了。就从星火会议开始吧。

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

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

相关问题