如何在HiveQL脚本中使表名称动态化?

时间:2018-12-23 07:58:37

标签: hive

我想创建一个hiveQL脚本,其中第一个语句为“ Create Table ...”。此脚本将由Dev,QA等不同团队使用,所以我想使表名称动态化,即脚本运行时,它将要求插入表名称,并且每个团队都将提供特定的表名称。

1 个答案:

答案 0 :(得分:0)

使用hivevar参数代替脚本中的table_name:

#!/bin/bash

#Set table name
TABLE_NAME=your_schema.your_table

#Or ask user to input table_name
echo "Please input table_name"
read TABLE_NAME

#call your script
hive -hivevar table_name="$TABLE_NAME" -f your_script.hql

然后在your_script.hql中可以使用变量:

CREATE TABLE ${hivevar:table_name};

或者直接调用提供table_name作为参数的hql脚本:

hive -hivevar table_name="myschema.mytable" -f your_script.hql