gpt4 book ai didi

hadoop - Hive查询传递字符串作为参数

转载 作者:行者123 更新时间:2023-12-02 21:22:08 25 4
gpt4 key购买 nike

这是我在shell脚本中的配置单元查询。它的作用是一次从一个文本文件中读取一个表名,然后运行配置单元查询以在其中插入行。

当我用一个整数替换'I'时说1,它可以正常工作。尝试了几种通过“我”的方法,但是它不起作用。任何帮助表示赞赏。

配置单元查询

for line in $(cat ../hive/ListofTableNames.txt);

do

eval "hive -e 'SET hive.exec.dynamic.partition.mode=nonstrict;

FROM sourcedb.$line

INSERT OVERWRITE TABLE targetdb.$line

SELECT from_unixtime(unix_timestamp()),**'I'**,*;'"

done

最佳答案

我将配置单元QL放在一个文件中,比如说myRequest.ql:

SET hive.exec.dynamic.partition.mode=nonstrict;
FROM sourcedb.${hiveconf:tableName}
INSERT OVERWRITE TABLE targetdb.${hiveconf:tableName}
SELECT from_unixtime(unix_timestamp()),**'I'**,*;'"

然后您的脚本将类似于:
for line in $(cat ../hive/ListofTableNames.txt);

do
eval "hive --hiveconf tableName=$line -f myRequest.ql"
done

希望会有所帮助

关于hadoop - Hive查询传递字符串作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36990433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com