美文网首页
Hadoop String预备知识

Hadoop String预备知识

作者: analanxingde | 来源:发表于2018-12-27 09:28 被阅读7次

    基础练习:

    • 熟悉Hadoop streaming工作机制,用streaming机制进行词频统计,对Hadoop思想建立基本认知;
    • 熟悉Hadoop streaming自带各种配置,包括排序、hash分组、压缩格式、内存设定等;
    • 熟悉hive sql各种join操作及意义,主要是读sql;

    1.词频统计:
    http://dongxicheng.org/mapreduce-nextgen/hadoop-streaming-examples/
    bug:Does not contain a valid host:port authority: :10020(队列权限问题)
    排序的设置
    http://blog.sina.com.cn/s/blog_4b59de070101b7iy.html
    Partition:分桶过程,用户输出的key经过partition分发到不同的reduce里,因而partitioner就是分桶器,一般用平台默认的hash分桶也可以自己指定。
    Key:是需要排序的字段,相同分桶&&相同key的行排序到一起。

    2.参数设置
    1)mapred.map.tasks:map task数目
    2)mapred.reduce.tasks:reduce task数目
    3)stream.map.input.field.separator/stream.map.output.field.separator: map task输入/输出数据的分隔符,默认均为\t。
    4)stream.num.map.output.key.fields:指定map task输出记录中key所占的域数目
    5)stream.reduce.input.field.separator/stream.reduce.output.field.separator:reduce task输入/输出数据的分隔符,默认均为\t。
    6)stream.num.reduce.output.key.fields:指定reduce task输出记录中key所占的域数目

    3.join
    https://www.cnblogs.com/xd502djj/archive/2013/01/18/2866662.html

    join 对应sql的join
    left outer join 对应sql的 left join
    right outer join 对应sql的 right join
    left semi join:exisit in
    
    SELECT a.key, a.val
    FROM a LEFT SEMI JOIN b on (a.key = b.key);
    对应的sql:
    
    SELECT a.key, a.value
    FROM a LEFT OUTER JOIN b ON (a.key = b.key)
    WHERE b.key <> NULL;
    

    hive sql的例子
    join:select u.name, o.orderid from order o join user u on o.uid = u.uid;
    group by:select rank, isonline, count(*) from city group by rank, isonline;

    注意.sh 文件中不应该包括多余的空格
    Hive Sql底层编译:https://blog.csdn.net/nacey5201/article/details/34215497
    shuffle过程解释:http://langyu.iteye.com/blog/992916

    相关文章

      网友评论

          本文标题:Hadoop String预备知识

          本文链接:https://www.haomeiwen.com/subject/qxwwpftx.html