2

我是新角色,其中一部分需要在托管和外部配置单元表中创建/插入数据。我们在 hive 会话开始时运行了几行“设置”参数,但我遇到了一些情况,例如,文件被合并为某些分区(文件数量很少),但不是其他人(许多较小的文件),似乎是随机的日子。

我的问题是:什么时候需要输入我所有的 Hive 设置参数?是否需要为我正在运行的每一个插入/命令/语句完成?还是在我启动 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;
4

1 回答 1

3

您可以将配置放在文件的开头,它将适用于整个会话。

或者,您可以将公共参数放在单独的文件params.hql和每个脚本调用中

source /local/path/to/the/file/params.hql在一开始的时候。

你也可以把它们放在hive-site.xml

如果您在 Qubole/AWS 上,您也可以使用 bootstrap:https ://docs.qubole.com/en/latest/user-guide/hive/bootstrap-script.html

于 2019-11-12T14:21:25.550 回答