赞
踩
HDSF:分布式文件系统
简单理解就是存储文件的系统,就像百度云盘一样的东西。我们搭建好HDFS就相当于自己做了一个百度云盘,就可以将我们自己的一些文件上传到自己的HDFS中。
MapReduce:分布式计算框架
简单的讲自己编写一个从一堆文件中查找出自己想要的数据(例如:统计单词数,就是将一个文件中的单词进行统计),有些类似mysql中在一张表中查找出自己想的数据,只是mr是从文件中找。MR1:没有集成yarn框架,只包含mapreduce,
MR2中包含mapreduce+yarn框架
资源管理器,为各类应用程序进行资源管理和调度;简单的讲就是分配和管理任务,每一个MR任务都要消耗资源,通过它管理后就会让集群更好的运行,不会存在把所有的任务都给一个节点处理的情况
1、可以将hive看成一个关系型数据库,但是它不是关系型数据库
2、hive可以将本地或者HDFS上的文件(txt等结构化数文件)映射为一张关系型数据库(mysql)中的一张表(就是把一个txt文件转成一张表,可以使用SQL语句进行查找文件中的内容),而且可以使用类似SQL语句的方式去查询这个加载文件中的一些数据。
3、hive 底层是将Hql语句(sql语句)转换为MR任务使只会sql语句的人也可使用MR操作文件
问题:为什么非要使用MR(MapReduce)去操作文件而直接将文件加载到关系型数据库(myslq或者oracle数据库)中进行sql操作?
1、因为文件大(大数据呀,对吧!),关系型数据装不下(自己这样理解的)
2、因为MR是分布式计算框架,可以很多电脑一起进行计算。而关系型数据库面对大量数据的时候就算的相对很慢。
1、hbase是一个非关系型分布式数据库(NoSQL)
这要怎么讲呢?我只能给自己总结了以后再改
2、分布式文件存储系统、面向列、随机读取、高可靠性、可伸缩
3、并没有用到mr只用到了hdfs(对HBASE的操作不是像对关系型数据库的sql操作)
消息系统(连接两个系统之间的连接)
解决的问题是:
由于生产者生产的数据量太大,如果直接放入到下一个系统会把系统搞崩,或者当下游系统宕机后不影响上游的正常业务流程,然后就需要一个KAFKA(消息中间件、消息系统),用KAFKA存这些数据就是小意思没问题,下游系统之接在KAFKA中去数据,取多少可以自定义,这样下游的就可以慢慢消费,就可以保证系统不崩溃。
flume:是一个实时日志采集系统
sqoop:将关系型数据(MySQL、sqlsever、oracle等)导入到HADOOP集群(Hive、Hbase等)中;也可以反向导出将大数据平台中的数据导出到关系型数据工具。
大白话:sqoop就是一个导入、导出数据的工具(关系型数据库<-->HAOOP集群)。
scala是一门语言,就和java、c++等语言一样运行在jvm中
scala是一门函数式编程和面向对象编程结合的语言
1、Spark (Spark core)
Spark是一个计算框架、类似于MR框架,不过Spark框架是基于内存的计算、可以进行迭代计算。
2、Spark SQL
3、Spark Streaming
和Spark Streaming类似的计算框架
当前理解是这样的,以后还会有部分修改。有理解不对的地方还请多多指教!
警告!只适合通俗理解,不是很专业回答。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。