Kir*_*ika 5 hadoop hive apache-pig
我想将pig输出插入到Hive表中(Hive中的表已经使用确切的模式创建).需要将输出值插入表中.我不想要通常的方法,其中我首先存储到一个文件,然后从Hive读取该文件,然后插入表中.我需要减少已经完成的额外跳跃.
可能吗.如果是这样,请告诉我如何做到这一点?
谢谢
好.在HDFS目录中的某处创建一个带有模式布局的外部配置单元表.让我们说
create external table emp_records(id int,
name String,
city String)
row formatted delimited
fields terminated by '|'
location '/user/cloudera/outputfiles/usecase1';
Run Code Online (Sandbox Code Playgroud)
只需创建一个如上所示的表,无需将任何文件加载到该目录中.
现在编写一个Pig脚本,我们读取某些输入目录的数据,然后在存储该Pig脚本的输出时使用如下所示
A = LOAD 'inputfile.txt' USING PigStorage(',') AS(id:int,name:chararray,city:chararray);
B = FILTER A by id > = 678933;
C = FOREACH B GENERATE id,name,city;
STORE C INTO '/user/cloudera/outputfiles/usecase1' USING PigStorage('|');
Run Code Online (Sandbox Code Playgroud)
确保Pigscript中最终FOREACH语句的目标位置和分隔符以及架构布局与Hive DDL架构匹配.
| 归档时间: |
|
| 查看次数: |
11194 次 |
| 最近记录: |