码迷,mamicode.com
首页 > 其他好文 > 详细

hive transform函数介绍

时间:2015-11-05 11:58:55      阅读:346      评论:0      收藏:0      [点我收藏+]

标签:

hive 提供了通过脚本定制 mapper 和 reducer 的功能,这一功能需要用到 transform 函数。

默认情况下, transform 函数中带入的参数会被用 ‘\t 分隔开,并且以字符串对方式传入到用户脚本中。输入中 NULL 值会被转换成字符串 ‘\N‘。脚本的输出使用的分隔符也是 ‘\t‘,同时 ‘\N‘ 会再次被转化为 NULL。需要注意的是,当 transform 当参数中含有 ‘\t‘ 的时候,用户需要手动处理这些 ‘\t‘ 以免脚本里面出错。这里是一个使用样例:

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

‘map_script‘ 的输出,使用 ‘\t‘ 分割开以后,对应到 dt 和 uid 两个字段。默认情况下,如果不指定类型,默认认为是 string 类型的。

这样一来,就通过脚本(shell、python等)实现了UDF的功能。

hive transform函数介绍

标签:

原文地址:http://www.cnblogs.com/cbffr/p/4938960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!