大数据技术生态,不懂你捶我

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 一文了解大数据技术生态。

大家好,我是脚丫先生 (o^^o)

大数据时代这个词被提出已经10年有余,特别是最近几年风风火火的贵州贵阳。

乘着时代的风口和国家的有力支撑,已被称之为“中国数谷”。

大数据的力量如此巨大,难免让人好奇不已。那么到底什么是大数据呢?

大数据的概念、大数据技术、大数据平台,一条龙服务,尽在下文!!!

image.png

一、大数据

大数据(Big Data)本身是个很宽泛的概念,根据字面理解,可知是很大很大的数据。

数据大到了极限,造成传统技术已经无法处理。

专业术语:大数据指的是传统数据处理应用软件,不足以处理(存储和计算)它们,大而复杂的数据集。

可以理解 为一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库,软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低。

总而言之,大数据就是指数据很大,传统技术无法高效的处理该数据。

四大特征:大量,多样,高速,低价值密度。

(1) 大量:数据容量大。从TB级别,跃升到PB级别。海量的数据,可谓是数据的海洋。

image.png

(2) 多样:数据类型的多样性,包括文本,图片,视频,音频。相对于以往便于存储的以文本为主的结构化数据,非结构化数据越来越多,包括网络日志、音频、视频、图片、地理位置信息等。

image.png

传统技术的处理多类型的数据已经不堪重任,因此对于数据的处理能力提出了更高要求。

(3) 高速:指获得数据的速度以及处理数据的速度,数据的产生呈指数式爆炸式增长,处理数据要求的延时越来越低。

image.png

(4) 价值密度低:价值密度的高低与数据总量的大小成反比。以视频为例,一部1小时的视频,在连续不间断的监控中,会产生大量的数据,但是有用数据可能仅有一二秒。

image.png

价值密度低,就好比一整部电影,无数个镜头,然而仅有一两个镜头较为经典。

二、大数据核心技术

我们知道了大数据的特点之后,就要改变传统的数据处理模式。

解决,海量数据的存储和计算问题。

因此引进了新处理模式,大数据技术。

大数据的概念比较抽象,而大数据技术栈的庞大程度将让你叹为观止。

来吧,我们一起漂进大数据技术的海洋,从此一去不复返!!!

image.png

这些就是大数据生态圈的技术组件,可谓是眼花缭乱,应接不暇(好吧,其实是杂乱无章)。

那么,大数据生态圈的技术组件(技术栈),又是如何解决海量数据的存储和计算问题呢 ?

先放大数据技术生态圈的一个大致组件分布图,之后我们一步步的进行分解组合。

图片我们可以看到,已经把之前杂乱的大数据组件摆放的规规矩矩,有条有序的。

看着由杂乱无章到井井有条的大数据生态圈有点舒服。

似乎有点像家里修建房屋一样,一层一层,往上拔高,逐渐精彩。

那么我们接下来就一起把大数据生态圈这栋房子开始修建。

2.1 HDFS分布式文件系统

既然要把大数据生态圈这栋房子修建,那么我们首先要进行的就是打建地基。

地基不稳,地动山摇。

HDFS分布式文件系统就好比我的地基。我们知道传统的文件系统是单机的,不能横跨不同的机器。

HDFS分布式文件系统的设计本质上是为了大量的数据能横跨成百上千台机器。

简而言之,把多台机器存储的数据,用一个软件进行统一管理,执行增删改查操作。

万事开头难,我们终于有了HDFS分布式文件系统作为房屋的地基,此刻我们的大数据生态圈房屋是这样的。

image.png

既然此刻,已经有了房屋的地基HDFS,也就是可以进行数据的存储。

吐一口气,算是解决了海量大数据的存储问题。

那么既然有了数据,我就应该去解决海量大数据的计算问题。因此,开始了我们房屋的第一层修建。

2.2 MapReduce计算引擎

当把海量数据存储于HDFS分布式文件系统之后,就开始考虑怎么处理数据。

虽然HDFS可以为你整体管理不同机器上的数据,但是这些数据太大了。在一台服务器读取TP级别的海量数据(比如整个东京热有史以来所有高清电影的大小甚至更大)。

是需要消耗非常多的时间,比如微博要更新24小时热博,它必须在24小时之内处理完海量的数据,显然单机服务器的计算能力是无法完成的。

但是如果我们用很多台服务器,利用这些机器的资源进行分布式处理数据,那么就可以大大的提高执行效率,这就是MapReduce的功能,一种分布式并行处理框架。

到此,我们第一层,计算引擎MapReduce算是正式修建完毕。此时,我们的大数据生态圈房屋是这样的。

image.png

2.3 Hive数据仓库

有了MapReduce分布式处理框架之后我们发现MapReduce的程序写起来很麻烦,对于不懂程序开发的人非常不友好。

希望简化这个过程,能有个更高层更抽象的语言层来描述算法和数据处理流程。

就好比,虽然MapReduce这层房可以住,但是它并不好住,不是喜欢的风格。我们希望能在它基础上进行修改成我们喜欢的style。

于是就有了Hive,开发人员只需要编写简单易上手的SQL语句,它就把SQL语言翻译成MapReduce程序,让计算引擎去执行,从而让你从繁琐的MapReduce程序中解脱出来,用更简单更直观的语言去写程序了。

我们的第二层,Hive数据仓库层算是正式修建完毕。此时,我们的大数据生态圈房屋是这样的。

image.png

2.4 快一点吧 Spark/Flink

其实大家都已经发现Hive后台使用MapReduce作为执行引擎,实在是有点慢。

Spark/Flink应运而生,它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读硬盘。

Spark/Flink支持批处理和流处理,是非常先进的计算引擎。

