hive使用php脚本来完成map/reduce
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了hive使用php脚本来完成map/reduce,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1926字,纯文字阅读大概需要3分钟。
内容图文
![hive使用php脚本来完成map/reduce](/upload/InfoBanner/zyjiaocheng/157/84d424edb0d14bea96f8241747a14066.jpg)
TRANSFORM(….) USING ‘….’ AS (….)。
USING里面可以使用php脚本来处理,具体使用方法看下面这个例子。
①、建一个表:
hive> CREATE TABLE `member`(
> `id`int,
> `user_name`string,
> `passwd`string
> )
> row format delimited
> fields terminated by "\t"//这句很必要,不然下面的文件导入会导致所有的值都变成null
> stored as textfile;
②、准备如下数据 /tmp/member.dat
1 zhangsan zs1024
2 lisi ls1991
3 wangwu ww2001
4 liumang lm1234
5 linxing lx1990
③、导入数据
hive> load data local inpath '/tmp/member.dat' into table member;
可以看到:
hive> select * from member;
OK
1 zhangsan zs1024
2 lisi ls1991
3 wangwu ww2001
4 liumang lm1234
5 linxing lx1990
数据已经准备好了 ,现在我们相对第三列做一次md5加密。我们使用php脚本来处理,php脚本(/tmp/changePasswd.php)代码如下:
while(!feof(STDIN)){
$line = rtrim(fgets(STDIN), "\n"); //逐行读取if (empty($line)) continue; //空,跳出当次循环$data = explode("\t", $line); //将切分出来的数组保存起来,下面判断使用foreach($dataas &$val){
$val = md5($val);
}
unset($val);
echo implode("\t", $data) . "\n";
}
④、将php脚本加入到hive中。
hive> add file /tmp/changePasswd.php;
⑤、使用php脚本来执行map/reduce
hive> insert overwrite table member
> select TRANSFORM(`id`,`user_name`,`passwd`) using "/usr/bin/php changePasswd.php"
> as (`id`,`user_name`,`passwd`) from member;
最后,我们可以看到,passwd那一列的数据已经改变:
hive> select * from member;
OK
1 zhangsan d03eed89429cc3006cc279322c2800c5
2 lisi 063401506c9d9f0e49a706e3779b7428
3 wangwu ac5a8109dbbb46c9f69ffd5fc93c11f8
4 liumang fda8b97fd723bdbf6a754812b5ecec27
5 linxing 4035378ace8936e93d95aa77e7e224d4
版权声明:本文为博主原创文章,转载请注明出处。
以上就介绍了hive 使用php脚本来完成map/reduce,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
内容总结
以上是互联网集市为您收集整理的hive使用php脚本来完成map/reduce全部内容,希望文章能够帮你解决hive使用php脚本来完成map/reduce所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。