草庐IT

join_forum

全部标签

scala - 如何在hadoop中实现OR join(scalding/cascading)

只需将连接字段作为缩减键发送,就可以很容易地通过单键连接数据集。但是通过多个键连接记录(其中至少一个键应该相同)对我来说并不那么容易。示例我有日志,我想按用户参数对它们进行分组,我想通过(ipAddress,sessionId,visitorCockies)加入它们如果log1.ip==log2.ipORlog1.session=log2.sessionORlog1.cockie=log2.coockie,那么log1应该与log2分组。也许可以创建复合键或一些概率方法,如minHash...这可能吗? 最佳答案 问题是MapRed

sorting - Hadoop 在 Reduce Side Join 中按值排序

所以我只是在进行一些Hadoop培训,以了解这片土地的情况,并且我正在尝试进行reducesidejoin,我已经在运行,除了次要排序。所以基础知识:两个文件一个有球员,球队,薪水另一个有球员,球队,本垒打输出应该是球队,球员,薪水,本垒打纽约大都会队应该被划分到一个文件中,而所有其他蹩脚的球队应该被划分到另一个文件中。这些文件中的每一个都应按球队排序,其次按球员薪水排序。我正在使用团队keyplayerID加入并且有效,但我不知道我将如何按薪水排序,因为两个文件中只有一个有它。这是一项可能的任务还是只能通过map端连接来完成? 最佳答案

hadoop - 为什么 hive 不允许在 JOIN 子句中使用 >、>=,但您可以使用 JOIN ON IF(a > b, 1, 0) = 1 来绕过它?

只是想知道为什么Hive不允许在JOIN子句中使用>,>=条件,但您可以执行JOINONIF(a>b,1,0)=1来绕过它。如果性能不是问题,是否有时可以使用JOINONIF(a>b,1,0)=1? 最佳答案 因为:Hivedoesnotsupportjoinconditionsthatarenotequalityconditionsasitisverydifficulttoexpresssuchconditionsasamap/reducejob.来自HiveLanguageManuel

sql - Hive 支持 Join 条件下的子查询?

错误:编译语句时出错:失败:SemanticExceptioninencounteredwith0children(state=42000,code=40000)我是否需要找到一个解决方案来使子查询脱离on条件?select--abunchofstuffmin,max,sumandcasestatementsfromtbl0t0innerjointbl4t4on(t4.aKey=t0.aKey)leftouterjointbl1t1on(t0.col0=t1.col0andt1.someKeyin(selectt3.aKeyfromtbl3t3wheret3.someCodein('A

java - Hadoop:间隔和 JOIN

我是Hadoop的新手,我目前正在尝试加入两个数据源,其中键是interval(比如[date-begin/date-结尾])。例如:输入1:20091001-20091002A20091011-20091104B20080111-20091103C(...)输入2:20090902-20091003D20081015-20091204E20040011-20050101F(...)我想找到key1与key2重叠的所有记录。hadoop有可能吗?在哪里可以找到实现示例?谢谢。 最佳答案 映泰上给出了解决方案:http://biost

join - HiveQL 不等式连接

我知道HiveforHadoop不支持不等式连接。但是,我有一个似乎运行正常的查询。至于结果是否正确,我很怀疑,因为我有一个同事与我分享了这个结果,但他发现它没有产生正确的结果。这里是:selectfoo.id,count(foo.*)asfoo_vol,count(bar.*)asbar_volfromfooleftouterouterjoinbaronfoo.id=bar.idand(bar.f2in(x,y,z))=FALSEgroupbyfoo.id有人知道为什么这解释并运行正常吗?不平等连接的问题实际上与条件是否使用连接两侧的字段有关吗?FB/apache是否已确认此类查询将

hadoop - 当 mapred.job.shuffle.input.buffer.percent=0.70 时,pig join 在 reducer 中出现 OutOfMemoryError

我们正在一个小表和一个大倾斜表之间进行简单的pig连接。由于另一个错误(pigskewedjoinwithabigtablecauses"Splitmetadatasizeexceeded10000000"),我们无法使用"usingskewed":(如果我们使用默认的mapred.job.shuffle.input.buffer.percent=0.70我们的一些reducer在shuffle阶段会失败:org.apache.hadoop.mapred.Task:attempt_201305151351_21567_r_000236_0:Mapoutputcopyfailure:ja

hadoop - Union 和 Join 在 apache pig 中的结合

我在hdfs中有两个文件包含如下数据,File1:id,name,age1,x1,152,x2,143,x3,16文件2:id,name,grades1,x1,A2,x2,B4,y1,A5,y2,C我想产生以下输出:id,name,age,grades1,x1,15,A2,x2,14,B3,x3,16,4,y1,,A5,y2,,C我正在使用Apachepig执行操作,是否可以在pig中获得上述输出。这是一种Union和Join两者。 最佳答案 因为您可以在pig中进行联合和加入,所以这当然是可能的。无需深入研究确切的语法,我可以告诉

sql - Hive Join where != 不工作

在配置单元中,我正在使用两个表,每个表都有相同的字段。这个想法是我只想要表“一”中不在表“二”中的行。此时,我没有得到任何返回结果。表一id|categoryi_1|c_123i_1|c_234i_1|c_345i_1|c_456i_2|c_456表二id|categoryi_1|c_345这是我当前的代码(不返回任何行):selecta.id,a.categoryfromonealeftjointwobona.id=b.idwherea.category!=b.category;理想的结果应该是这样的:id|categoryi_1|c_123i_1|c_234i_1|c_456i_2

hadoop - (Spark) 当两个大的 rdd join 都对内存来说太大时(意味着不能使用广播),是否有任何可能的方法来优化它们?

作为标题。当两个大的rddjoin都对内存来说太大时,是否有任何可能的方法来优化它们?在这种情况下,我想我们不能将广播用于map端连接。如果我必须加入这两个rdd,并且它们都太大而无法容纳在内存中:country_rdd:(id,country)income_rdd:(id,(income,month,year))joined_rdd=income_rdd.join(country_rdd)有什么方法可以减少这里的洗牌吗?或者我可以做些什么来调整连接性能?此外,joined_rdd将仅按国家和时间进一步计算和减少,不再与id相关。例如:我的最终结果=不同国家不同年份的收入。这样做的最佳