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

hive 使用脚本清洗数据:时间戳转日期

时间:2014-08-31 00:17:50      阅读:1780      评论:0      收藏:0      [点我收藏+]

标签:使用   ar   for   数据   art   div   sp   amp   on   

import sys
import datetime

for line in sys.stdin:
  line = line.strip()
  userid, movieid, rating, unixtime = line.split(‘\t‘)
  weekday = datetime.datetime.fromtimestamp(float(unixtime)).isoweekday()
  print ‘\t‘.join([userid, movieid, rating, str(weekday)])

Use the mapper script:

CREATE TABLE u_data_new (
  userid INT,
  movieid INT,
  rating INT,
  weekday INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\t‘;

add FILE weekday_mapper.py;

INSERT OVERWRITE TABLE u_data_new
SELECT
  TRANSFORM (userid, movieid, rating, unixtime)
  USING ‘python weekday_mapper.py‘
  AS (userid, movieid, rating, weekday)
FROM u_data;

SELECT weekday, COUNT(*)
FROM u_data_new
GROUP BY weekday;




  1. FROM (  
  2. MAP doctext USING ‘python wc_mapper.py‘ AS (word, cnt)  
  3. FROM docs  
  4. CLUSTER BY word  
  5. ) a  
  6. REDUCE word, cnt USING ‘python wc_reduce.py‘;  

hive 使用脚本清洗数据:时间戳转日期

标签:使用   ar   for   数据   art   div   sp   amp   on   

原文地址:http://www.cnblogs.com/charlie-badegg/p/3947065.html

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