草庐IT

重复性

全部标签

java - 使用 hadoop reducer 在将批量写入操作写入 mongodb 时检查重复记录

我正在使用hadoopmap-reduce来处理XML文件。我直接将JSON数据存储到mongodb中。如何实现在执行BulkWriteOperation之前只将不重复的记录存储到数据库中?重复记录标准将基于产品图片和产品名称,我不想使用吗啡层,我们可以在其中为类成员分配索引.这是我的reducer类:publicclassXMLReducerextendsReducer{privatestaticfinalLoggerLOGGER=Logger.getLogger(XMLReducer.class);protectedvoidreduce(Textkey,Iterablevalues

Hadoop/Hive Collect_list 没有重复项

根据帖子,Hive0.12-Collect_list,我试图找到Java代码来实现一个UDAF,它将完成这个或类似的功能,但没有重复序列。例如,collect_all()返回一个序列A,A,A,B,B,A,C,C我想要返回序列A,B,A,C。依次重复的项目将被删除。有没有人知道Hive0.12中的函数将完成或已经编写了他们自己的UDAF?一如既往,感谢您的帮助。 最佳答案 我前一段时间遇到了类似的问题。我不想写一个完整的UDAF所以我只是用brickhousecollect做了一个组合和我自己的UDF。假设你有这些数据idvalue

java - 如何多次重复 map/reduce 任务?

为了多次重复同一个map/reduce任务,我应该把循环放在哪里?我知道它应该在主程序中,我不知道它应该在runJob附近还是其他地方? 最佳答案 这是一个很好的例子来做你想做的事情,摘自ThomasJungblut'sawesomeblog这是我前段时间看到的:while(counter>0){//reusetheconfreferencewithafreshobjectconf=newConfiguration();//setthedepthintotheconfigurationconf.set("recursion.dept

hadoop - 如何在配置单元中编写自连接查询以避免自定义重复

我需要通过从具有模式项、值的表中匹配的值来获取项对。我可以通过自连接来实现它,但我得到了如下所示的重复值ItemValue---------------item1value1item2value1item3value3item4value2当我使用distinct进行self连接时,我得到的值如下Item1Item2Value------------------------item1item2value1item2item1value1但对我来说,上面的行是重复的,只需要其中一个。我怎样才能做到这一点?感谢您的关注和帮助。注意:由于我在此要求中对重复项有自己的定义,因此我在问题中将其称

hadoop - 在 PIG 中添加重复列

我有这样一些值(value)观,tEn1teN8Ten1thrEE2tHRee1如何添加第2列并为第1列中的所有不区分大小写的重复项生成此列?ten10three3我试过使用GROUP,tmp=GROUPdataBY(column1);result=FOREACHtmpGENERATEgroup,SUM(data.column2)ascount但不知何故,它似​​乎没有给出正确的结果。我该怎么办? 最佳答案 字符串区分大小写。您需要先将它们全部设为小写,以便它们匹配lowerdata=FOREACHdataGENERATELOWER

hadoop - 在 Hive 表中插入覆盖分区 - 值重复

我创建了一个包含非分区表的Hive表,并使用选择查询将数据插入到分区Hive表中。Referedsite通过上面的链接,我的分区表包含重复值。以下是设置这是我的示例员工数据集:link1我尝试了以下查询:link2但是在更新Hive表中的值之后,将EmployeeID为19的Steven的薪水更新为50000。INSERTOVERWRITETABLEUnm_Parti_TrailPARTITION(Department='A')SELECTemployeeid,firstname,designation,CASEWHENemployeeid=19THEN50000ELSEsalaryE

java - 删除两个重复行

同事们好。我有一个大数据集(大约237000000行)。有很多列。例如,我需要删除列名称为userId、VTS的所有重复项。userIdVtsmoreColumn1moreColumn21015023-delete11160161015001-delete我不擅长SQL。尝试了来自Internet的不同变体,但它不起作用。更新:需要答案!我忘了说我用的是java。有我为java优化的代码:viewingDataset.groupBy("userId","VTS").count().where("count=1").drop("count").join(viewingDataset,Ja

java - 方法 cancel() 和方法 interrupt() 是否做重复工作?

我阅读了org.apache.nutch.parse.ParseUtil.runParser(Parserp,Contentcontent)的源代码。这两个方法调用是否做同样的事情:说明1:t.interrupt();说明2:task.cancel(true);org.apache.nutch.parse.ParseUtil.runParser(Parserp,Contentcontent)的来源是:ParseCallablepc=newParseCallable(p,content);FutureTasktask=newFutureTask(pc);ParseResultres=nu

hadoop - 重复键过滤

我正在寻找一种分布式解决方案来实时筛选/过滤大量key。我的应用程序每天生成超过1000亿条记录,我需要一种方法来从流中过滤重复项。我正在寻找一个系统来存储滚动10天的key,每个key大约100字节。我想知道在使用Hadoop之前如何解决这种类型的大规模问题。HBase是正确的解决方案吗?有没有人尝试过像Zookeeper这样的部分内存解决方案? 最佳答案 我可以看到许多解决您问题的方法,但实时要求确实缩小了范围。您所说的实时是指您想要查看key在创建时是否重复?让我们谈谈每秒的查询数。你说100B/天(很多,恭喜!)。那是每秒1

如何在ViewModel上创建一个可变长度下拉列表,而不重复C#中的代码?

我是新手开发人员,我需要填充带日期的下拉列表,以便可以由网站访问者选择它们以检索某些数据。该列表是不寻常的,因为从上个月到一年前,它必须向后填充。因此,上个月将是列表中的第一个条目,并将下个月每个月。例如,如果今天是2017年7月5日,下拉列表将看起来像:Jun2017May2017Apr2017Mar2017Feb2017Jan2017Dec2016andsoon...每个月列表都会更长,因此我无法将固定长度编码到列表中。我想出了以下代码,但不会构建:[RequireLogin]publicActionResultIndex(){boolfirstItem=true;intx=-1;inty