前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据技术介绍

大数据技术介绍

作者头像
我是李超人
发布2022-03-13 10:07:27
4870
发布2022-03-13 10:07:27
举报

为了方便大家梳理清楚大数据学习路线,本文从以下四个方面来介绍大数据技术: 大数据技术栈 大数据发展史 大数据应用 大数据开发岗位

一、大数据技术栈

之前有同事问我怎么转大数据开发,他在网上搜了一堆大数据相关的技术,但是不知道从哪里开始入门,也不知道要学习哪些技术,这些技术栈之间的关系是什么。我一开始转大数据的时候也有点懵逼,整体接触了一遍之后才把大数据技术栈给弄明白了。

做大数据开发,无非要干四件事情,采集、存储、查询、计算。此外,一些开发必备的基础语言能力是需要的。我按照这几个维度,对大数据常见技术栈做了下划分。

在这里插入图片描述
在这里插入图片描述

基础能力 java不用说,当今世界使用最广泛的语言,做程序员基本必会的,而且大数据生态很多组建都是通过java开发的。python通常用在爬虫,数据分析,机器学习上,部分大数据组件是python开发的,例如airflow。scala底层还是java,由于spark是scala开发的,且scala也集成了很多spark的算子,所以scala一般用在spark开发上。

数据采集 一般通过filebeat,logstash,kafka,flume做日志采集。一些应用系统的数据,也会通过kafka或者binlog的方式同步到大数据组件做存储。

数据存储 这里的数据存储引擎和传统的关系型数据库有很大的区别。常见分布式存储文件系统有hdfs。此外,对于一些非结构化的数据会通过nosql的方式做存储,常见的nosql存储组件有hbase,redis。

数据查询 常见的有hive、spark sql、presto、kylin、impala、durid、clickhouse、greeplum,每个组件都有自己的查询特性和使用场景。这里不展开篇幅详细介绍了,后面慢慢聊。

数据计算 常见的计算方式有流计算和批处理,按实效性又分离线计算和实时计算。对应的计算组件有storm,spark stream,flink。

其它 分布式协调器:大数据组件为了提高可靠性通常是分布式存储的,这样就涉及到各个组件之间的协调同步。最常见的协调器就是zookeeper。 资源管理器:为了提高计算能力,会对计算资源(CPU,内存,磁盘)做分配,常见的组件有yarn,mesos。 调度管理器:调度管理器管理任务何时执行,周期执行,是否重试等。常见的有airflow,dalphine schduler,oozie,azkaban。

二、大数据技术发展史

学习一门技术,知道会用已经够了,至少能解决问题。但是要想走得更远,还是需要知道一门技术的发展历史,通过发展史可以更深刻的理解为何会产生这门技术,它背后这样设计的原有,它的使用场景。

大数据技术的起源 大数据最早是起源于google。大家都知道google主要是提供网页检索服务,而这项服务依赖两个能力:网页的收集,索引的构建。有了这两个能力,我们才能通过检索服务搜索到互联网上的网页。这些网页和索引都需要大量的存储和计算能力。为了提高这两个能力,谷歌发表了三篇重要的论文。 2003年,分布式文件系统GFS。 2004年,大数据分布式计算框架MapReduce。 2006年,NoSql数据库系统。 这三篇论文奠定了大数据技术的基础。

Hadoop技术 受谷歌论文启发,2004年7月Doug和Mike Cafarella在Nutch(Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能)中实现了类似于GFS的功能,也就是HDFS的前身。2005年2月,Mike Cafarella在Nutch中实现了MapReduce的最初版本。GFS和MapReduce作为hadoop前身,2006年hadoop从Nutch项目中分离出来,贡献给了Apache,至此成为Apache顶级项目。

Yahoo的Pig 2006年,为了让MapReduce技术更好使用,雅虎对MapReduce技术做了封装,开发了一套通过类似于SQL脚本查询的工具Pig,使用Pig写SQL会自动转换成MapReduce来执行,大大优化了MapReduce的使用难度。

Facebook的Hive 2007年,facebook对查询方式做了进一步优化,开发出了一套可以直接使用SQL的工具做大数据查询-HIVE,只要懂得SQL的开发人员都能使用这个组件。

Powerset的HBASE 2007年Powerset的工作人员,通过google的论文开发出了BigTable的java版本,即HBASE。2008年HBASE贡献给了Apache。

Spark的产生 2009年,UC伯克利里面的研究员在使用MapReduce做实验项目时,性能无法满足需求。于是着手开始设计spark,基于内存计算的spark性能要远远高于spark

三、大数据应用

在这里插入图片描述
在这里插入图片描述

推荐领域:电商购物,猜你喜欢。信息流方面,像头条文章推荐,抖音视频推荐。

风控:仿电信诈骗,黄赌毒识别,反洗钱等等。

医疗:通过用户一些医疗信息做疾病的识别。

智慧城市:自动驾驶,智慧物流,城市交通管理等等。

四、大数据开发岗位

基础组件开发:需要扎实的java或者C++语言能力,对大数据组件有独到认知,能对大数据组件结合公司业务场景做二次封装。

大数据应用开发:开发一些大数据工具,比如标签管理系统,元数据管理系统,埋点系统,爬虫系统等。需要具备扎实的java或者python能力,能熟练使用大数据相关组件。

数仓工程师:一般都是做一些BI报表的开发,数据治理。精通SQL,精通常见的数仓模型。

算法工程师:精通常见机器学习算法,能熟练使用大数据组件。结合公司的业务场景灵活的使用算法能力赋能。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、大数据技术栈
  • 二、大数据技术发展史
  • 三、大数据应用
  • 四、大数据开发岗位
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档