在spark-shell(scala)中,我们导入org.apache.spark.sql.hive.thriftserver._,用于以HiveThriftServer2.startWithContext(hiveContext)的形式为特定的hive上下文启动Hive Thrift服务器,以公开该特定会话的注册临时表。
我们如何使用Python来做同样的事情?python上是否有用于导入HiveThriftServer的package / API?任何其他想法/建议赞赏。
我们已经使用pyspark创建了一个框架
谢谢
拉维·纳拉亚南
2条答案
按热度按时间dzhpxtsq1#
你可以使用py 4j java gateway导入它。以下代码适用于spark 2.0.2,可以通过beeline查询python脚本中注册的临时表。
然后转到直线检查它是否正确启动:
它应该显示在python中创建的表和临时表/视图,包括上面的“myTable”和“myTempView”。为了查看临时视图,必须具有相同的spark会话
(see作者:Avoid starting HiveThriftServer2 with created context programmatically。
注意:即使Thrift服务器从终端启动并连接到同一个元存储,也可以访问配置单元表,但是临时视图不能访问,因为它们在spark会话中,没有写入元存储)
hujrc8aj2#
对于Spark 3,以下工作:
请注意,
HiveThriftServer2
类的main
方法调用startWithContext
方法。(参见源代码)