Hive 流式处理与文件格式定制
1. Hive 流式处理基础
Hive 的 ADD FILE 功能可将文件添加到分布式缓存,添加的文件会被放置在每个任务的当前工作目录中,这样转换任务就能使用脚本而无需知道其具体位置。例如:
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;
2. 单输入行生成多行输出
通常的示例是一行输入生成一行输出,但流式处理可针对每行输入生成多行输出,类似于 EXPLODE() UDF 和 LATERAL VIEW 语法。以下是具体操作步骤:
1. 准备输入文件 $HOME/kv_data.txt ,内容如下:
k1=v1,k2=v2
k4=v4,k5=v5,k6=v6
k7=v7,k7=v7,k3=v7
- 创建 Perl 脚本
$HOME/split_kv.pl:
#!/usr/bin/perl
while (<STDIN>
超级会员免费看
订阅专栏 解锁全文
3932

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



