入门了解
最近在大数据分析岗位实习,因为尚在入门所以就只能先做一个sqlboy啦,然后慢慢学习一点大数据相关开发的工作.
大数据开发与后端的区别
传统的后端java一般是用的spring全家桶,处理的数据量有上限,基于传统的数据库的CRUD与前端查询的接口
CRUD
增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)
数据库可以抽象为三个部分:
数据接入部分
数据计算部分(数据计算引擎)
结果存储部分
大数据开发需要会什么
说实话因为专业是智能,第一次听说需要懂这些东西
一些组件
- Doug Cutting开山鼻祖首创Hadoop
- 消息队列组件KafKa(乍一听有点像那个作家卡夫卡)
- 数据存储组件Hadoop HDFS
分布式文件系统的鼻祖 - 分布式计算引擎Spark
先进的思想
高效的编程模型
完备的软件生态 - 分布式仓库HIVE
- 分布式数据库HBASE
- 分布式搜索引擎Elasticsearch
开源的数据计算引擎
- MapReduce、Tez暂时不用考虑
(只是作为OLAP的内置计算引擎) - Strom(只是单一的流式处理没有批处理)
- Spark兼容性更好
- Flink
大数据入门为什么要先学计算引擎
- 不需要额外的设施
只需要一个IDE工具引入对应的jar包 - 地位核心承上启下决定运行效率
上接存储数据的数据源Kfaka、HDFS、Hive
下接结果存储的数据库Hbase、Elasticsearch、Mysql - 使用频繁
- 与其他组件更紧密,可以读文件系统、数据库、消息队列,只要能存储都有对应的读api和写api