如何使用 Hive 仓库连接器在 pyspark 中执行 HQL 文件

Posted

技术标签:

【中文标题】如何使用 Hive 仓库连接器在 pyspark 中执行 HQL 文件【英文标题】:How to execute HQL file in pyspark using Hive warehouse connector 【发布时间】:2020-07-03 05:46:34 【问题描述】:

我有一个 hql 文件。我想使用带有 Hive 仓库连接器的 pyspark 运行它。有一个 executeQuery 方法来运行查询。我想知道是否可以这样运行 hql 文件。我们可以运行这样的复杂查询吗? 请提出建议。

谢谢

【问题讨论】:

以下解决方案是否有效或您检查过 【参考方案1】:

我有以下解决方案,我假设 hql 文件中会有多个查询。

HQL 文件:sample_query.hql

select * from schema.table;
select * from schema.table2;

代码:遍历每个查询。您可以在每次迭代中随心所欲地进行操作(就 HWC 操作而言)。

with open('sample_query.hql', 'r') as file:
    hql_file = file.read().rstrip()
    
for query in [x.lstrip().rstrip() for x in hql_file.split(";") if len(x) != 0] :
    hive.executeQuery("0".format(query))

【讨论】:

以上是关于如何使用 Hive 仓库连接器在 pyspark 中执行 HQL 文件的主要内容,如果未能解决你的问题,请参考以下文章

Spark 仓库 VS Hive 仓库

使用 pyspark 连接配置单元表

如何使用 PySpark 检查 Hive 表是不是存在

如何使用 Pyspark 在 Databricks 中合并 Hive 表中的记录?

如何使用 pyspark 并行插入 Hive

应用转换或连接条件以在 pyspark 或 hive 中实现结果