草庐IT

map_region

全部标签

Java Map Reduce 从不同格式读取 - Avro、文本文件

我有几个Hive表,其中一些是Avro格式,一些是纯文本文件。模式略有不同,但都包含我需要的某些属性。我打算编写一个mapreduce作业来处理数据。问题是我正在努力避免大量单独的工作,并尽可能地简化流程。祈祷我只需要写一份工作。是否有任何示例说明如何在一个映射器中读取不同格式的输入。例如,我在AVRO中有一个我知道的hdfs路径,我还有另一个hdfs路径,其中数据位于纯文本文件中。//Pseudocodemapper(Paths){for(PathinPaths){ifPath.containsAvro(){...readasavro}else{...readastextfile}.

json - 将数据加载到 hadoop 的推荐格式,用于简单的 map reduce

目前,我正在将大量数据从s3加载到我们的redshift集群中(每秒10k行左右?)。这成为尝试对数据运行任何查询的问题,因为即使在尝试汇总几个小时的数据时,我们也会遇到内存不足错误。我想做的是对数据运行mapreduce作业,然后只加载聚合。我知道这应该是一项相当容易的任务,但我是hadoop的新手,而且我有点卡在第一步中。设置EMR集群(完成)将数据加载到HDFS(我认为这是我应该做的)目前所有数据都被加载到S3gzippedJSON文件中(使其易于加载到redshift中)。我必须更改文件格式才能将其放入hadoop中吗?每个S3文件都采用类似于此形式的内容:{"timestam

Hadoop IO 错误 : Type mismatch in key from map : expected org. apache.hadoop.io.Text,收到 RegexMatcher.CustomKey

我收到以下错误:java.lang.Exception:java.io.IOException:Typemismatchinkeyfrommap:expectedorg.apache.hadoop.io.Text,receivedRegexMatcher.CustomKeyatorg.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:462)atorg.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:522)Caused

hadoop - 如果 Map 插槽跨机架启动,那么 Job Tracker 如何处理数据?

1.当将任务分配给任务跟踪器进行处理时,作业跟踪器首先尝试在具有包含数据的数据节点的同一服务器上找到具有空闲槽的任务跟踪器(以确保数据局部性)2.如果它没有找到这个TaskTracker,它会在跨机架查找TaskTracker之前在同一机架中的另一个节点上寻找TaskTracker。经验法则:处理逻辑只会到达数据进行处理。假设Tasktracker跨机架启动,相应的处理数据不可用,那么在这种情况下,处理逻辑(程序)如何到达数据,而不是数据到达处理逻辑(程序)? 最佳答案 当本地没有数据时,需要通过网络传输。数据局部性不是一个规则(远

hadoop - 如何在 map reduce 中有选择地选择键中的行

我有以下包含5列和许多行的csv文件。但我只显示前6行。Date,Food,Vitamin,Protein,NumStudents01/01/17,Pasta,A,Yes,56001/01/17,Pizza,A,Yes,73001/01/17,Burrito,C,Yes,24002/01/17,Pizza,A,Yes,34002/01/17,Pasta,B,Yes,45002/01/17,Beef,B,Yes,450现在我想求出某一天只有Pizza和Pasta的NumStudents的总和。本质上,对于01/01/17,我只需要对Pizza和Pasta而非Burrito的NumStud

hadoop 集群未运行 map reduce 作业 - 调度程序问题

(这是对我之前就此事提出的问题进行的讨论的后续行动)我按照these设置了一个小型Hadoop集群说明,但使用Hadoop版本2.7.4。集群似乎工作正常,但我无法运行mapreduce作业。特别是,在尝试以下操作时$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jarrandomwriteroutdentercodehere作业打印17/11/2716:35:21INFOclient.RMProxy:ConnectingtoResourceManageratec2-yyy.eu-central-1

hadoop - 通过 map reduce 中的 map 函数的文件

是否可以通过每个map函数以某种方式传递一组文件。要求是针对不同的2个操作并行处理每个文件。我是mapreduce的新手,我使用JAVA作为我的编程语言。 最佳答案 如果你想获得相同的文件作为所有映射器的输入,只读访问,是的。您可以将文件从主(驱动程序)类添加到所谓的分布式缓存中。可以找到更多详细信息here. 关于hadoop-通过mapreduce中的map函数的文件,我们在StackOverflow上找到一个类似的问题: https://stackove

java - 如何将 Set<List<Set<Integer>>> 传递给 hadoop map reduce 作业

我需要向map/reduce(hadoop实现)传递一个类型的参数Set>>对于hadoop类JobConf,我可以使用setInt、setFlot、setString、ecc,但如果我想设置“一个集合”或一个列表,是否可行?怎么办? 最佳答案 我没有找到任何通过“setter”方法来做到这一点的方法。但是,您可以将此Collection写入文件,然后将此文件添加到DistributedCache并从映射器/缩减器的配置中加载它。 关于java-如何将Set>>传递给hadoopmapr

apache - Hbase Master 和 Region 服务器无法启动

Hadoop在分布式模式下成功运行。在分布式模式下启动HBase时出现以下错误。尝试了hbase-site.xml配置中的所有内容。不知道如何处理这个问题?014-03-1013:55:42,493INFOorg.apache.zookeeper.ClientCnxn:Openingsocketconnectiontoserverip-112-11-1-111.ec2.internal/112.11.1.111:2181.WillnotattempttoauthenticateusingSASL(Unabletolocatealoginconfiguration)2014-03-101

mysql - 使用关系数据库进行 Map Reduce

我有2个关系表表A(第1个人,阅读的书名)表B(书名,作者姓名)我正在创建一个map-reduce作业,它按作者计算表1中每个人阅读的书籍。这意味着如果同一作者有2本书并且该人阅读了这两本书,那么map-reduce将产生:(人1,作者1、2);我的map功能(在元级别)是:map{emit(TableB.BookTitle,1)}我的reduce函数是:reducefunction(title,values){while(values.hasNext()){if(title==tableA.bookRead)sum+=values}output.collect(tableA.pers