如何限制hadoop序列文件的大小?

xhv8bpkk  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(866)

我正在使用txt作为输入来编写hadoop seq文件。我知道如何从文本文件写序列文件。
但是我想把输出序列文件限制在特定的大小,比如说256mb。
有什么内在的方法可以做到这一点吗?

irtuqstp

irtuqstp1#

afiak您需要编写自己的自定义输出格式来限制输出文件的大小-默认情况下fileoutputformats为每个reducer创建一个输出文件。
另一种选择是,以正常方式创建序列文件,然后使用标识Map器创建第二个作业(仅Map),然后修改最小/最大输入拆分大小,以确保每个Map器仅处理¬每个256mb。这意味着一个og 1gb的输入文件将由4个Map器处理,并创建¬256mb。您将得到较小的文件,其中输入文件为300mb(256mbMap器和44mbMap器将运行)。
您要查找的属性包括:
mapred.min.split.size mapred.max.split.size 它们都配置为字节大小,所以将它们都设置为 268435456

相关问题