从命令行更改配置单元中的模式

时间:2015-04-08 12:20:55

标签: hive

如何从命令行更改hive架构?

我需要运行hql脚本来创建表,但这些表需要在特定模式中创建。

我正在使用 hive -f createTable.hql 来创建表

3 个答案:

答案 0 :(得分:0)

你可以在你的hql / ddl语句中做到这一点。

USE schemaName;

create table.....
....

因此,基本上您可以通过使用“USE”语句告诉配置单元使用特定模式。 您也可以在hive CLI中编写它。

答案 1 :(得分:0)

您可以将参数传递给脚本:

hive -hiveconf myschema=newschema -f createTable.hql

然后在剧本中:

CREATE SCHEMA IF NOT EXISTS ${hiveconf:myschema}
LOCATION "/foo/dir";

USE ${hiveconf:myschema};

您创建的任何表都将位于该工作模式中。您还可以将变量作为名称的一部分:

hive -hiveconf name=Bob -f createTable.hql

在剧本中:

CREATE SCHEMA IF NOT EXISTS ${hiveconf:name}_SCHEMA
LOCATION "/foo/dir";

USE ${hiveconf:name}_SCHEMA;

答案 2 :(得分:0)

如果要通过命令行在特定模式中运行查询,可以使用以下命令:

hive -e "use schema_name; show tables;"

但-f和-e不能在同一命令中使用。