当前位置: 首页 > 知识库问答 >
问题:

HBase chain MapReduce作业,将较小的表广播给所有映射器

汪阳飇
2023-03-14

我正在尝试编写一个关于HBase表中存在的数据的链接MapReduce作业,需要一些关于这个概念的帮助。我并不期望人们通过伪代码来提供代码,因为基于HBase的Java API会很好。

简单来说,我想做的是,

共有1个答案

施晗日
2023-03-14

好吧,这听起来可能很愚蠢,但如果我们有一个非常小的表来查询,我们可能可以使用HBase Java API读取值(即使是在MapReduce作业中),然后将它们存储在静态变量中。这样,每个映射器只需读取这些值一次,开销也不会太大。

 类似资料:
  • 我有一系列Map/Reduce作业: Job1将带有时间戳的数据作为键,将一些数据作为值并对其进行转换。 对于Job2,我需要传递Job1中所有映射器的最大时间戳作为参数。(我知道如何将参数传递给映射器/简化器) 我可以跟踪Job1的每个映射器中的最大时间戳,但如何在所有映射器中获得最大时间戳并将其作为参数传递给Job2呢?

  • 我有个问题。我在enter中得到了一个csv,其值如下: 该文件的名称类似于:AB01_TEST_ABDC_YYYYMMDd.csv 我需要把它们放到一张地图上,就像: Bar是csv中一行的bean,Foo是由Bar的一些元素创建的bean 现在,我成功地通过CSV的第一列值将列表拆分为一个映射。这给了: 我是这样做的: baz必须被csv的第一列和每个第一列值的行的itération拆分。因为

  • 我正在使用火花加入我从azure存储和从eventhub获取的流式数据集获取的静态数据集。我没有在任何地方使用广播连接。我在加入后尝试了df.explain(),它显示sortmer连接正在发生。我不确定为什么我会收到与Broadcast Hash连接相关的错误。 Spark会广播它从活动中心得到的一切吗? 我的程序就是这样的 更新:看起来JVM内存不足错误,与广播无关。https://issue

  • 问题内容: 在具有有线和无线接口(例如192.168.1.x和192.168.2.x子网)的Linux系统上,我要发送UDP广播,该广播通过所有可用接口(即通过有线和无线接口)发送)。 当前,我将sendto()发送到INADDR_BROADCAST,但是似乎广播仅通过其中一个接口发送(并不总是相同的,后续广播可能使用另一个接口)。 有没有一种方法可以发送通过每个接口发送的UDP广播? 问题答案:

  • java.util.concurrent.executionException:java.lang.ClassCastException:com.hazelCast.mapreduce.aggregation.impl.DistrictValuesAggregation$SimpleEntry不能在com.hazelCast.mapreduce.impl.task.trackableJobFutu