gpt4 book ai didi

hadoop - 如何将数据分类到 Pig 中的 Zebra 表中?

转载 作者:可可西里 更新时间:2023-11-01 17:01:17 24 4
gpt4 key购买 nike

我正在尝试使用 TableStorer 将未排序的数据从 CSV 存储到 Pig 中的 Zebra 表中。我是否需要在存储之前执行 ORDER BY 以确保它已排序和/或我是否需要将一些信息传递给 TableStorer 以指示排序字段?

最佳答案

根据文档:Zebra and Pig在排序数据部分:

Pig 允许您按升序或降序对数据进行排序(有关更多信息,请参阅 Pig reference manual)。目前,Zebra 支持按升序排序的表格。 Zebra 不支持按降序排列的表格;如果Zebra遇到要存储的表是按降序排序的,Zebra会发出警告并将该表存储为未排序的表。

因此,如果您想按降序保存数据,最好在 pig 脚本中对数据元组进行排序,然后将它们存储到 Zebra 表中。在任何时候,Pig 中的数据都是值的集合。通过执行简单的 ORDER BY,数据可以在保存/存储到目的地之前始终进行排序。

示例:

A = LOAD 'data' AS (a1:int,a2:int,a3:int);

DUMP A;
(1,2,3)
(4,2,1)
(8,3,4)
(4,3,3)
(7,2,5)
(8,4,3)

在此示例中,关系 A 按第三个字段 f3 降序排序。请注意,以 3 结尾的三个元组的顺序可能会有所不同。

X = ORDER A BY a3 DESC;

DUMP X;
(7,2,5)
(8,3,4)
(1,2,3)
(4,3,3)
(8,4,3)
(4,2,1)

STORE X INTO 'output' USING org.apache.hadoop.zebra.pig.TableStorer('');

关于hadoop - 如何将数据分类到 Pig 中的 Zebra 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23785757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com