草庐IT

join_forum

全部标签

hadoop - Oozie 作业使用 fork 而不是使用 join

我正在创建一个工作流,我需要在其中fork3个独立执行的作业。我没有加入的必要。有什么办法可以在oozie中实现这一目标吗?必须使用fork加入吗?? 最佳答案 来自documentationTheforkandjoinnodesmustbeusedinpairs.Thejoinnodeassumesconcurrentexecutionpathsarechildrenofthesameforknode.'文档还指出,Oozie对fork的工作流执行一些验证,如果违反则不允许作业运行。但是,如果您想要这种行为,您可以禁用forkjo

hadoop - 为什么join和group by会影响spark中的数据shuffle量

我正在使用spark,我看到当一个查询有很多连接操作并且groupbyspark需要做很多洗牌操作。我一直在寻找信息为什么会发生这种情况,但我没有找到任何具体的信息。你能帮助理解这个吗? 最佳答案 Sparkshuffles只是在集群中移动数据。因此,任何需要分区中本地不存在的数据的转换都会执行洗牌。查看连接,每个分区都需要经过整个连接的df才能完成操作,因此完成了一个洗牌,基本上将连接的df移动到每个事件分区。groupbykey也会发生同样的事情,其中​​所有相同的键都需要在同一个分区中结束,以便随机播放将它们移到那里。如您所见

Hadoop 文件 split : CompositeInputFormat : Inner Join

我正在使用CompositeInputFormat为hadoop作业提供输入。生成的拆分数是作为CompositeInputFormat(用于连接)输入的文件总数。作业完全忽略block大小和最大分割大小(同时从CompositeInputFormat获取输入)。这会导致MapTasks长时间运行,并且由于输入文件大于block大小而使系统变慢。是否有人知道可以通过哪些方式管理CompositeInputFormat的拆分数量? 最佳答案 不幸的是,CompositeInputFormat必须忽略block/拆分大小。在Compos

join - Apache Hive 使用的默认 MapReduce 连接是什么?

Hive实现的默认MapReduce连接算法是什么?是Map-SideJoin、Reduce-Side、Broadcast-Join等吗?原始论文和Hivewiki中均未指定连接:http://cs.brown.edu/courses/cs227/papers/hive.pdfhttps://cwiki.apache.org/confluence/display/Hive/LanguageManual+Joins 最佳答案 “默认”连接将是随机连接,又名。作为共同加入。参见JoinOperator.java.它依赖于M/Rshuff

hadoop - Pig CROSS 与复制的 JOIN

我需要在Pig中进行非等值连接。我首先要尝试的是CROSS+filter:together=CROSSA,B;filtered=FILTERtogetherBY(JOINPREDICATE);但是,其中一个关系肯定小到可以放入内存。这让我想知道CROSS在Pig中是如何实际实现的。它可以进行“复制”交叉吗?如果没有,我可以这样做:small=FOREACHsmallGENERATE*,1ASkey:int;large=FOREACHlargeGENERATE*,1ASkey:int;together=JOINlargeBYkey,smallBYkeyUSING'replicated';

hadoop - 在 Hadoop Map/Reduce 中为多个映射器配置 Map Side join

我有一个关于在Hadoop中为多个映射器配置Map/Side内部连接的问题。假设我有两个非常大的数据集A和B,我使用相同的分区和排序算法将它们拆分成更小的部分。对于A,假设我有a(1)到a(10),对于B,我有b(1)到b(10)。确保a(1)和b(1)包含相同的key,a(2)和b(2)具有相同的key,依此类推。我想设置10个映射器,特别是映射器(1)到映射器(10)。据我了解,Map/Sidejoin是mapper之前的预处理任务,因此,我想为mapper(1)加入a(1)和b(1),加入a(2)和b(2)对于mapper(2),等等。看了一些引用资料,我还是不太清楚这十个map

join - 记录主动溢出到 Hadoop Pig 中?

我是Hadoop的新手,对我的pig脚本中的命令行消息很好奇。Totalrecordswritten:7676Totalbyteswritten:341396SpillableMemoryManagerspillcount:103Totalbagsproactivelyspilled:39Totalrecordsproactivelyspilled:32389322最终结果显示为“成功!”。我还是不确定。上面这些数字是什么意思?谢谢。 最佳答案 前两个显示了您的MR作业写入HDFS的总记录数/字节数。可能会发生,在MR作业期间,并非

hadoop - 在用 Java 编写 MR 代码时,如何决定何时使用 Map-Side Join 或 Reduce-Side?

在用Java编写MR代码时,如何决定何时使用Map-SideJoin或Reduce-Side? 最佳答案 Mapsidejoin在数据到达Map之前执行join。在map端加入数据之前,map功能需要一个强大的先决条件。这两种方法都有一些优点和缺点。Mapsidejoin与reduceside相比效率更高,但它需要严格的格式。先决条件:数据应以特定方式进行分区和排序。每个输入数据都应划分为相同数量的分区。必须使用相同的键排序。特定键的所有记录必须位于同一分区中。Reducesidejoin也称为Repartitionedjoin或R

hadoop - 为什么我的 BroadcastHashJoin 比 Spark 中的 Shuffle Hash Join 慢

我在Spark中使用javaHiveContext执行连接。大表是1,76Gb,有1亿条记录。第二个表是273Mb,有1000万条记录。我得到一个JavaSchemaRDD并在其上调用count():Stringquery="selectattribute7,count(*)fromft,dtwhereft.chiavedt=dt.chiavedtgroupbyattribute7";JavaSchemaRDDrdd=sqlContext.sql(query);System.out.println("count="+rdd.count());如果我强制执行broadcastHashJo

sql - Hadoop Hive 查询 : Multi-join

如何在Hive中进行子选择?我想我可能犯了一个非常明显的错误,但对我来说并不那么明显......我收到的错误:失败:解析错误:第4:8行无法识别表达式规范中的输入“SELECT”这是我的三个源表:aaa_hit->[SESSION_KEY,HIT_KEY,URL]aaa_event->[SESSION_KEY,HIT_KEY,EVENT_ID]aaa_session->[SESSION_KEY,REMOTE_ADDRESS]...我想做的是将结果插入到结果表中,如下所示:result->[url,num_url,event_id,num_event_id,remote_address,