作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个配置单元插入覆盖查询-set mapred.map.tasks=1; set mapred.reduce.tasks=1; insert overwrite table staging.table1 partition(dt) select * from testing.table1;
在检查HDFS目录中的staging.table1时,我看到创建了2个零件文件。
2019-12-25 02:25 /data/staging/table1/dt=2019-12-24/000000_0
2019-12-25 02:25 /data/staging/table1/dt=2019-12-24/000001_0
最佳答案
您执行的insert
查询是仅映射的,这意味着没有reduce任务。因此,没有必要设置mapred.reduce.tasks
。
同样,映射器的数量由分割数决定,因此设置mapred.map.tasks
不会改变映射器的并行性。
至少有两种可行的方法可以将文件总数强制为1:
hive.merge.mapfiles
设置为true。好吧,默认值已经为true。hive.merge.smallfiles.avgsize
以实际触发合并。hive.merge.size.per.task
增大为足够大的目标大小。 hive.input.format
设置为org.apache.hadoop.hive.ql.io.CombineHiveInputFormat
,这也是默认设置。mapreduce.input.fileinputformat.split.maxsize
以允许更大的拆分大小。 关于hadoop - 即使将映射器和化简器的数量设置为1,为什么配置单元仍将2个零件文件写入hdfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59492366/
我正在使用 Bootstrap 日期时间选择器。我想要 datetimepicker 格式作为短月份名称,例如。 一月。我的代码在下面,它现在显示完整的月份名称为 January。如何让它成为 Jan
注意:这篇博客已经和当前的分页插件完全不一样了,所以建议大家通过上面项目地址查看最新的源码和文档来了解。 以前为Mybatis分页查询发愁过,而且在网上搜过很多相关的文章,最后一个都没采用。在分页
我是一名优秀的程序员,十分优秀!