我的目标是在Cloudera集群上运行一个简单的MapReduce作业,该作业从虚拟HBase数据库读取并写入HDFS文件。
一些重要的注意事项:-我以前在这个集群上成功运行过MapReduce作业,这些作业将HDFS文件作为输入,并写入HDFS文件作为输出。-我已经将用于编译项目的库从“纯”HBase替换为HBase-cloudera jars-当我以前遇到这类问题时,我只是简单地将库复制到分布式缓存中(在Google Guice中适用):JobConf conf=new JobConf(getConf(),parsejobconfig.class);DistributedCache.addCacheFile(新URI(“/user/hduser/lib/3.0/guice-multibindings-3.0.jar”),conf);但现在它不起作用了,因为使用HBaseConfiguration类来创建配置(在配置存在之前)--Cloudera版本是5.3.1,Hadoop版本是2.5.0
这是我的驱动程序代码:
public class HbaseJobDriver {
public static void main(String[] args) throws Exception {
Configuration conf = HBaseConfiguration.create();
Job job = new Job(conf, "ExampleSummaryToFile");
job.setJarByClass(HbaseJobDriver.class);
Scan scan = new Scan();
scan.setCaching(500);
scan.setCacheBlocks(false);
TableMapReduceUtil.initTableMapperJob("Metrics",
scan,
HbaseJobMapper.class,
Text.class,
IntWritable.class,
job);
job.setReducerClass(HbaseJobReducer.class);
job.setNumReduceTasks(1);
FileOutputFormat.setOutputPath(job, new Path(args[0]));
}
}
我不确定是否需要映射器/还原器类来解决这个问题。
我得到的异常是:线程“main”java.lang.NoClassDeffounderRror:org/apache/hadoop/hbase/hbaseConfiguration
我们刚刚和我的同事一起解决了这个问题,在我们的例子中,我们需要更新.bashrc文件:
纳米~/.bashrc
hbase_path=/opt/cloudera/parcels/cdh/jars
<代码>。.bashrc
我正在尝试读取配置为Avro格式的map reduce函数的结果,但我不能。 part-00000文件的头部看起来像这样: 0 等等(左边的数字在文件中!!)。 我怎么能读这个文件?
我正在尝试创建一个地图减少工作在Java的表从一个HBase数据库。使用这里的示例和internet上的其他内容,我成功地编写了一个简单的行计数器。然而,试图编写一个实际对列中的数据执行某些操作的程序是不成功的,因为接收的字节总是空的。 我的司机工作的一部分是这样的: 如您所见,该表称为。我的映射器如下所示: 一些注意事项: 表中的列族只是。有多个列,其中一些列称为和(第一次看到); 即使值正确显
我正在尝试用PySpark从HBase写/读。 环境: null 我的火花提交是: 当我写到HBase时,一切都很好,数据从mydf保存到HBase表中。 当我试图阅读时,它很好,只有在激发行动之前。df.show()-导致错误。
贡献者:BridgetLai Apache MapReduce 是 Apache Hadoop 提供的软件框架,用来进行大规模数据分析.MapReduce 已超出本文档范围,可通过如下文档学习https://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTuto
我是Hadoop的MapReduce的新手。我已经编写了一个map-reduce任务,我正在尝试在本地计算机上运行它。但这项工作在地图绘制完成后就悬而未决了。 下面是代码,我不明白我错过了什么。 我有一个自定义密钥类 使用自定义键的映射器和缩减器类如下。 我还在main中创建了一个作业和配置。不知道我错过了什么。我在本地环境下运行这一切。
我写作业MapReduce,输入是HBase中的一个表。 作业运行时,had错误: 你能帮我修一下吗。