首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

JAVA转大数据需要补充知识以及大数据各技术简介

2024-12-15 来源:华佗小知识

从技术的角度解释大数据


一、HADOOP分布式存储与计算

1、HDFS,主要做分布式文件存储,文件的多备份

2,MAPREDUCE计算模型 ,主要做分布式计算,把任何复杂流程的数据处理简化为map(分) 与reduce(合),而且只需要编写 map与reduce方法(不用考虑多机器的资源协调,文件可用,任务失败重计算)

3,YARN负责分布式计算的资源协调

查询文件效率:慢(基于超大数据集)

场景:大数据存储,分析


二、HIVE 大数据中的数据仓库(数据仓库:基于数据库存储,但是是基于超大数据集)

传统数据库主要负责在线业务,实时业务,OLTP

数据仓库主要负责数据分析,比如说BI,OLAP

HIVE是基于HDFS存储,基于MAPREDUCE计算

查询文件效率:慢(基于超大数据集)

场景:数据挖掘,分析


三、HBASE大数据中的数据库,主要负责大数据的实时查询

HBASE基于HDFS存储,属于NoSQL典型,基于KEY VALUE的数据结构存储

查询效率:快(可以基于10亿-100亿数据的毫秒级返回)

场景:GIS应用开发,短地址


四、FLUME 与KAFKA

FLUME主要负责实时的数据采集,可以采集的数据源支持,基本文件,HDFS文件

KAFKA主要负责实时的数据发送与接收,属于消息队列,分布式的消息队列,超高吞吐量

场景:实时数据同步,分布式消息中心等

五、SCALA编程语言基于JAVA 开发,函数式编程语言,SPARK是基于SCALA进行开发的,可与JDK 8的函数编程比较

六、SPARK分布式计算,基于内存计算,HADOOP基于文件计算,所以效率上 SPARK理论是HADOOP的10倍以上

SPARK 包含核心包,SQL包与机器计算与学习包

场景:大数据快速分析,迭代计算,机器学习与图计算


JAVA需要理解

一、多线程加入多线程读取大文件操作,统计文件中的单词出现次数

进阶:并且考虑如果其中一个线程出现读取失败,如何重做

(原因:大数据中,只需要像编写单机程序一样,不需要考虑多线程或者容灾与高可用)

二、讲解MYSQL课程,加入简单存储过程的编写,插入100W数据,10列以上

进阶:如何基于100W数据以上进行优化

(原因:学生掌握基本优化手段,大数据中HIVE基于超大数据集(10亿-100亿以上)的查询,会进行分区与索引的优化)

三、讲解MYSQL过程中,讲解子查询与嵌套子查询,加强GROUP BY的能力

例如

Selectname,rownum from (select * ,rownum from text) t

GROUP的理解有助于在 map--*reduce阶段快速入门(HIVE)

四、基于数据库,加强ACID事务的讲解

原因:传统数据库都是基于单机事务控制,大数据中基于分布式,跨机器的事务。


分布式知识补充:(容灾知识补充与应用可用性)

1、TOMCAT SESSION共享

2、TOMCAT 负载均衡

3、配置MYSQL读写分离

显示全文