如何从命令行更改hive架构?
我需要运行hql
脚本来创建表,但这些表需要在特定模式中创建。
我正在使用 hive -f createTable.hql 来创建表
答案 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不能在同一命令中使用。