zoukankan      html  css  js  c++  java
  • Hadoop streaming 排序、分桶参数设置

    编写hadoop任务经常需要用到partition和排序。这里记录一下几个参数。

    1. 概念

    Partition:分桶过程,用户输出的key经过partition分发到不同的reduce里,因而partitioner就是分桶器,一般用平台默认的hash分桶也可以自己指定。
    Key:是需要排序的字段,相同分桶&&相同key的行排序到一起。

    2. 参数设置

    在streaming模式默认中, hadoop会把map输出的一行中遇到的第一个设定的字段分隔符前面的部分作为key,后面的作为value,如果输出的一行中没有指定的字段分隔符,则整行作为key,value被设置为空字符串。streaming中默认字段分割符是tab

    2.1 reduce收到数据内的排序(实际上在map结果数据落时候已经排序)

    我们知道,一个reduce收到的数据是经过排序的。

    如下设置,reduce收到的数据如何排序: 字段分割符是'.',按照前2个字段排序

    stream.num.map.output.key.fields=2

    stream.map.output.field.separator=.

    2.2 map数据输出数据partition

    我们知道可以指定partition参数使得符合条件的数据被后续的同一个reduce处理。

    如下设置,指定字段分隔符是'.', 按照第一个字段进行pattition

    map.output.key.field.separator=.

    num.key.fields.for.partition=1

    参考: http://www.dreamingfish123.info/?p=1102

  • 相关阅读:
    使用 VS Code 开发和调试 Burp Suite 扩展
    后渗透神器 Empire 基础用法
    5种语言的按钮事件 断点
    X64下MmIsAddressValid的逆向及内存寻址解析
    x64 内存共享区 KUSER_SHARED_DATA
    内存映射+远线程 调用游戏CALL
    C语言运算符总结
    x32 x64的不同传参方式
    内存占用的一些小问题
    x64分页机制 9
  • 原文地址:https://www.cnblogs.com/xudong-bupt/p/7871136.html
Copyright © 2011-2022 走看看