【发布时间】:2014-05-06 22:41:59
【问题描述】:
我需要在 Pig 中加载某个分区(日期)的数据。此数据是在 Hive 中创建的,并按日期进行分区。所以我想通过 HCatalog 在 Pig 中加载数据。
HCatalog 文档说要在 Pig 中加载某个分区,首先要加载整个数据集,然后对其进行过滤,即:
a = load 'web_logs' using org.apache.hcatalog.pig.HCatLoader();
b = filter a by datestamp > '20110924';
https://cwiki.apache.org/confluence/display/Hive/HCatalog+LoadStore 但恐怕这首先将 整个 数据加载到包 a 中,然后只在 b 中过滤。 我是对还是错?
在 Hive 中这有效(没有 HCat),您可以修剪数据以获得您想要的分区,即:
LOAD DATA INPATH 'filepath' INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
在带有 HCatalog 的 Pig 中这个构造的等价物是什么?
谢谢!
【问题讨论】:
标签: apache-pig hcatalog