数据仓库、数据湖、智能湖仓分别是什么?

数据仓库、数据湖、智能湖仓分别是什么?

数据仓库是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合;
数据湖,数据都是承载在基于可向外扩展的HDFS廉价存储硬件之上的;
强大的数据湖及其配套的专用构建数据服务体系,智能湖仓称为架构

作为程序员写的大多数商业项目,往往都需要用到大量的数据。计算机的内存可以实现数据的快速存储和访问。但内存的空间是有限的也无法长期保存有用的数据。对于那些大量的,需要长期使用的数据,需要对它们进行持久的、规范化的存储,于是就有了数据库(DataBase)。

市场上常用的数据库有很多种,包括像MySQL、Oracle这样的关系型数据库,也包括Redis,HBase这样的非关系型数据库。无论是哪一种数据库,所存储的都是结构化数据主要应用的领域是联机事务处理,也就是程序员所熟悉的增删改查业务。

满足了业务需求数据库当中的数据不断积累变得越来越丰富。这些数据不但可以支撑业务的运行也可以用于生成商业报表进行数据分析提供有价值的决策参考。这些数据分析和生成报表的处理操作被称为联机分析处理。

但传统数据库擅长的是快速地对小规模数据进行增删改查,并不擅长大规模数据的快速读取。于是人们发明了一种全新的数据存储方式,并把原本分散在不同项目当中的业务数据进行抽取、清洗、转换、加载,最终汇总成为一系列面向主题的数据集合,按照全新的方式进行存储。这种全新的存储方式被称为数据仓库;把数据进行抽取、清洗、转换、加载的过程,被称为ETL。

数据仓库当中存储的数据,同样是结构化数据。数据库用于业务处理,数据仓库用于数据分析一时间大家都使用得十分愉快。但随着大数据和机器学习技术的不断发展,人们发现不仅是结构化的数据具有分析价值,许多非结构化的数据,例如用户日志、电子邮件、PDF等等,同样具有可观的分析和学习价值。

这些数据如果统一按照ETL的方式进行加工处理不太现实,索性把它们按照原始格式汇总在一起。这样汇总起来的庞大集合,被存储在了数据湖(Data Lake)当中。

数据湖当中的数据可谓是包罗万象:结构化的,有各种关系型数据库的行和列;半结构化的,有JSON、XML、CSV;非结构化的,有电子邮件、PDF、各种文档;甚至还有杂七杂八的二进制文件,比如图片、视频、音频。

通过数据湖这个统一的数据管理节点,企业可以利用更加丰富多样的数据,为商业智能、机器学习等方向赋能。在现实的企业项目当中,所需要的不只是统一存储的数据湖也需要各种各样专门构建的存储方案,由此为特定应用场景提供必要的性能、规模与成本优势。

如仍然需要数据仓库,适合针对结构化数据通过复杂查询快速获取结果;需要Lucene或Elastic Search这样的全文检索引擎,从而实现快速搜索并分析日志数据,借此监控生产系统的运行状态。

通过这些多样的存储方案可以高效低成本地进行数据分析、机器学习、大数据处理、日志分析等工作。

为了从数据湖及专门构建的存储中获取最大收益,企业希望在不同系统之间轻松移动数据。比如有些情况下,客户希望将数据湖当中的部分数据移至数据仓库、日志系统等节点。将这种情况,归纳为由内向外的数据移动操作

还有些情况下,企业希望将业务数据从关系型数据库和非关系型数据库移动到数据湖内。将这种情况,归纳为由外向内的数据移动操作。企业还可能要求将数据在不同的专用数据存储方案之间往来移动,比如将数据仓库内的数据提供给机器学习系统。将这种情况归纳为围绕边界的数据移动操作:

快速构建起可扩展的数据湖;丰富而且功能强大的专门构建的数据服务集合,这些数据服务可以为交互式仪表板与日志分析等提供必要的性能支持;在数据湖及各专门构建的数据服务之间实现数据的无缝化移动;通过统一方式加以保护、监控与管理,保证数据访问活动的合规性;以低成本方式扩展系统保证不对性能产生负面影响。

将这样一种强大的数据湖及其配套的专用构建数据服务体系,称为智能湖仓(Lake House)架构。

第一阶段:大数据开发入门

