随笔分类 -  Hadoop

HDFS、Mapreduce、Yarn
摘要:一、影响MR程序效率的因素 1.计算机性能: CPU、内存、磁盘、网络, 计算机的性能会影响MR程序的速度与效率 2.I/O方面 1)数据倾斜(代码优化) 2)map和reduce数量设置不合理(通过配置文件后代码中设置) 3)map运行时间过长,导致reduce等待时间过长 4)小文件过多(浪费元 阅读全文
posted @ 2019-04-08 10:49 给你一个公主抱 阅读(608) 评论(0) 推荐(0)
摘要:一、Hadoop的数据压缩 1.概述 在进行MR程序的过程中,在Mapper和Reducer端会发生大量的数据传输和磁盘IO,如果在这个过程中对数据进行压缩处理,可以有效的减少底层存储(HDFS)读写的字节数,,并且通过减少Map和Reduce阶段数据的输入输出来提升MR程序的速度,提高了网络带宽和 阅读全文
posted @ 2019-04-08 10:19 给你一个公主抱 阅读(430) 评论(0) 推荐(0)
摘要:一、Mapjoin案例 1.需求:有两个文件,分别是订单表、商品表, 订单表有三个属性分别为订单时间、商品id、订单id(表示内容量大的表), 商品表有两个属性分别为商品id、商品名称(表示内容量小的表,用于加载到内存), 要求结果文件为在订单表中的每一行最后添加商品id对应的商品名称。 2.解决思 阅读全文
posted @ 2019-04-08 01:21 给你一个公主抱 阅读(1690) 评论(0) 推荐(0)
摘要:一、自定义InputFormat InputFormat是输入流,在前面的例子中使用的是文件输入输出流FileInputFormat和FileOutputFormat,而FileInputFormat和FileOutputFormat它们默认使用的是继承它们的子类TextInputFormat和Te 阅读全文
posted @ 2019-04-01 20:54 给你一个公主抱 阅读(1369) 评论(0) 推荐(0)
摘要:一、shuffle机制概述 shuffle机制就是发生在MR程序中,Mapper之后,Reducer之前的一系列分区排序的操作。shuffle的作用是为了保证Reducer收到的数据都是按键排序的。 二、shuffle机制的流程 还是按照上个随笔MR整体流程的需求来做参考: 1.Mapper中con 阅读全文
posted @ 2019-03-29 00:35 给你一个公主抱 阅读(764) 评论(0) 推荐(0)
摘要:一、辅助排序 需求:先有一个订单数据文件,包含了订单id、商品id、商品价格,要求将订单id正序,商品价格倒序,且生成结果文件个数为订单id的数量,每个结果文件中只要一条该订单最贵商品的数据。 思路:1.封装订单类OrderBean,实现WritableComparable接口; 2.自定义Mapp 阅读全文
posted @ 2019-03-28 21:47 给你一个公主抱 阅读(298) 评论(0) 推荐(0)
摘要:一、MR排序的分类 1.部分排序:MR会根据自己输出记录的KV对数据进行排序,保证输出到每一个文件内存都是经过排序的; 2.全局排序; 3.辅助排序:再第一次排序后经过分区再排序一次; 4.二次排序:经过一次排序后又根据业务逻辑再次进行排序。 二、MR排序的接口——WritableComparabl 阅读全文
posted @ 2019-03-24 23:11 给你一个公主抱 阅读(1357) 评论(0) 推荐(0)
摘要:一、Maptask并行度与决定机制 1.一个job任务的map阶段的并行度默认是由该任务的大小决定的; 2.一个split切分分配一个maprask来并行处理; 3.默认情况下,split切分的大小等于blocksize大小; 4.切片不是mapper类中对单词的切片,而是对每一个处理文件的单独切片 阅读全文
posted @ 2019-03-24 22:43 给你一个公主抱 阅读(762) 评论(0) 推荐(0)
摘要:一、Hadoop数据序列化的数据类型 Java数据类型 => Hadoop数据类型 int IntWritable float FloatWritable long LongWritable double DoubleWritable String Text boolean BooleanWrita 阅读全文
posted @ 2019-03-24 21:48 给你一个公主抱 阅读(320) 评论(0) 推荐(0)
摘要:一、Yarn集群概述及搭建 1.Mapreduce程序运行在多台机器的集群上,而且在运行是要使用很多maptask和reducertask,这个过程中需要一个自动化任务调度平台来调度任务,分配资源,这个平台就是Yarn! 2.Yarn提交任务的流程: 当我们向Yarn集群提交任务后,Yarn通过Re 阅读全文
posted @ 2019-03-24 01:47 给你一个公主抱 阅读(632) 评论(0) 推荐(0)
摘要:一、Mapreduce概述 Mapreduce是分布式程序编程框架,也是分布式计算框架,它简化了开发! Mapreduce将用户编写的业务逻辑代码和自带默认组合整合成一个完整的分布式运算程序,并发的运行在hadoop集群上。 二、Mapreduce优缺点 优点:1.易于编程:只用实现几个接口即可完成 阅读全文
posted @ 2019-03-24 01:08 给你一个公主抱 阅读(339) 评论(0) 推荐(0)
摘要:一、HDFS运行机制 概述:用户的文件会被切块后存储在多台datanode节点中,并且每个文件在整个集群中存放多个副本,副本的数量可以通过修改配置自己设定。 HDFS:Hadoop Distributed file system,分布式文件系统。 HDFS的机制: HDFS集群中,有两种节点,分别为 阅读全文
posted @ 2019-03-23 14:48 给你一个公主抱 阅读(2579) 评论(0) 推荐(0)
摘要:一、读取HDFS文件数据、将本地文件写入HDFS中文件、使用IOUtils读写数据 阅读全文
posted @ 2019-03-22 22:34 给你一个公主抱 阅读(274) 评论(0) 推荐(0)
摘要:一、HDFS集群API所需要jar包的maven配置信息 二、从HDFS下载数据文件/上传文件到HDFS文件系统 思路:1.获取配置信息 2.设置配置信息(块大小、副本数) 3.构造客户端 4.下载数据文件/上传数据文件 5.关闭资源 (1)下载文件 (2)上传文件 三、对HDFS系统进行操作的AP 阅读全文
posted @ 2019-03-22 22:28 给你一个公主抱 阅读(633) 评论(0) 推荐(0)
摘要:一、HDFS的客户端种类 1.网页形式 =>用于测试 网址为你的namenode节点的ip+50070的端口号,如: 192.168.50.128:50070 2.命令行形式 =>用于测试 3.企业级API 二、HDFS客户端的命令行操作 注释:/hdfs为HDFS上的目录 /root/linux为 阅读全文
posted @ 2019-03-22 16:11 给你一个公主抱 阅读(892) 评论(0) 推荐(0)
摘要:一、大数据存储和计算的各种框架即工具 1.存储:HDFS:分布式文件系统 Hbase:分布式数据库系统 Kafka:分布式消息缓存系统 2.计算:Mapreduce:离线计算框架 storm:实时流式计算 spark:离线批处理/实时流处理计算框架(MR的二次封装) 3.辅助类工具:hive:数据仓 阅读全文
posted @ 2019-03-22 15:08 给你一个公主抱 阅读(373) 评论(0) 推荐(0)
摘要:这是因为格式化namenode之后,namenode节点中VERSION的ClusterID会改变!!! 解决办法: 1.打开namenode节点的hdfs-site.xml文件,查看你的namenode的元数据存储位置和datanode数据存储位置; 2.然后到对应的的目录下找到VERSION文件 阅读全文
posted @ 2019-03-12 11:52 给你一个公主抱 阅读(446) 评论(0) 推荐(0)