Hive学习⼩记-(15)transform函数
可以参考的⼀些帖⼦:
⼀、写了⼀个简单函数xftp传到/opt/module/hive/transform/test_transform.py
#!/bin/python
import sys
for line in sys.stdin:
str=line.strip()+'tran'
print(str)
⼆、使⽤hive中st_avg_medium_freq做样例数据
hive>select*from test_avg_medium_freq;
OK
桑普森400000
迈克30000
怀特20000
阿诺德20000
史密斯20000
劳伦斯15000
哈德逊15000
肯特10000
贝克10000
斯科特10000
三、add path 及select transform操作
hue trunc函数写了select transform(name),transform只做了字符拼接,不知道第⼆列的NULL是哪来的
-- 这⾥要先add path,否则会报错FAILED: Execution Error, return code 20003 from org.apache.hadoop.r.MapRedTask. An error occurred when trying to close the Operator running your custom script. hive>add file/opt/module/hive/transform/test_transform.py;
Added resources: [/opt/module/hive/transform/test_transform.py]
hive>select transform(name) USING 'python test_transform.py'from test_avg_medium_freq;
Total MapReduce CPU Time Spent: 990 msec
OK
桑普森tran    NULL
迈克tran    NULL
怀特tran    NULL
阿诺德tran    NULL
史密斯tran    NULL
劳伦斯tran    NULL
哈德逊tran    NULL
肯特tran    NULL
贝克tran    NULL
斯科特tran    NULL
Time taken: 11.036 seconds, Fetched: 10 row(s)
四、加AS指定列名
加了AS指定列名之后好了,NULL没有再出现
select transform(name) USING 'python test_transform.py'as trans_name from test_avg_medium_freq;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。