Hive 流式处理与文件格式定制全解析
1. Hive 流式处理基础
Hive 的 ADD FILE 功能可将文件添加到分布式缓存中,添加的文件会被放置在每个任务的当前工作目录下,这样转换任务就能使用脚本而无需知道其具体位置。示例如下:
#!/bin/bash
$ sh ctof.sh
100
212.00
0
32.00
^D
在 Hive 中使用:
hive> ADD FILE ${env:HOME}/prog_hive/ctof.sh;
Added resource: /home/edward/prog_hive/ctof.sh
hive> SELECT TRANSFORM(col1) USING 'ctof.sh' AS convert FROM a;
39.20
37.40
2. 单行生成多行数据
之前的示例大多是一行输入对应一行输出,而流式处理可实现一行输入生成多行输出,这与 EXPLODE() UDF 和 LATERAL VIEW 语法的输出效果类似。
假设输入文件 $HOME/kv_data.txt 内容如下:
k1=v1,k2=v2
k4=v4,k5=v5,k6=v6
k7=v7,k7=v7,k3=v7
创建 Perl 脚本 $
超级会员免费看
订阅专栏 解锁全文
1611

被折叠的 条评论
为什么被折叠?



