草庐IT

去重复

全部标签

validation - 使用 Kafka 和 Hadoop 进行数据摄取——如何避免质量检查失败导致的数据重复?

这是一个简化的场景:N个业务流程需要来自同一来源的相同原始数据。数据使用Kafka(正常的Kafka管道)提取并登陆HDFS,在HDFS中,每个流的原始数据都会触发自动质量检查流。所有N个流可能具有不同的数据质量标准。例如,他们可能需要在将原始数据转换为所需模式时将不同格式的日期和时间应用于原始数据。处理未能满足业务流程质量测试的KPI的最佳方法是什么?选项是:全部失败-通知源数据提供者并等待修复数据。然后重新摄取并运行所有N组质量检查。创建一个分支——意味着N个业务流中的K个没有通过质量检查将等待他们的固定数据集,而通过的N-K将适用于当前数据集。标记未通过某些业务流程质量检查的条目

hadoop - QueryDatabaseTable Nifi 处理器从 mysql 数据库中获取重复行

QueryDatabaseTable在2节点集群上两次从Mysql表中获取行。当执行设置被配置到所有节点时,抓取过程本身不会被分发。每个节点获取相似的数据,这不是我需要的理想输出。换成主节点也能正常工作,但是一个节点承担了整个获取数据的过程,这就违背了分布式计算的意义。有解决方法吗? 最佳答案 QueryDatabaseTable设计为仅在主节点上运行一个任务,它只执行一次提取,不是分布式解决方案。对于集群中的并行/分布式抓取,您需要以下内容:GenerateTableFetch->RemoteProcessGroup->输入端口-

sql - 使用 PARTITION BY (HIVE) 时如何过滤掉组中的重复元素

假设我有下表(动物):**Color****Species****Weight**WhiteDog20WhiteDog8WhiteDog33BlackDog55BrownDog80WhiteCat10BlackCat14WhiteCat9我想按物种分组,过滤每个物种内的独特颜色,并为每个过滤组找到两种最亮的动物。生成的表格应如下所示:**Color****Species****Weight**WhiteDog8BlackDog55WhiteCat9BlackCat14我正在使用以下查询(我知道这是不正确的):SELECTcolor,species,weightFROM(SELECTsp

hadoop - Sqoop 导出插入重复条目

我想了解sqoop导出的工作原理。我在mysql中有一个表站点,其中包含两列id和url,并且包含两行1,www.yahoo.com2,www.gmail.com表没有主键当我通过执行以下命令将条目从HDFS导出到mysql站点表时,它会插入重复的条目我在HDFS中有以下条目1,www.one.com2,www.2.com3,www.3.com4,www.4.comsqoopexport--tablesite--connectjdbc:mysql://localhost/loudacre--用户名训练--密码训练--export-dir/site/--update-modeallowi

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