就好比,当我们修建好MapReduce和Hive层后,过了很多年,发现已经过时了。

我们需要该基础上,保留原来风格的同时,进行翻修。于是得到了Spark/Flink。

此时,我们的大数据生态圈楼房已经进化成了这样。

image.png

2.5 Oozie / Azkaban任务调度

在大数据生态圈楼房中,我们已经修建好了计算引擎层,这层每天都需要清洁阿姨定时打扫。于是我们联系了一个家政的阿姨进行每天处理计算引擎层的卫生。

Oozie / Azkaban任务调度组件,就相当于家政阿姨,它需要根据我们设定的时间执行任务。

Oozie / Azkaban任务调度组件只针对于离线批处理任务。

此时,你的大数据生态圈楼房继续升级

image.png

这样,我们就通过任务调度系统,根据我们的需要定时的去处理任务。

2.6 yarn资源管理器

yarn资源管理器,就好比我们修建大数据生态圈时候的房屋的楼层使用说明,哪一层是干嘛的,这些楼层的使用顺序都是规定安排好的,不然那么多层随便使用,会杂乱无章的,有了yarn我们就在大数据生态圈,互相尊重而有序的使用这些楼层。

简而言之,可以把yarn理解为,相当于一个分布式的操作系统平台,而mapreduce等运算程序则相当于运行于操作系统之上的应用程序,Yarn为这些程序提供运算所需的资源(内存、cpu)。

我们的大数据生态圈楼房继续升级。

image.png

2.7 数据采集 Sqoop / Flume / DataX/Kafka

大数据生态圈楼房,所有的楼层和楼层使用顺序设计都已经完成后,我们此时差不多就已经完成了修建。是时候安排人员入住了。那么我们通过什么方式去邀请人来入住呢?

这里的人,就相当于数据,只有有了数据,整个大数据生态圈才有意义。

因此我们就有了Sqoop/Flume/DataX/Kafka。

通过这些工具去采集数据到HDFS文件系统,进而处理数据。

大数据生态圈楼,继续升级

image.png

此时,我们的大数据生态圈楼房,基本的建设可以说是完成。剩余的工作就是一些装饰和家具了。

从以上所述,我们可以知道,大数据生态圈的技术栈多而杂乱,只有让它们有序的组合一起工作。

才能解决海量数据的存储和计算

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
27天前
|
Cloud Native 数据处理 云计算
探索云原生技术在大数据分析中的应用
随着云计算技术的不断发展,云原生架构作为一种全新的软件开发和部署模式,正逐渐引起企业的广泛关注。本文将探讨云原生技术在大数据分析领域的应用,介绍其优势与挑战,并探讨如何利用云原生技术提升大数据分析的效率和可靠性。
|
3月前
|
数据采集 传感器 人工智能
大数据关键技术之电商API接口接入数据采集发展趋势
本文从数据采集场景、数据采集系统、数据采集技术方面阐述数据采集的发展趋势。 01 数据采集场景的发展趋势 作为大数据和人工智能工程的源头,数据采集的场景伴随着应用场景的发展而变化,以下是数据采集场景的发展趋势。
|
3月前
|
数据采集 搜索推荐 大数据
大数据技术在电商平台中的应用
电商平台是当今社会最为普及的购物方式之一,而大数据技术则成为了众多企业的强有力竞争力。本文将介绍大数据技术在电商平台中的应用,包括数据采集、预测分析、用户画像等方面,并探讨其对电商平台的价值和意义。
|
3月前
|
机器学习/深度学习 数据采集 算法
大数据分析技术与方法探究
在当今信息化时代,数据量的增长速度远快于人类的处理能力。因此,如何高效地利用大数据,成为了企业和机构关注的焦点。本文将从大数据分析的技术和方法两个方面进行探究,为各行业提供更好的数据应用方向。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
大数据分析的技术和方法:从深度学习到机器学习
大数据时代的到来,让数据分析成为了企业和组织中不可或缺的一环。如何高效地处理庞大的数据集并且从中发现潜在的价值是每个数据分析师都需要掌握的技能。本文将介绍大数据分析的技术和方法,包括深度学习、机器学习、数据挖掘等方面的应用,以及如何通过这些技术和方法来解决实际问题。
49 2
|
8天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
3月前
|
机器学习/深度学习 存储 人工智能
大数据处理与分析技术:未来的基石
在信息化时代,数据已成为企业发展和决策的基础。而随着数据量的不断增长,传统的数据处理方法已经无法满足现代企业的需求。因此,大数据处理与分析技术的出现成为了新时代的必需品。本文将介绍大数据处理与分析技术的概念,意义、应用场景以及未来发展趋势。
48 3
|
17天前
|
NoSQL 大数据 数据挖掘
现代数据库技术与大数据应用
随着信息时代的到来,数据量呈指数级增长,对数据库技术提出了前所未有的挑战。本文将介绍现代数据库技术在处理大数据应用中的重要性,并探讨了一些流行的数据库解决方案及其在实际应用中的优势。
|
22天前
|
机器学习/深度学习 人工智能 数据可视化
基于Python的数据可视化技术在大数据分析中的应用
传统的大数据分析往往注重数据处理和计算,然而数据可视化作为一种重要的技术手段,在大数据分析中扮演着至关重要的角色。本文将介绍如何利用Python语言中丰富的数据可视化工具,结合大数据分析,实现更直观、高效的数据展示与分析。
|
29天前
|
存储 NoSQL 大数据
新型数据库技术在大数据分析中的应用与优势探究
随着大数据时代的到来,传统数据库技术已经无法满足海量数据处理的需求。本文将探讨新型数据库技术在大数据分析中的应用情况及其所带来的优势,为读者解析数据库领域的最新发展趋势。