首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mapreduce -如何匿名化列值

mapreduce -如何匿名化列值
EN

Stack Overflow用户
提问于 2013-07-20 19:54:22
回答 2查看 209关注 0票数 1

输入

代码语言:javascript
复制
1 - -  GET hm_brdr.gif 
2 - -  GET s102382.gif                ( "1", {"- -  GET hm_brdr.gif"})
3 - -  GET bg_stars.gif  map-reduce-> ( "2", {"- -  GET s102382.gif"}) 
3 - -  GET phrase.gif                 ( "3", {"- -  GET bg_stars.gif,"- -  GET phrase.gif"}) 

我想把第一列的值设为1,2,3.使用随机整数的匿名。但它不应该像一行中的1->x和另一行中的1->t一样进行更改。所以我的解决方案是用随机整数替换“key”(rand(1)=x,rand(2)=y.)在reduce步骤中,将这些值与它们的新密钥解组,然后再次写入文件,如下所示。

输出文件

代码语言:javascript
复制
x - -  GET hm_brdr.gif 
y - -  GET s102382.gif       
z - -  GET bg_stars.gif    
z - -  GET phrase.gif 

我的问题是,有没有更好的方法来运行时间?

EN

回答 2

Stack Overflow用户

发布于 2013-07-21 00:58:40

这不可能是MapReduce工作的瓶颈。更准确地说,作业的运行时由其他问题(网络和磁盘I/O等)主导。一个快速的按键功能?嗯。

但这甚至不是你提案中最大的问题。你的提案最大的问题是它注定要失败。关于钥匙的关键事实是什么?它们充当记录的唯一标识符。随机数生成器是否保证唯一性?No

实际上,假设您的随机密钥空间有365个可能的值。事实证明,如果您只生成23个随机密钥,则更有可能发生密钥冲突;欢迎使用birthday paradox。突然之间,你就失去了关键字的全部意义,因为你已经开始通过赋予两个不应该具有相同关键字的记录相同的关键字来将记录粉碎在一起!

你可能会想,我的密钥空间并不像365个可能的密钥那么小,它更像是2^32个可能的密钥,所以我是完全没有问题的。No。在大约77,000个关键点之后,您更有可能发生碰撞。

你的想法完全站不住脚,因为它不是适合这项工作的工具。您需要唯一的标识符。随机性不能保证唯一性。找一个不同的工具。

在您的例子中,您需要一个在您的输入键空间上为的函数(即,它保证如果为x != y,则为f(x) != f(y) )。你没有给我足够的细节来提出任何具体的建议,但这正是你正在寻找的。

认真地说,这个函数的性能不会成为一个问题。你的作业的运行时真的会完全被其他问题所支配。

编辑:

响应您的comment

在这里,我实际上正在尝试在日志文件中使ip号匿名,所以如果你认为有更好的方法,我将很乐意知道。

首先,我们这里有一个严肃的XY problem。你应该问搜索那个问题的答案。匿名IP地址,或任何类似的东西,是很难的。你甚至还没有告诉我们“解决方案”的标准(例如,谁是攻击者?)我建议您看看IT Security Stack Exchange站点上的这个answer

票数 0
EN

Stack Overflow用户

发布于 2013-07-21 01:47:47

如果你想给一个键值分配一个随机整数,那么你必须在一个reducer中完成这个任务,该键的所有key/value pairs都集中在一个地方。正如@jason指出的,你不想分配一个随机数,因为不能保证一个特定的随机数不会被选为两个不同的密钥。您可以做的就是递增一个计数器,该计数器在reducer上作为实例变量保存,以获得下一个与键关联的可用数字。如果您的数据量很小,那么可以使用单个缩减程序,并且这些数字将是唯一的。如果你不得不使用多个reducers,那么你需要一个稍微复杂一点的技术。使用

Context.getTaskAttemptID().getTaskID().getId()

来获取一个unique reducer number,用它计算每个键的整体唯一数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17762000

复制
相关文章

相似问题

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