大数据

2020-05-16  本文已影响0人  dataTONG

尚硅谷的hadoop视频

【mapreduce缺点】不擅长实时计算(如双11的实时大屏)、不擅长流式计算(mapreduce输入的是静态数据,如日、月、年数据,可替代使用sparkstreaming)、不擅长有向图DAG计算(因为mapreduce作业的输出结果会写入磁盘,造成大量的磁盘IO,导致性能低下)。



mapper阶段3件事
reducer阶段2件事
driver阶段的3210操作

序列化】把内存中的对象(数组、集合),转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。hadoop自己开发了一套序列化机制(writable)。
【数据块(物理上) VS 数据切片(逻辑上)】block是HDFS物理上把数据分成一块一块。
数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行存储。
【数据切片与maptask并行度决定机制:切片大小决定了开多少个maptask】一个job的map阶段并行度由客户端在提交job时的切片数决定。



【提交job,到底提交哪些信息?】切片、xml、jar。上述3样说清楚,说明看过源码。
yarn集群模式128M;local本地模式32M;128M切成1片????

之前

总结:GFS解决数据存储问题、mapreduce(map是映射、reduce是规约)和spark解决并行计算(门槛高,HIVE封装成友好简单的mapreduce程序,即自动翻译)、
分3类:数据框架(hadoop、spark)、数据存储、执行引擎。
【计算向数据靠拢】在执行mapreduce任务时,因为移动计算的成本往往比移动数据的成本低,故尽量减少数据在网络传输上的消耗。
【HBase】一个建立在HDFS,面向列的可伸缩、高可用、高性能的分布式数据库。

文件系统:
数据库:存储数据(结构化数据)的仓库。

Sqoop(SQL-to-Hadoop)抽取mysql数据到hive

【hadoop:YARN 协调HDFS(存储)和MapReduce(计算)的资源调度

hadoop、spark这两个框架之间的关系并非互斥,既有合作又有竞争:Spark提供的实时内存计算(Spark是MapReduce的替代方案,而且兼容HDFS、Hive等分布式存储层,可融入Hadoop的生态系统,以弥补缺失MapReduce的不足)比Hadoop中的Mapreduce速度更快,但由于Hadoop更广泛地应用于存储,Spark也会依赖HDFS存储数据。

橘红色圈组成了Spark生态圈,其余部分组成了Hadoop生态圈

【计算1000TB的数字大文件的平均数】HDFS可以存1000TB的文件,他会把文件切分成一个个的小文件块,然后存在多个服务器的硬盘上,这样就解决了存储这1000TB文件的问题,整个大文件分布在HDFS的存储集群上,MapReduce 会对算出所有数的平均数这个任务进行分割,也会有个集群,集群中每个计算机都拿一小块数据,进行对一小块数据的计算,然后每个小块的计算结果再汇总,最后得出最后的结果,例如把每个小块的数据全部累加,最后合并的时候除以总数,这样计算能力就能通过加机器的方法扩展,YARN 协调HDFS(存储)和MapReduce(计算)的资源调度

大数据----“数据倾斜”的问题
数据倾斜解决方法:
1.单个值有大量记录

  • 增加reduce 的jvm内存(效果可能不好);
  • map 阶段将造成倾斜的key 先分成多组,例如 aaa 这个 key,map 时随机在 aaa 后面加上 >1,2,3,4 这四个数字之一,把 key 先分成四组,先进行一次运算,之后再恢复 key 进行最终运算;
    2.唯一值较多
  • 增加reduce 个数

map是拆解(汽车拆成零件):每个厨子切分交到(split分配?)手里的食物;
shuffle归类(相同的单词聚集到相同的盒子,不同的单词聚集到不同的盒子);
reduce是拼装(零件变成变形金刚):shuffle分组,reduce求和??
finalize高度并行的过程。
【mapreduce六大过程】得到数据、切分、归类、组装、交付。map拿数据就是split,reduce拿数据就是shuffle

GFS、MapReduce、BigTable是Google大数据的三大理论
在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称为分布式文件系统。
HDFS,是Hadoop Distributed File System的简称,是Hadoop抽象文件系统的一种实现。HDFS的文件分布在集群机器上,同时提供副本进行容错及可靠性保证。例如客户端写入读取文件的直接操作都是分布在集群各个机器上的,没有单点性能压力。
HDFS(Hadoop Distributed File System),作为Google File System(GFS)【解决数据存储问题】的实现 mapreduce六大过程2

hivesql与sparksql

【Hive是什么?】一个建立在分布式存储系统(这里指HDFS)上的SQL引擎。本质上来说,它还是一个面向读的、面向分析的SQL工具。
Hive不支持更改数据的操作,Hive基于数据仓库,提供静态数据的动态查询。其使用类SQL语言,底层经过编译转为MapReduce程序,在Hadoop上运行,数据存储在HDFS上。
【Hive适合的是什么场景呢?】数据仓库。基于Hadoop做一些数据清洗啊(ETL)、报表啊、数据分析啊什么的。
【Hive有什么缺点?】天天插入、更新、删除数据,还要求强一致性和毫秒级相应,这个不仅不是Hive的长处,当前的Hadoop框架就不适合这玩意儿。
【Spark是啥?】Spark就是以RDD为核心的计算框架(内存计算),它产生的背景就是MR难用!慢!(因此难以满足实时性要求较高的场景),而Spark集合了MapReduce的所有优点,并将中间结果输出到内存,减少了读写磁盘和HDFS的次数,从而提高了性能。
【RDD】弹性分布式数据集Resilient Distributed Dataset,是数据在分布式环境中的一个抽象,可理解为编写Spark程序就是编写如何操作RDD。
【Spark有什么缺点?】发展时间短,且大数据领域Hive、HBase等等都已经快形成了事实标准,但吹嘘自己的一栈式数据处理平台,试图从易用性上争取用户。
【SparkSQL究竟重点在做什么呢?】性能、稳定性、标准兼容性
Spark SQL和Hive使用场景?

百度网盘扩容

传智播客大数据就业班完整版 密码:6bct(包括离线hadoop hive 、实时storm、基于内存spark三个部分均有相应的项目)

尚硅谷大数据线下班全套视频(2019年6月毕业班) 提取码:0o0i

110G大数据算法机器语言学习视频课程(超级有价值) 密码: atj2

上一篇 下一篇

猜你喜欢

热点阅读