Apache spark 在我的java应用程序外部查询我的临时表
我已经创建了一个java应用程序,启动spark(Apache spark 在我的java应用程序外部查询我的临时表,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我已经创建了一个java应用程序,启动spark(local[*]),并利用它将csv文件作为数据集读取,并使用createOrReplaceTempView创建一个临时视图 此时,我可以利用SQL查询应用程序内部的视图 出于开发和调试目的,我想做的是从应用程序外部以交互方式执行查询 有什么提示吗 提前感谢您可以使用spark的DeveloperApi- 在应用程序中需要做的唯一一件事是获取SQLContext,并按如下方式使用它: HiveThriftServer2.startWithCont
local[*]
),并利用它将csv文件作为数据集读取,并使用createOrReplaceTempView
创建一个临时视图
此时,我可以利用SQL查询应用程序内部的视图
出于开发和调试目的,我想做的是从应用程序外部以交互方式执行查询
有什么提示吗
提前感谢您可以使用spark的DeveloperApi-
在应用程序中需要做的唯一一件事是获取SQLContext
,并按如下方式使用它:
HiveThriftServer2.startWithContext(sqlContext)
这将启动hive thrift server(默认情况下在端口10000
),您可以使用sql客户端(例如beeline
)访问和查询临时表中的数据
您还需要设置--conf spark.sql.hive.thriftServer.singleSession=true
,以便查看临时表。默认情况下,它被设置为false
,因此每个连接都有自己的会话,它们不会看到其他临时表
“spark.sql.hive.thriftServer.singleSession”-设置为true时,hive thriftServer在单个会话中运行
模式所有JDBC/ODBC连接共享临时视图、函数注册表、SQL配置和当前数据库
您可以使用spark的DeveloperApi-
在应用程序中需要做的唯一一件事是获取SQLContext
,并按如下方式使用它:
HiveThriftServer2.startWithContext(sqlContext)
这将启动hive thrift server(默认情况下在端口10000
),您可以使用sql客户端(例如beeline
)访问和查询临时表中的数据
您还需要设置--conf spark.sql.hive.thriftServer.singleSession=true
,以便查看临时表。默认情况下,它被设置为false
,因此每个连接都有自己的会话,它们不会看到其他临时表
“spark.sql.hive.thriftServer.singleSession”-设置为true时,hive thriftServer在单个会话中运行
模式所有JDBC/ODBC连接共享临时视图、函数注册表、SQL配置和当前数据库