1、MySQL数据库及SQL语法

MySQL可以处理拥有上千万条记录的大型数据库,使用标准的SQL数据语言形式,MySQL可以安装在不同的操作系统,并且提供多种编程语言的操作接口,这些编程语言包括C、C++、Python、Java、Ruby等等。支持多种存储引擎。
SQL就是客户端和MySQL服务器端进行通信和沟通的语言。

2、Kettle与BI工具

Kettle作为一个端对端的数据集成平台,其部分特色功能包括:无代码拖拽式构建数据管道、多数据源对接、数据管道可视化、模板化开发数据管道、可视化计划任务、深度Hadoop支持、数据任务下压Spark集群、数据挖掘与机器学习支持。

3、Python与数据库交互

实际的生产任务中,数据几乎全部存在与数据库中,因此,与数据库的交互成为一件难以避免的事情。想要在Python代码中和mysql数据库进行交互,需要借助一个第三方的模块“pymysql”

第二阶段:大数据核心基础

1、Linux

Linux 作为操作系统,本身是为了管理内存,调度进程,处理网络协议栈等等。而大数据的发展是基于开源软件的平台,大数据的分布式集群( Hadoop,Spark )都是搭建在多台 Linux 系统上,对集群的执行命令都是在 Linux 终端窗口输入的。据Linux基金会的研究,86%的企业已经使用Linux操作系统进行大数据平台的构建。Linux占据优势。

2、Hadoop基础

2022最新大数据Hadoop入门教程,最适合零基础自学的大数据

Hadoop是一个能够对大量数据进行分布式处理的软件框架。 Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。它很擅长存储大量的半结构化的数据集。也非常擅长分布式计算——快速地跨多台机器处理大型数据集合。Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

MapReduce和Hadoop是相互独立的,实际上又能相互配合工作得很好。MapReduce是处理大量半结构化数据集合的编程模型。

3、大数据开发Hive基础

hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。

hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。Hive十分适合对数据仓库进行统计分析。

第三阶段:千亿级数仓技术

企业级在线教育项目实战(Hive数仓项目完整流程)

大数据项目实战教程_大数据企业级离线数据仓库,在线教育项目实战(Hive数仓项目完整流程)

以真实项目为驱动,学习离线数仓技术。建立集团数据仓库,统一集团数据中心,把分散的业务数据集中存储和处理 ;从需求调研、设计、版本控制、研发、测试到落地上线,涵盖了项目的完整工序 ;挖掘分析海量用户行为数据,定制多维数据集合,形成数据集市,供各个场景主题使用。

第四阶段:PB内存计算

1、Python编程基础+进阶

全套Python教程_Python基础入门视频教程,零基础小白自学Python必备教程

Python高级语法进阶教程_python多任务及网络编程,从零搭建网站全套教程

Python是基于ABC语言的发展来的,Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

Python 语言的语法非常简洁明了,即便是非软件专业的初学者,也很容易上手,和其它编程语言相比,实现同一个功能,Python 语言的实现代码往往是最短的。

2、Spark技术栈

Spark全套视频教程,大数据spark3.2从基础到精通,全网首套基于Python语言的spark教程

Spark是大数据体系的明星产品,是一款高性能的分布式内存迭代计算框架,可以处理海量规模的数据。本课程基于Python语言学习Spark3.2开发,课程的讲解注重理论联系实际,高效快捷,深入浅出,让初学者也能快速掌握。让有经验的工程师也能有所收获。

3、大数据Flink技术栈

Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。基于流执行引擎,Flink提供了诸多更高抽象层的API以便用户编写分布式任务。Flink也可以方便地和Hadoop生态圈中其他项目集成,例如Flink可以读取存储在HDFS或HBase中的静态数据,以Kafka作为流式的数据源,直接重用MapReduce或Storm代码,或是通过YARN申请集群资源等。

4.Spark离线数仓工业项目实战

全网首次披露大数据Spark离线数仓工业项目实战,Hive+Spark构建企业级大数据平台

通过大数据技术架构,解决工业物联网制造行业的数据存储和分析、可视化、个性化推荐问题。一站制造项目主要基于Hive数仓分层来存储各个业务指标数据,基于sparkSQL做数据分析。核心业务涉及运营商、呼叫中心、工单、油站、仓储物料。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值