我不熟悉我的角色,其中一部分需要在托管和外部配置单元表中创建/插入数据。我们在配置单元会话开始时运行了几行“set”参数,但我遇到过一些情况,例如,某些分区(几个文件)的文件被合并,而其他分区(许多较小的文件)的文件被合并,看起来是随机的。
我的问题是:什么时候需要输入所有的配置单元设置参数?我运行的每个insert/命令/语句都需要这样做吗?或者在我启动hive的时候,在hive会话开始时只有一次?
以下是我们一直使用的标准设置参数:
SET mapred.job.queue.name=yometrics;
SET hive.exec.dynamic.partition=true;
SET hive.exec.dynamic.partition.mode=nonstrict;
SET hive.exec.max.dynamic.partitions=2000;
SET hive.exec.max.dynamic.partitions.pernode=2000;
SET hive.merge.tezfiles=true;
1条答案
按热度按时间ef1yzkbh1#
您可以将配置放在文件的开头,它将适用于整个会话。
或者,您可以将公共参数放在单独的文件中
params.hql
在每个脚本调用中source /local/path/to/the/file/params.hql
一开始。你也可以把它们放在
hive-site.xml
如果您使用的是qubole/aws,也可以使用引导程序:https://docs.qubole.com/en/latest/user-guide/hive/bootstrap-script.html