草庐IT

sort_value

全部标签

sorting - 在向 Hadoop 中的 reducer 发送数据时如何实现负载平衡

我们知道,在hadoop的复制阶段,每个reduceworker进程从所有mapper节点读取数据并对已经排序的数据执行合并(在mapper端的内存排序期间排序)和研究他们的key份额和他们的值(value)。现在,我们也知道,所有对应于一个特定的数据只会去到一个reducer。我的问题是:数据拆分如何传输到reducer,即分区大小是如何决定的,以及它是由什么过程决定的,因为数据是使用拉机制而不是推机制传输的。一个有趣的挑战是确定数据的总体大小,因为数据驻留在多个节点上(我猜作业跟踪器/主进程可能知道所有节点的数据大小和位置,但我也不确定)。如果数据高度倾斜并且其中大部分属于有10个

hadoop - 如何使用具有 ((key1,value),(key2,value)) 模式的 Apache Spark 查找键的所有值的总和

我有一个数据集如下-ABC(a,c,30)(a,b,20)(b,c,10)(c,d,1)现在我需要处理上述数据以获得如下输出-A列中的任何键都将乘以C的2倍B列中的任何键都将乘以C的3倍所以这里的预期输出将是-a100=30*2+20*2b80=20*3+10*2c122=30*3+10*3+1*2d3=1*3我可以像下面这样写-valx=sc.parallelize(List(("a","b",20),("b","c",10),("a","c",30),("c","d",1)))valmyVal=x.map({case(a,b,c)=>((a->2*c),(b->3*c))})myV

sorting - 排序(Order by)在Hive中是如何实现的?

我们知道hive在排序作业开始之前不做采样,它只是利用MapReduce的排序机制,在reduce端进行merge-sort,只使用一个reduce,因为reduce收集mapper输出的所有数据在这种情况下,假设一台运行reduce的机器只有100GB的磁盘,如果数据太大而无法放入磁盘怎么办? 最佳答案 Hive的并行排序机制还在开发中,见here.设计良好的数据仓库或数据库应用程序将避免这种全局排序。如果需要,请尝试使用Pig或Terasort(http://hadoop.apache.org/common/docs/curre

sorting - Hadoop 流排序

任何人都可以帮助解决这个hadoop流式排序问题吗?感谢您提前提出任何建议。我是Hadoop新手,需要对500GB制表符分隔的文本文件实现排序功能。下面是一个示例输入,一行中有3个字段,如READA14chr1450989。这里我需要按第2列和第3列进行数字排序,除非我将reducers的数量设置为1,否则我永远不会得到正确的排序结果。示例输入:READA14chr1450989READB18chr18517043READC22chr2288345READD10chr10994183READE19chr19232453READF20chr2042912READF9chr9767396R

hadoop - Pig Latin - 从不同的袋子中增加值(value)?

我有一个文件max_rank.txt包含:1,a2,b3,c和第二个文件max_rank_add.txt:def我的预期结果是:1,a2,b3,c,4,d,5,e6,f所以我想为第二组值生成RANK,但从大于第一组最大值的值开始。脚本的开头可能是这样的:existing=LOAD'max_rank.txt'usingPigStorage(',')AS(id:int,text:chararray);new=LOAD'max_rank_add.txt'usingPigStorage()AS(text2:chararray);ordered=ORDERexistingbyiddesc;lim

java - @size(max = value) 与 @min(value) 和 @max(value) 之间的区别

我想做一些域验证。在我的对象中,我有一个整数。现在我的问题是:如果我写@Min(SEQ_MIN_VALUE)@Max(SEQ_MAX_VALUE)privateIntegersequence;和@Size(min=1,max=NAME_MAX_LENGTH)privateIntegersequence;如果是整数,哪一个适合域验证?谁能解释一下它们之间有什么区别?谢谢。 最佳答案 @Min和@Max用于验证数字字段,可以是String(表示数字)、int、short、byte等以及它们各自的原始包装器。@Size用于检查字段的长度限

java - @size(max = value) 与 @min(value) 和 @max(value) 之间的区别

我想做一些域验证。在我的对象中,我有一个整数。现在我的问题是:如果我写@Min(SEQ_MIN_VALUE)@Max(SEQ_MAX_VALUE)privateIntegersequence;和@Size(min=1,max=NAME_MAX_LENGTH)privateIntegersequence;如果是整数,哪一个适合域验证?谁能解释一下它们之间有什么区别?谢谢。 最佳答案 @Min和@Max用于验证数字字段,可以是String(表示数字)、int、short、byte等以及它们各自的原始包装器。@Size用于检查字段的长度限

hadoop - Apache 纳奇 2.3 : throwing Error Failed with exit value 255

我使用的是apachenutch2.3版本。我的hadoop版本是2.6.0。Hadoop在单节点上运行。当我按照nutch的命令运行时./crawl--index~/test/seed~/test-1上述命令的输出如下。InjectorJob:startingat2016-01-0412:03:26InjectorJob:InjectingurlDir:--indexInjectorJob:Usingclassorg.apache.gora.memory.store.MemStoreastheGorastorageclass.InjectorJob:org.apache.hadoop

hadoop - HDP : How to change HADOOP_CLASSPATH value

根据这篇故障排除文章,我需要向HADOOP_CLASSPATH环境变量添加一个值:https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.2/bk_installing_manually_book/content/troubleshooting-phoenix.html当我在控制台中键入echo$HADOOP_CLASSPATH时,我得到一个空结果。我想我需要在config.xml文件中设置这些值...在哪里或如何将这个新值设置为环境变量?我可以在spark-submit中设置吗? 最佳答案

java - Hadoop,mapreduce java.io.IOException : Type mismatch in value from map: expected org. apache.hadoop.io.Text,收到 org.apache.hadoop.io.IntWritable

我正在尝试使用两个映射器和一个缩减器。我收到以下错误:我想组合几个键,我希望得到基于每个键的求和输出。我不知道哪一部分是错的。如果您能为我的代码找到一些错误,我们将不胜感激。java.io.IOException:Typemismatchinvaluefrommap:expectedorg.apache.hadoop.io.Text,recievedorg.apache.hadoop.io.IntWritableatorg.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:896)atorg.apache