首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按Python元组进行数值排序的MapReduce

按Python元组进行数值排序的MapReduce
EN

Stack Overflow用户
提问于 2016-05-02 05:57:08
回答 1查看 1K关注 0票数 0

我正在使用Python元组,并且有一个文本文件,如下所示

代码语言:javascript
复制
(1,value1)
(2,value2)
(3,value3)
...
(100,value100)

如何将MapReduce作业配置为按元组中的第一个键作为整数进行排序?

我的reduce作业需要输出一个有序的元组列表,所以我不想开始用制表符替换括号和逗号。这将是一个痛苦的转换回元组。

我使用以下参数从bash运行我的hadoop作业:

代码语言:javascript
复制
hadoop jar /usr/local/Cellar/hadoop/2.*/libexec/share/hadoop/tools/lib/hadoop-streaming-2*.jar 
-D mapreduce.job.output.key.comparator.class=org.apache.hadoop.mapred.lib.KeyFieldBasedComparator
-D mapreduce.partition.keycomparator.options=-n 
-reducer reducer.py 
-input tuples.txt
-output sortedtuples

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-05-02 06:26:58

如果您的值是整数,则可以使用eval函数来避免删除/转换任务。以下是您想要的工作示例:

代码语言:javascript
复制
f = open('sourceFile.txt')
L = f.readlines() 
f.close()
MyList = sorted( map(eval,L) , key=lambda x: x[0])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36972430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档