如何从 java 执行 Hive hql 文件?

Posted

技术标签:

【中文标题】如何从 java 执行 Hive hql 文件?【英文标题】:How to execute Hive hql files from java? 【发布时间】:2016-06-23 11:45:31 【问题描述】:

我知道我可以通过解析 hql 文件、提取单个查询并分别执行每个查询来做到这一点,但我想知道是否有更好、更优雅的方式来运行以下命令:

hive -f "queries.hql"

通过java。一种方法是使用Runtime.getRuntime().exec,但我想以正确的 jdbc 方式执行此操作,使用 HiveServer2 - 如果可能的话。

如果可能的话,将非常感谢一个例子。

最好的问候。

【问题讨论】:

【参考方案1】:

参考链接 他们在这里使用 Hive Cli 驱动程序 我用它来处理 HQL 文件 https://www.programcreek.com/java-api-examples/?api=org.apache.hadoop.hive.cli.CliDriver

public HiveExec(HdfsSinkConnectorConfig config) 
    hiveConf = new HiveConf();
    String hiveConfDir = config.getString(HdfsSinkConnectorConfig.HIVE_CONF_DIR_CONFIG);
    hiveConf.addResource(new Path(hiveConfDir, "hive-site.xml"));
    SessionState.start(new CliSessionState(hiveConf));
    cliDriver = new CliDriver();

【讨论】:

以上是关于如何从 java 执行 Hive hql 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Hive命令行及参数配置

Hive 源码解读 CliDriver HQL 语句拆分

Hive 源码解读 CliDriver HQL 语句拆分

Hive 源码解读 CliDriver HQL 语句拆分

Hive 编程之DDLDMLUDFSelect总结

013-HQL中级3-Hive四种数据导入方式介绍