当前正在测试群集和使用 "CREATE TABLE AS" 生成的托管表最终是一个文件~1.2 gb,而创建查询的基文件有许多小文件。select部分运行得很快,但结果是运行两个reducer来创建一个文件,占用75%的运行时间。附加测试:1) 如果使用 "CREATE EXTERNAL TABLE AS" 查询运行速度非常快,不涉及合并文件步骤。2) 另外,hdp3.0.1版本似乎没有合并。
"CREATE TABLE AS"
"CREATE EXTERNAL TABLE AS"
qlckcl4x1#
你可以改变 set hive.exec.reducers.bytes.per.reducer=<number> 要让配置单元根据reducer输入大小决定reducer的数量(默认值设置为1 gb或1000000000字节)[您可以参考@leftjoin提供的链接以获取有关此属性的更多详细信息,并根据需要进行微调]您可以尝试的另一个选项是更改以下属性
set hive.exec.reducers.bytes.per.reducer=<number>
set mapreduce.job.reduces=<number> set hive.exec.reducers.max=<number>
1条答案
按热度按时间qlckcl4x1#
你可以改变
set hive.exec.reducers.bytes.per.reducer=<number>
要让配置单元根据reducer输入大小决定reducer的数量(默认值设置为1 gb或1000000000字节)[您可以参考@leftjoin提供的链接以获取有关此属性的更多详细信息,并根据需要进行微调]您可以尝试的另一个选项是更改以下属性