sách gpt4 ai đã đi

Lệnh Bash để điền lại bảng Hive - Chạy nhiều lệnh Hive với các biến ngày thay đổi

In lại 作者:可可西里 更新时间:2023-11-01 16:44:03 27 4
mua khóa gpt4 Nike

试图找出一种方法来回填 ds 分区 Hive 表的分区。

我知道如何从 CLI 运行 Hive 命令,例如

$HIVE_HOME/bin/hive -e 'select a.col from tab1 a'

我想做的是提供不同 DS 的 .txt 文件,并为每个 DS 运行一个新作业,例如

    $HIVE_HOME/bin/hive -e 'INSERT OVERWRITE PARTITION ds = $DS_VARIABLE_HERE 
select a.col from tab1 a where ds = $DS_VARIABLE_HERE'

但我不太确定该怎么做

我想试试

cat date_file.txt | hive -e 'query here' 

但我不确定如何将 date_file 文件中的变量放入 Hive 查询字符串中。

1 Câu trả lời

我的建议是使用 shell 命令遍历值:

选项 1:

If you have fixed set of values you want to iterate through then

DS_VARIABLE_HERE=('val1' 'val2' 'val3')

for ((i=0;i<${#DS_VARIABLE_HERE[@]};i++))
LÀM
$HIVE_HOME/bin/hive -e "INSERT OVERWRITE PARTITION ds = ${DS_VARIABLE_HERE[$i]} select a.col from tab1 a where ds = ${DS_VARIABLE_HERE[$i]}"
xong

选项 2:

if you want to iterate through lets say 1 to 10

for ((i=1;i<=10;i++))
LÀM
$HIVE_HOME/bin/hive -e "INSERT OVERWRITE PARTITION ds = ${i} select a.col from tab1 a where ds = ${i}"
xong

关于回填 Hive 表的 Bash 命令——运行多个具有更改日期变量的 Hive 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38061215/

27 4 0
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com