目前我可以使用下面的命令:
hive -f hive-job.hql -hiveconf city='CA' -hiveconf country='US'
这里我只传递了 2 个变量值。但是我有大约 15 到 20 个变量值需要通过 -hiveconf 传递。这些值存储在 properties/text 文件中。
是否有可能通过 -hiveconf 读取文件?
最佳答案
没有直接的方法将属性值添加到 Hive 变量。但我知道有两种方法可能会有所帮助:
1.) 将 hive-job-varibales.hql 文件中的所有变量保存为
set x=1;
set y=2;
...
Then call this file in the main file i.e hive -f hive-job.hql like this:
select ... from ..
...
hive-job-varibales.hql
2.) 使用 Java 代码读取属性文件并将属性值转换为 Hive 变量格式,然后使用 Hive JDBC 连接连接到 Hive Server 并按您想要的顺序运行查询。
根据您的要求,我建议使用第二个选项。
希望对您有所帮助...!!!
关于hadoop - Hive 传递属性/文本文件以读取 -hiveconf 中的多个变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26402682/