java - Hadoop:如何通过现代 API(2.7+)启用中间数据压缩?
问题描述
我找到了大量关于如何使用已弃用的 API 启用中间数据压缩的建议,但我没有遇到任何最新的问题。我已经对 API 进行了一些探索,但没有发现任何明显的等价物,尽管我仍在加快速度,所以显然也缺乏熟悉性。
这是我遇到的一个例子:
JobConf conf = new JobConf(new Configuration(), MyJob.class);
conf.set("mapreduce.compress.map.output", "true");
conf.set("mapreduce.map.output.compression.codec",
"org.apache.hadoop.io.compress.GzipCodec");
如果不使用压缩,所涉及的数据集足够大,可以将 hdfs 节点推入安全模式,因此依赖用户提供 cli 参数会带来不可接受的风险(可用存储空间几乎没有应有的那么多,但这是从我手中)。我需要一个纯编码解决方案。如何在 2.7+ 中启用压缩和设置编解码器?
一个最小的代码示例,或 API 相关部分的概述,将不胜感激。提前致谢!
解决方案
推荐阅读
- ansible - Ansible:等到时间
- javascript - pyqt5中的PDF.js:错误js:未捕获的语法错误:意外的令牌'='
- google-cloud-platform - 谷歌容器在 GCP 中优化操作系统时的任何许可费用
- javascript - 当使用 useState 触发事件时如何更改状态?
- c# - NuxtJs - SSR - Webservice .Net
- html-table - 条形图覆盖数据表以显示 KPI
- angular - 如何正确测试 ngForm 重置?(重置为默认值)
- c# - Stripe.StripException : '必须提供来源或客户。'
- php - 如何使用 PHP 在循环中获取每年的第一天和最后一天?
- javascript - 如何在反应应用程序中动态导入moment.js(使用打字稿)