繁体   English   中英

Pig:从配置单元表获取数据并将分区添加为列

[英]Pig: get data from hive table and add partition as column

我有一个分区的Hive表,我想在Pig脚本中加载该表,并希望将分区也添加为列。

我怎样才能做到这一点?

Hive中的表定义:

CREATE EXTERNAL TABLE IF NOT EXISTS transactions
(
column1 string,
column2 string
)
PARTITIONED BY (datestamp string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION '/path';

猪脚本:

%default INPUT_PATH '/path'

A = LOAD '$INPUT_PATH'
         USING PigStorage('|')
         AS (
         column1:chararray, 
         column2:chararray,
         datestamp:chararray  
         );

datestamp列未填充。 为什么会这样呢?

对不起,我还没有说将分区添加为列的部分。 创建分区键后,其行为就像常规列一样。 您到底需要什么?

而且您是直接从给定的HDFS位置而不是作为Hive表加载数据。 如果打算使用Pig从Hive表加载数据/将数据存储到Hive表中,则应使用HCatalog

例如 :

A = LOAD 'transactions' USING org.apache.hcatalog.pig.HCatLoader();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM