Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
目前正在测试一个集群,当使用"CREATE TABLE AS"生成的托管表时,最终是一个文件 ~ 1.2 GB,而创建查询的基本文件有许多小文件。SELECT 部分运行速度很快,但结果是运行 2 个 reducer 来创建一个文件,这需要 75% 的运行时间。
"CREATE TABLE AS"
附加测试:
1) 如果使用 using "CREATE EXTERNAL TABLE AS",查询运行速度非常快,并且不涉及合并文件步骤。
"CREATE EXTERNAL TABLE AS"
2) 此外,在 HDP 3.0.1 版本中似乎不会发生合并。
您可以更改set hive.exec.reducers.bytes.per.reducer=<number>以让 hive 根据减速器输入大小决定减速器的数量(默认值设置为 1 GB 或 1000000000 字节)[您可以参考@leftjoin 提供的链接以获取有关此属性的更多详细信息并根据您的需要进行微调]
set hive.exec.reducers.bytes.per.reducer=<number>
您可以尝试的另一个选项是更改以下属性
set mapreduce.job.reduces=<number> set hive.exec.reducers.max=<number>