Hadoop大数据开发基础 第2版 第5章 MapReduce进阶编程.pdfVIP

  • 26
  • 0
  • 约3.6万字
  • 约 72页
  • 2022-09-04 发布于江苏
  • 举报

Hadoop大数据开发基础 第2版 第5章 MapReduce进阶编程.pdf

MapReduce进阶编程 任务背景 2021年3月,网站运营方提出了新的需求,为了比较今年与去年同期的用户访问数据,要求分别统计出 2021年1月与2月的用户访问次数,并输出到不同的目录中。 本章结合竞赛网站每日访问次数的统计任务。  首先介绍MapReduce 中输入输出文件格式的设置过程。  接着介绍Hadoop Java API 的使用,方便HDFS系统的文件及目录操作。  重点讲解了自定义键值类型、Combiner、Partitioner分区器、自定义计数器的使用,对竞赛网站每日访问 次数的MapReduce程序进行优化,提高程序运行的效率。  最后介绍在IDEA 中直接提交并运行MapReduce任务的操作过程,简便程序运行的操作。 2 目录 1 筛选日志文件并生成序列化文件 Hadoop Java API读取 2 序列化日志文件 3 优化日志文件统计程序 在IDEA 中打包 4 并提交MapReduce程序 3 任务描述 在大数据文件的分析处理中,尤其是在处理逻辑比较复杂的情况下,需要使用多个MapReduce程序连续 进行处理,因此需要在HDFS上保存大量的中间结果。如何提高中间结果的存取效率,对于整个数据处理流程 具有重要意义。 Hadoop序列化具有紧凑、快速、可扩展以及互操作的特点,十分适合作为MapReduce任务的输入与输出 数据格式。 本小节的任务是从原始日志数据中筛选出1月与2月的数据,以序列化文件的格式保存,为后续的数据处 理任务做准备。 4 设置MapReduce输入格式 一般而言,HDFS 的一个文件对应多个数据块,每个数据块对应一个输入分片InputSplit ,而每个Map任务 只处理一个输入分片,每个分片包含一批记录,每条记录是一个键值对。 编写Mapper模块时只关注输入的键值对,而没有关注输入数据块。输入数据块主要是由Hadoop 自带的输 入格式进行处理的。 5 设置MapReduce输入格式 Hadoop 自带了多个输入格式,其中有一个抽象类为FileInputFormat ,所有操作文件的InputFormat类均从 FileInputFormat抽象类继承方法和属性。当启动Hadoop作业时,FileInputFormat将得到一个路径参数,这个路 径内包含了所需要处理的文件,FileInputFormat会读取这个文件夹内的所有文件,再将这些文件拆分成一个或 多个InputSplit 。  InputFormat 的类继承结构 6 设置MapReduce输入格式  几个常用的输入格式 输入格式 描述 键类型 值类型 行的字节偏移量 TextInputFormat 默认格式,读

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档