草庐IT

MAPREDUCE

全部标签

java - Hadoop 运行命令 java.lang.ClassNotFoundException

我已经成功安装了hadoop3.0.0独立运行在Ubuntu16.04上。我使用Apachehadoop教程中的以下代码创建了一个jar。importjava.io.IOExceptionimportjava.util.StringTokenizer;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.

hadoop - 洗牌和排序阶段的输出路径

MR程序的洗牌和排序阶段的输出实际存储在哪里,是存储在本地磁盘还是存储在HDFS中? 最佳答案 数据存储在本地文件系统(不是HDFS)中。这通常是一个临时目录,在Hadoop作业完成后清理,配置位于core-site.xml中。 关于hadoop-洗牌和排序阶段的输出路径,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/50062403/

java - Hadoop MapReduce - 如何创建动态分区

如何使用javamapreduce创建动态分区,就像我们有按国家/地区列分组的sql。示例我有基于国家/地区的数据集,需要根据国家/地区(分区)分隔记录。我们不能限制国家。因为每天都会获得新的国家/地区数据。 最佳答案 您可以利用dynamicpartitioningfeatureofHive根据传入数据自动填充分区。下面的示例演示了根据国家/地区信息对原始数据进行自动分区。创建一个原始数据文件(country1.csv),其中包含多个国家/地区的数据1,USA2,Canada3,USA4,Brazil5,Brazil6,USA7,

java - 如何将第三方 jar 添加到 mapreduce 作业?

寻找将第三方jar添加到mapreduce作业中的解决方案。目前,我们正在将第三方jar捆绑到mapreduce作业中。似乎有时mapreduce作业jar的大小会变高。有没有另一种方法来克服这个问题 最佳答案 我相信“-libjarsjar1,jar2,...”是您在这里需要的 关于java-如何将第三方jar添加到mapreduce作业?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

apache-spark - Spark - 获取部分文件后缀

当Spark使用Hadoopwriter写入部分文件时(使用saveAsTextFile()),这是它保存文件的通用格式“part-NNNNN”。如何在运行时在Spark中检索这个后缀“NNNNN”?附言。我不想列出文件然后检索后缀。 最佳答案 文件名为part-00000、part-00001等。每个RDD分区都写入一个part-文件。因此,输出文件的数量将取决于正在写入的RDD中的分区。您可以检查正在写入的RDD的分区数(比如5),然后访问文件part-00000到part-00004。插图通过查询Hive表构建DataFram

Hadoop 生态系统 : Map Reduce needed for Pig/Hive

互联网上有很多hadoop生态系统图片,所以我很难理解这些工具是如何协同工作的。例如在附图中,为什么pig和hive是基于mapreduce的,而其他工具如spark或storm基于YARN?你能解释一下吗?谢谢!BRhaddopecosystem 最佳答案 图片显示了MapReduce之上的Pig和Hive。这是因为MapReduce是Pig和Hive使用的分布式计算引擎。Pig和Hive查询作为MapReduce作业执行。使用Pig和Hive更容易,因为它们提供了更高级别的抽象来使用MapReduce。现在我们来看一下图中YAR

hadoop - 如何在 Mapreduce 中为 1 个文本文件设计 1 个映射器

我在hadoop2.9.0上运行Mapreduce。我的问题:我有许多文本文件(大约10-100个文本文件)。每个文件的大小都非常小,但由于我的逻辑问题,我需要1个映射器来处理1个文本文件。这些映射器的结果将由我的缩减器聚合。我需要进行设计,使映射器的数量始终等于文件的数量。如何在Java代码中做到这一点?我需要扩展什么样的功能?非常感谢。 最佳答案 我不得不做一些与您非常相似的事情,并且遇到了与您相似的问题。我实现此目的的方法是输入包含每个文件路径的文本文件,例如文本文件将包含此类信息:/path/to/filea/path/to

hadoop - 如何获取 hdfs 文件上最后添加的数据?

我有数据以一定的速度传输到HDFS文件中。我有一个建立在它之上的外部配置单元表。Data有一个timestamp列和一个int列。每5分钟,将添加一行。我有一个JDBC程序,如果int列值是否超过限制,它需要检查最后添加的行。我以为我会为新的时间戳写一个搜索查询,获取行并检查它的int列值。但是,它遍历整个表以搜索最后附加的行。我可以在时间戳列上创建索引。有没有其他方法可以检索最近添加的数据,这样性能就不会下降? 最佳答案 按日期(例如load_date)对表进行分区,您可以使用date()函数从时间戳字段中导出日期。当然,您还需要

java - 执行Map-Reduce程序时出错

我使用hadoop3.1.0在Ubuntu上运行MapreduceWordCount程序,但它总是得到这个信息。我看到有人问这个类似question之前,但这行不通。我想知道我应该修改哪个文件,或者我错过了什么。我的java程序来自here.master@kevin-VirtualBox:~/MapReduceTutorial$$HADOOP_HOME/bin/hadoopjarProductSalePerCountry.jar/inputMapReduce/mapreduce_output_sales$HADOOP_HOME/bin/hadoopjarProductSalePerCo

hadoop - Hadoop 为什么选择MapReduce 作为计算引擎?

我知道MapReduce(MR)是Hadoop的三大核心框架之一,我熟悉它的mapper-shuffle-reducer进度。我的问题可以分为两部分:1)是什么让MR对Hadoop如此独特?为什么其他计算算法不如此?2)其他语言(例如:shell、python)的计算部分是如何工作的?它们的计算过程是否与MR类似? 最佳答案 “分而治之”是处理数据集的一种非常强大的方法。MapReduce提供了一种读取大量数据的方法,但以可扩展的方式分配工作负载。通常,即使是非结构化数据也有办法从原始文件中分离出单独的“记录”,而Hadoop(或其