草庐IT

store_context

全部标签

java - 传递给 Mapper 函数(setup、map、run、cleanup)的 Context 是否始终相同?

传递给设置、映射、运行、清理的上下文是否相同映射器?会不会有不一样的情况?能否将上下文作为设置中的成员字段?Mapper 最佳答案 是的,在相同映射器中,它是setup()中的同一个上下文对象。,map()和cleanup().如您所见,这些方法是从run()中调用的,该方法如下所示:publicvoidrun(Contextcontext)throwsIOException,InterruptedException{setup(context);while(context.nextKeyValue()){map(context.g

java - PIG : Cannot cast java. lang.String to org.apache.avro.util.Utf8 with AvroStorage inside STORE

我正在使用ApachePIG来减少最初以CSV格式存储的数据,并希望以Avro格式输出。我的PIG脚本的一部分调用了一个javaUDF,它将一些字段附加到输入元组并将修改后的元组传回。执行此操作时,我正在修改输出、PIG、架构:SchemaoutSchema=newSchema(input).getField(1).schema;SchemarecSchema=outSchema.getField(0).schema;recSchema.add(newFieldSchema("aircrafttype",DataType.CHARARRAY));在我的UDF的publicSc​​hem

hadoop - 哪里可以找到hadoop中Context的API的详细信息?

我编写了一些常规的HadoopMapReduce作业,因此仅根据给定的ApacheHadoop源代码中的一些示例调用context.write()方法。但是这样的复制并不能帮助我更深入地理解HadoopAPI。因此,最近我开始更仔细地阅读HadoopAPI文档(https://hadoop.apache.org/docs/r2.7.0/api/),并试图弄清楚Context中除了context.write()之外还有没有其他方法。例如,在teragen示例中,使用了context.getCounter()。但令我惊讶的是,我无法从上面的链接中找到Context类文档。我在哪里可以找到h

java - cleanup(context) 方法有什么作用?

我不明白Hadoop中的清理方法到底是做什么的,它是如何工作的?我有以下Map-Reduce代码来计算一堆数字的最大值、最小值和平均值。publicclassStatistics{publicstaticclassMapextendsMapper{publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{/*codetocalculatemin,max,andmeanfromamongabunchofnumbers*/}publicvoidcleanup(C

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

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

hadoop - Apache pig : How to load a sequence file which is stored in hdfs?

我的序列文件直接存储在hdfs例如:grunt>lsgrunt>ls/blablahdfs://namenode1:54310/blabla/0411f03a-db7f-48d0-9542-5203304e3e81.seq185284523hdfs://namenode1:54310/blabla/05be8fc0-e967-42e1-b76a-0d7108a69d17.seq201489688hdfs://namenode1:54310/blabla/06222427-519c-49c0-bbbf-49a9f43bbd13.seq196858576hdfs://namenode1:5

hadoop - 在您的实现中是否有人覆盖了 Mapper run(Context) 方法?

https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapreduce/Mapper.html#method.summaryrun(Context)org.apache.hadoop.mapreduce.Mapper方法a).ExpertuserscanoverridethismethodformorecompletecontrolovertheexecutionoftheMapper.目前run(Context)方法的默认行为是什么。如果我重写run(Context),根据文档会得到什么样的特殊控制?是否有人在您的

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

java - Hadoop MapReduce : Strange Result when Storing Previous Value in Memory in a Reduce Class (Java)

如果我希望存储迭代器的当前值以与Reduce方法中迭代器的下一个值进行比较,Hadoop要求我克隆它而不是简单地将其引用分配给临时变量。我要将代码发布到我的reducer。你会看到两部分:Eclipse中测试的主要方法在Hadoop中执行的reduce方法你会注意到这两行代码是相同的,除了以下几点:main方法从我硬编码到其中的ArrayList获取Iterator,而reduce方法从mapper方法获取Iterator。main方法当然不会执行context.write。这是两者几乎共享的代码:MMIcurrentMMI=null;MMIpreviousMMI=null;Ultra

java - Hive 流和 Azure Data Lake Store 的问题

我正在编写一个Play2JavaWeb应用程序以使用HiveStreamingAPI(https://cwiki.apache.org/confluence/display/Hive/Streaming+Data+Ingest)将数据提取到HDInsight交互式查询。Hive数据存储在AzureDataLakeStore中。我松散地基于https://github.com/mradamlacey/hive-streaming-azure-hdinsight/blob/master/src/main/java/com/cbre/eim/HiveStreamingExample.java