【大数据开发】数据开发必要知识及框架流程图

废话不多说先上图

大数据开发常见框架

数据传输组件:

①Kafka是用Scala编写的分布式消息处理平台。

②Logstash是用JRuby编写的一种分布式日志收集框架。

③Flume是用Java编写的分布式实时日志收集框架。

数据存储组件:

HDFS (Hadoop Distributed File System)用Java编写,是谷歌的GFS(Google File S ystem)的一种开源实现。

Redis是用ANSIC编写的一种基于内存的Key-Value键值对数据库。

HBase是用Java 编写的分布式列式数据库。

Hive是用Java编写的,他是建立在Hadoop之上的分布式数据仓库。

Elasticsearch是以Apache Lucene为核心打造的分布式全文搜索引擎。

数据计算组件:

Hadoop是主要核心MapReduce和HDFS,Yarn,common可利用分布式架构来存储海量数据,以及实现分布式的计算。(加黑最重要)

Storm是用Clojure语言编写的分布式实时流处理系统。

Spark是用Scala语言编写的分布式数据处理平台。

大数据处理流程图

是不是把框架看的很明白;

详解

1.数据保存到数据库中,分为关系型数据库(常用mysql)以及非关系型数据库(Hbase分布式列式数据库),redis键值对数据库,以及clickhouse列式数据库。

2.数据采集工具:实时产生的日志或者文件视频等数据、以及已经存储到数据库里的数据需要查询出来进行计算,涉及到的一些工具,例如sqoop能够将关系型数据库的数据和HDFS分布式文件存储系统进行转换。DataX不仅可以对关系型数据库,也可以对非关系型数据库的数据进行离线同步以及采集功能。

Flume一般针对日志文件进行收集,消息队列可以缓存队列进行缓冲数据。

CDC工具:例如Flink CDC可以将数据库中数据增删改查的变更捕获到,然后写入到消息队列例如kafka中,然后Flink计算框架进行处理计算。

3.数据存储:HDFS,因为一般数据库存储是存到安装数据库的机器上,只能向上扩展,但是hdfs采用分布式存储,其中hbase数据库就是基于hdfs文件存储的列式数据库。

4.数据仓库:HIVE,对不同数据源的所有数据进行处理,挖掘和分析工作。其中数据查询引擎效率不高,所以可以采用presto分布式sql交互式查询引擎。

5.元数据管理和数据治理工具Atlas:hive中的元数据因为有很多库,表,字段,

如何才能更好地管理,将这些元数据做成一个字典形式方便查看,就叫数据字典。

资源管理:yarn可以通过按需进行独立分配资源,

6.数据计算:根据不同的计算模型,处理不同的数据类型(批量和流式数据)进行分为不同的计算框架。

重点:storm、flink

7.部署中CDH:如果hadoop自己部署,会产生版本管理混乱、部署过程繁琐、升级过程复杂的问题,

为什么需要CDH?

假如公司要求给500台机器,进行安装hadoop集群。只给你一天时间,完成以上工作。

或者如果对于以上集群进行hadoop版本升级,你会选择什么升级方案,最少要花费多长时间?

你在过程中会大大考虑新版本的Hadoop,与Hive、Hbase、Flume、Kafka、Spark等等兼容?

CDH通过基于Web的用户界面,支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop,简化了大数据平台的安装、使用难度。

最重要的放在最后(针对初学者)

Hadoop(目前是最重要的)

  1. HDFS(Hadoop Distributed File System ),意为:Hadoop分布式文件系统。

  1. 源自谷歌的论文:《TheGoogle File System》,由Doug Cutting 设计实现的。

  1. 是Apache Hadoop核心组件之一,作为大数据生态圈最底层的分布式存储服务而存在。

  1. HDFS主要是解决大数据如何存储问题的。分布式意味着是HDFS是横跨在多台计算机上的存储系统。

  1. HDFS是一种能够在普通硬件上运行的分布式文件系统,它是高度容错的,适应于具有大数据集的应用程序,它非常适于存储大型数据 (比如 TB 和 PB)。

  1. HDFS使用多台计算机存储文件, 并且提供统一的访问接口, 像是访问一个普通文件系统一样使用分布式文件系统。

Flink架构

Flink 是一个分布式的并行流处理系统。简单来说,它会由多个进程构成,这些进程一般会分布运行在不同的机器上。

Flink 可以配置为独立(Standalone)集群运行,也可以方便地跟一些集群资源管理工具集成使用,比如 YARN、 Kubernetes 和 Mesos。 Flink 也不会自己去提供持久化的分布式存储,而是直接利用了已有的分布式文件系统(比如 HDFS)或者对象存储。而对于高可用的配置, Flink 是依靠 ZooKeeper 来完成的。

我们所要重点了解的,就是在 Flink 中有哪些组件,是怎样具体实现一个分布式流处理系统的。

最重要的两大组件:作业管理器(JobManger)和任务管理器(TaskManager)。(大厂都在用)

其他自己可以查阅资料

大数据思维导图

其他等待更新吧😊

  • 17
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug专员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值