加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[HIVE]hive中生成从1到n的连续数字的transform或map方法

(2011-08-12 19:56:57)
标签:

hive

map

reduce

transform

连续数字序列

杂谈

分类: Hadoop Hive
ORACLE中生成从1到n的连续数字的方法很多,最简单的一种是:
ETL@RACTEST> select level from dual connect by level<=5;

     LEVEL
----------
         1
         2
         3
         4
         5

我用python写了一个很简单的小程序,可以借助hive的transform语句实现一样的功能:
hive> select transform(5) using 'serial.py' as rn from dual;
OK
1
2
3
4
5

也可以使用MAP:
hive> map 5 using 'serial.py' as rn from dual;
OK
1
2
3
4
5

提供一下python代码,仅供参考:

#!/usr/bin/env python

'''This is a python script to generate value from 1 to n'''

import sys

def main():
    try:
        for line in sys.stdin:
          n = line.strip()
          for i in range(int(n)):
            print i+1
    except:
        return None

if __name__ == "__main__":
    main()

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有