zoukankan      html  css  js  c++  java
  • Hive的Transform功能

    官网的demo:

    FROM (
        FROM pv_users
        SELECT TRANSFORM(pv_users.userid, pv_users.date)
        USING 'map_script'
        AS dt, uid
        CLUSTER BY dt
    ) map_output
    INSERT OVERWRITE TABLE pv_users_reduced SELECT TRANSFORM(map_output.dt, map_output.uid) USING
    'reduce_script' AS date, count;

    使用MAPREDUCE关键字是SELECT TRANSFORM关键字的别名,下面的等价代码阅读跟清洗一点:

    
    
    FROM (
        FROM pv_users
        MAP pv_users.userid, pv_users.date
        USING 'map_script'
        AS dt, uid
        CLUSTER BY dt
    ) map_output
    INSERT OVERWRITE TABLE pv_users_reduced REDUCE map_output.dt, map_output.uid USING
    'reduce_script' AS date, count;
    
    

    MAP中,SELECT TRANSFORM() 等价于 关键字MAP 

    REDUCE中, SELECT TRANSFORM() 等价于 关键字 REDUCE  ;

    • CLUSTER BY关键字是DISTRIBUTE BYSORT BY的简写,这两者可以认为对应与Hadoop的partition和sort过程。如果partition和sort的key是不同的,可以使用DISTRIBUTE BYSORT BY分别指定。例如: distribute by a.user_id sort by a.user_id,a.begintime (同一个user_id的记录行都在同一个map中,并且按照begintime升序排列,每一个map中是同一个用户的时间序列轨迹) ;
    
    
  • 相关阅读:
    loadrunner监控linux之linux下安装rpc
    Linux中top命令参数详解
    使用jmeter监控服务器性能指标
    jmeter连接mysql数据库配置
    loadrunner--设置代理录制
    页面下载时间细分图组成
    linux网络配置
    科学把妹法
    简单而强大的bitset
    名言札记
  • 原文地址:https://www.cnblogs.com/camelroyu/p/7877655.html
Copyright © 2011-2022 走看看