将PIg的MultiStorage用于嵌套结构

时间:2016-06-07 06:55:41

标签: hadoop apache-pig

假设我有以下记录集(存储为镶木地板):

01, John, 250
01, John, 260
01, Daniel, 300
01, Daniel, 400
02, John, 250
02, John, 260
02, Daniel, 300
02, Daniel, 400

如何使用Pig创建此嵌套文件夹结构

-- 01
-- * Daniel
-- * John 
-- 02
-- * Daniel 
-- * John

我知道我可以使用

MultiStorage('output/pig_results', '0', 'none', ',');

用于通过第一列动态拆分数据,但如何将数据动态拆分两列? 此外,当我使用MultiStorage时,输出是在csv中,我想保存我的实木复合地板存储

1 个答案:

答案 0 :(得分:0)

您可以创建一个由两个第一列分区的Hive表,并使用您的pig脚本插入数据,您将以这种方式获取目录:

-- a=01/
----- b=Daniel/
----- b=John/
-- a=02/
----- b=Daniel/ 
----- b=John/

请注意,以上所有内容都是目录,文件可能位于b=Danielb=John