草庐IT

Write-Output

全部标签

哈多普 : reduce output records=0

我正在用2个映射器类和一个化简器编写MapReduce代码,但我不知道为什么我有一个化简输出记录=0。请告诉我如何解决这个问题packagereducesidejoin;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduce.Reducer;importjava.io.IOException;importjava.util.Iterator;publicclassReduceSideJoinReducerextendsReducer{

hadoop - sqlContext.read...load() 和 sqlContext.write...save() 代码在 Spark Cluster 上运行在哪里?

我正在使用SparkDataframeAPI从NFS共享加载/读取文件,然后将该文件的数据保存/写入HDFS。我有一个包含一个主节点和两个工作节点的三节点Spark集群。我的Spark集群使用YARN作为集群管理器,因此两个工作节点是YARNNodeManager节点,主节点是YarnResourceManager节点。我有一个远程位置,比如/data/files,它安装到所有三个YARN/SPARK节点,因为它是[/data/files],其中存在我想要读取的所有csv文件[多个]从并最终写入HDFS。我在我的主节点上运行以下代码importjava.io.Fileimportorg

java - MAPREDUCE 错误 : method write in interface TaskInputOutputContext<KEYIN, VALUEIN、KEYOUT、VALUEOUT> 无法应用于给定类型

packagebr.edu.ufam.anibrata;importjava.io.*;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Iterator;importjava.util.List;importjava.util.StringTokenizer;importjava.util.Arrays;importjava.util.HashSet;importorg.apache.commons.lang.StringUtils;importorg.apache.hadoop.conf.Co

java - 在 Hadoop 中使用 context.write() 或 outputCollector.collect() 写入输出的成本?

我刚刚开始学习Hadoop,并且仍在尝试和尝试理解事物,我真的很好奇OutputCollector类collect()方法的用法,从现在开始我找到的所有示例都只调用此方法一次。如果这种方法的调用成本真的很高(因为它正在将输出写入文件)?在考虑不同的场景时,我遇到了我发现需要不止一次调用它的情况。同样明智的是下面是给定的代码片段publicstaticclassReduceextendsMapReduceBaseimplementsReducer{publicvoidreduce(IntWritablekey,Iteratorvalues,OutputCollectoroutput,Re

hadoop - Apache hive : LOAD DATA vs INSERT OVERWRITE OUTPUT FILE SIZE

我正在使用ApacheHive,我不明白为什么如果我使用INSERTOVERWRITE与LOAD加载数据,表的大小会加倍。问题说明如下:我创建了一个表项从item.dat加载数据(大约28MB)在Azure中发生的是文件item.dat将被移动到hive/warehouse并且当然大小保持不变现在,如果我创建另一个与item相同的表item2,然后使用以下命令将数据从item加载到item2:INSERTOVERWRITETABLEitem2SELECT*FROMitem表item2的大小是item的两倍(大约55MB)为什么会这样?有什么办法可以避免吗?附言。这只是为了说明问题。在实

import - HBase 导出/导入 : Unable to find output directory

我正在为我的应用程序使用HBase,我正在尝试使用org.apache.hadoop.hbase.mapreduce.Export导出数据,因为它是指示here.我面临的问题是,一旦执行了命令,创建导出时就没有错误。但是指定的输出目录并没有出现在它的位置。我使用的命令是$bin/hbaseorg.apache.hadoop.hbase.mapreduce.Exporttable_namedb_dump/ 最佳答案 我得到了解决方案,因此我正在回复我自己的答案hadoop的conf目录下的hadoop-env.sh必须有如下两行exp

hadoop - Java 映射减少 : how to store a list of LONGs in Hadoop Output

我有一个MapReduceJava程序,它输出一个数字列表作为String作为最终输出。但是数量比较长,占用空间太大。我想将每个数字转换为Long并存储。我怎样才能做到这一点? 最佳答案 ArrayWritable可以扩展为publicclassLongArrayWritableextendsArrayWritable{publicLongArrayWritable(){super(Text.class);}publicLongArrayWritable(LongWritable[]values){super(LongWritabl

mongodb - "ERROR 6000, Output location validation failed"在 EMR 上使用 PIG MongoDB-Hadoop 连接器

我在EMR上的pig脚本中收到“输出位置验证失败”异常。将数据保存回S3时失败。我使用这个简单的脚本来缩小问题范围:REGISTER/home/hadoop/lib/mongo-java-driver-2.13.0.jarREGISTER/home/hadoop/lib/mongo-hadoop-core-1.3.2.jarREGISTER/home/hadoop/lib/mongo-hadoop-pig-1.3.2.jarexample=LOAD's3://xxx/example-full.bson'USINGcom.mongodb.hadoop.pig.BSONLoader();S

hadoop - Shuffle write 大和 spark task 变得超慢时的优化

有一个SparkSQL将连接4个大表(前3个表5000万,最后一个表2亿)并进行一些分组操作,消耗60天的数据。并且此SQL将需要2小时才能运行,在此期间,我检查到ShuffleWrite正在急剧增加,可能会超过200GB。相比之下,当我将消耗日期范围从60天减少到45天时,运行只需要6.3分钟。我查看了DAG图,对于45天的数据,它在最后一次sortMergeJoin之后输出了10亿条数据。谁能告诉我我可以从哪个方向优化这个场景?谢谢!附言可能的相关信息:Spark.version=2.1.0spark.executor.instances=20spark.executor.memo

java - 可以覆盖 ReduceContext 中的 context.write() 方法吗?

使用0.20.2...是否可以覆盖ReduceContext中的context.write()方法?我有一整套Reducers,我希望在每个context.write()之前都使用一个特定的函数,但我不想让他们担心这个逻辑,只是为了处理它透明地。例如:Iteratorvit=values.iterator();if(trans2!=null){key=(Text)trans2.transform(key);}while(vit.hasNext()){Textitem=vit.next();if(trans1!=null){item=(Text)trans1.transform(item