如何在hive load命令中使用变量

时间:2015-05-12 07:45:04

标签: hadoop

我有多个文件要加载到hive中,比如这个

t47_corporation
t47_cp_deposit
t47_id_deposit
t47_individual
...

我尝试使用以下命令

加载它
for var in t47*; 
 do 
   hive -e "load data local inpath ${var} overwrite into table ${var}_tmp"; 
done 

但我收到了错误

  

失败:ParseException行1:23不匹配的输入' t47_id_deposit'期待在路径附近的StringLiteral'在加载语句中

我正在使用hive 0.13

我该如何完成?感谢

2 个答案:

答案 0 :(得分:1)

我找到了答案,谢谢你的灵感

    for var in t47*;

    do 
      hive -e "load data local inpath \"${var}\" overwrite into table ${var}_tmp"; 

    done 

这是成功执行的

答案 1 :(得分:0)

尝试此命令:

for $ in {t *}; do hive -e“将数据本地inpath $ {var}覆盖到表$ {var} _tmp”;完成了