使用 order by 在 Pig 中排序

标签 sorting hadoop apache-pig

您好,我是 Hadoop 和 Pig 的新手。 当我尝试在 pig 中使用 ORDER BY 对我的数据进行排序时,输出并不完全按升序排列。 输入:1,4,12,36,88,93,7 代码:

A = LOAD 'INPUT' using PigStorage();
B = ORDER A BY $0;`enter code here`
DUMP B;

输出:1,12,36,4,7,88,93 这不正确。请帮助我以正确的方式获取它。

最佳答案

您需要将列 $0 声明为数字,或使用强制转换。例如:

A = LOAD 'INPUT' using PigStorage() AS (a0:int, [extra columns here]);
B = ORDER A BY a0;
DUMP B;

否则,它本质上是作为字符串处理的。

关于使用 order by 在 Pig 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33056655/

相关文章:

python - 为给定特定列表的排序算法找到合理的计时测试

hadoop - 如何在HIVE中找到最长的时间

java - Hbase MasterNotRunningException 尽管 Hmaster、regionserver 和 Zookeeper 已启动

hadoop - 无法从 apache pig 中的 map 中提取值

hadoop - 使用 Apache Pig Latin 对数据进行条件求和

c++ - 在这种情况下最好的排序算法是什么?

arrays - 顺序排序算法

hadoop - avahi-daemon 应该在 hadoop 集群机器上运行吗?

performance - 如何强制 PigStorage 输出几个大文件而不是数千个小文件?

java - For 循环 & Thread.sleep