对我来说数据仓库,数据湖这种数据处理的东西,还是非常陌生的,刚好有机会就好好学习一下。
至少对我来说,如果需要很好理解一个东西,需要自己动手练习一遍才行。对于数据仓库这种那么重的应用,你是很难搞出自己的一个demo。
不过时代已经不一样了。你在公有云上,Azure上,可以很快搞定一个数据仓库,数据湖的例子,加深你的理解。
- Azure Databricks (Spark)
- Azure HDInsight (Hadoop)
- Azure Data Factory (数据处理流水线,工具集)
- Azure SQL Data Warehouse Azure的SQL 数据仓库
这张图,可以理解是Azure推荐给用户的一种最佳实践的架构。根据这个图来理解数据的流向。
Azure Data Factory
对于企业来说,数据分为
- 结构化数据
- 非结构化数据
结构化数据,很好理解,就是在关系型数据库里的数据。这个其实传统的商业分析工具,应该很多。
非结构化数据
- 音频
- 视频
- 文本
企业内部的数据,分散在各个应用里,形成所谓的数据孤岛。很多时候,单独的一组数据,价值比较有限,挖掘的价值也有限。这时候就需要有一个地方存放这些数据。
在这些数据集中存放的时候,你需要对数据进行整理,处理。
从上面的图,可以看出,数据工厂的用途,就是把数据:结构化和非结构化数据,通过某种定义的方式,存放到Data lake 里。
数据工厂一个很重要的概念:pipeline,这个其实理解,就是数据经过一个流水线的方式,一步一步的处理,最后达到自己满意的结果。存放起来。
Data Lake
从上面的图,大家可以看到,数据湖,实现了数据的大集中。其实数据湖,很多时候理解成一个数据存放的地方。
以前一般都会把这种数据,放到对象存储上,互联网企业,就是在HDFS上。
Azure针对数据湖,专门搞出了一种Data Lake Storage Gen2。所以也可以看出,Azure对数据分析的重视。
Gen2,增强的目录功能,可以当本地文件系统使用,直接mount过来,权限控制,成本
数据放在Azure Data Lake ,你很方便对数据进行分析,处理。
Power BI
这是一个数据展示,报表工具,那么他的数据来源,比较广泛。
从上面的图来看,Power BI报表工具,是可以直接从数据湖获取数据进行分析。
https://www.blue-granite.com/blog/10-things-to-know-about-azure-data-lake-storage-gen2
Azure SQL Data Warehouse
关于数据湖和数据仓库的区别,让人比较困惑。
https://aws.amazon.com/cn/big-data/datalakes-and-analytics/what-is-a-data-lake/?nc=sn&loc=2
这个对比图,其实是来自AWS,其实Azure上也是差不多。
上面图可以看到,可以把Spark分析的Sql的数据,直接存放到数据仓库里。
在数据仓库里存放的数据,已经是结构化数据,利用报表来展示,会非常方便。
Azure Synapse
Azure Synapse is Azure SQL Data Warehouse evolved
就是未来微软的数据仓库升级版本,也顺便把名字修改了。
把Power BI直接集成进来。