大数据框架简介
1.HDFS:服务器的硬盘存储空间交给HDFS去管理
2.YARN服务器的CPU和内存交给YARN去管理(2x)
3.HBase:HBase分布式列式数据库:支不支持transcation rollback,分布式不支持rollback,半实时数据库(数据入库,不一定能查的到,之前能查出来现在也不一定能查出来)
HBase优势:满足两个条件(集群足够大-内存足够大;查询的条件是rowkey的精确匹配;),不管查询的数据量多大,时间都是毫秒级。
HBase劣势:对于编程和维护,比较头疼。
HBASE替代方案:1)redis,有数据压力,不管是不是大数据,都可以使用redis(MongDB存在安全问题)
redis主要担心问题,内存爆掉。需要手动干预,写内存清理规则。
2)Cassandra(性能)+kylin(用于查询):Kylin的限制-多张表做JOIN,最多支持到亿级别。cassandra是一套开源分布式NoSQL数据库系统;提升存储性能。kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP(联机分析处理))能力以支持超大规模数据。
3)Kudu:适用于中小型企业;有HBase的好处,避开了HBase所有缺点。只要符合sql标准,就可以在kudu上直接跑;可以直接把存在oracle和MySQL上的表拿到kudu上。注:如果想用一套集群解决所有问题,就用kudu框架。
美团是国内应用HBase最好的一家公司
4.Batch(MapReduce):一个作业涉及到40T数据以上,用MR(Spark经过优化后可以跑80T的数据,80T以上会有局限)
MR能做的事情:SQL03标准能做的,MR可做;分布式下已经实现的数学模型,MR也能做;
5.Streaming(Storm,Flink,Spark streaming)
处理速度最快的是Storm,spark streaming抗压性非常好。流对接时用storm
6.In-Memory(Spark):Spark是分布式内存计算,搭建Spark Server时,需要配内存和CPU。Spark的缺陷,CPU利用率不高(一个任务最多能使用70%)
实例:一亿条数据,一个字段的模糊查询+排序:关系型数据库20min左右;Spark(20核20G内存),需8s2。
7.Interacting(Tez):对MR优化,业务较复杂,做一些复杂的存储时,推进使用Tez
8.Pig被淘汰了
9.Hive:底层是MR,给不会大数据,又想玩大数据的人用的。给老DB人员使用的,能写出高质量SQL+语义分析。
10.Mahout:数据建模+AI使用,底层是MR,将MR的缺陷无限制的扩大,主要是注重底层的算法。
AI不是随便哪个企业都可以上,上了效果也会不佳。
AI应用较实在的(用户喜好比较假,成果大都不佳):医疗方面-抗癌药;
AI招聘人才:以前要求-985数学系本科生;211/985数学相关专业的硕士、博士;其他人-中西方课程相结合(中-求答案;西-求过程和为什么),把所有数学相关课程捡起来;
AI薪资:30万+,上不封顶;BAT年薪70~80万;
11.Flume:把远程数据,安全拽到中心机房来;flume和kafka
12.Sqoop:底层是MR,Sqoop对Oracle的支持非常差,替代方案dataX(datax是阿里云开源的一个项目,是一个异构数据源离线同步工具)
13.Oozie:调度器
14.ZooKeeper:投票器,分布式锁,协同;部署节点数按基数算,至少3个,用于保证投票。