当我们 select * table_name where id = 10; 时运行了多少映射器和缩减器;在 hive ?它是基于输入分割还是文件大小?在这种情况下如何确定映射器和缩减器的数量? 有什么建议吗?
最佳答案
对于输入表的每个输入拆分,将调度一个映射器,其中输入拆分的默认大小将是 block 大小。
您可以通过修改 mapreduce.input.fileinputformat.split.maxsize
来改变映射器的数量和 mapreduce.input.fileinputformat.split.minsize
属性。
谈到 Hive 中的 reducer 数量,默认情况下它是使用 hive.exec.reducers.bytes.per.reducer
计算的属性,其默认值为 1GB。
您将能够通过修改上述属性来配置 reducer 的数量。您仍然可以使用 mapred.reduce.tasks
为作业设置固定数量的 reducer 。属性(property)。
希望这对您有所帮助。
关于hadoop - 当我们 select * table_name where id = 10; 时运行了多少映射器和缩减器;在 hive ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32249527/