基于AWS构建云上数仓第一步:云平台的基础概念
Posted 黑马程序员官方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于AWS构建云上数仓第一步:云平台的基础概念相关的知识,希望对你有一定的参考价值。
课程目标
- 了解云平台的基础概念
前置技能
学习本课程同学们需要:
-
熟练SQL的使用
-
掌握传统数仓开发模式,理解数仓分层、星型模型、事实表、维度表等传统数仓开发的概念
-
了解ETL的基本概念
-
懂得Scala语言、了解Spark
-
对云平台有一定的了解(阿里云、亚马逊、微软云等均可)
虽然课程中也会对云平台做简单的介绍,但是除了课程主线所需要的云服务外,其它云服务不会花太多的篇幅进行详细讲解。
云平台的基础概念[了解]
1.1 前言
随着云计算概念的不断落地和推广, 目前云平台已经得到了非常广泛的使用.
云平台帮助用户在:
- 应用落地
- 服务落地
- 安全保障
- 性能
等方面获得比传统方式更高效, 更节省, 更稳定, 更方便的优势.
1.2 云平台的概念
云平台
也称云计算平台
. 云计算, 顾名思义, 就是将计算在云上运行.
那么在这里面的3个概念
- 云: 通俗的理解就是远程计算机, 并且是一组 一堆, 这些远程计算机协同工作构建出一个平台,对用户提供服务
- 计算:这是一个概念很大的名词,小了说可以认为是对业务数据进行计算分析的算力,不过通俗意义上,计算是指构建业务系统的各种需求
- 平台:将云(远程硬件资源)和计算(远程软件资源)组合在一起,就形成了一个平台,对用户提供各种各样的服务。
我们可以这样理解: 云平台 就是 一个云上的平台, 为用户提供各种各样的 远程
服务
举个例子:
现在有一个 人力外包中心, 其内部有非常多的人力资源可供客户购买使用.
那么有一个客户, 从人力资源外包公司, 花钱雇10个人干活, 发现效率不行又雇了100个一起干活, 最终活儿按时完成.
那么, 上述例子就是对云平台的一种模拟.
人力资源中心
提供的是服务, 提供的是资源, 客户只需要按量购买即可.
在例子中, 客户如果不使用人力资源中心
就需要自己招聘相应的员工, 签订劳务合同, 让自己的员工去为自己服务.
但是, 如果需求结束了, 员工又不能随意辞退, 那么这些员工就相当于资源闲置了.
而人力资源中心
就是提供了 资源
供客户使用, 按需求 按用量付费即可, 用完即停止. 对客户来说资源
没有闲置.
PS: 现在很多软件人力外包, 就是这样的思路.
很多甲方公司, 不愿意招聘正式员工, 仅仅某个项目需求人手, 就从外包公司招人来做, 项目完成, 人员也就遣返回外包公司了. 甲方按人数和时间给外包公司付款.
回到计算机的世界中
云平台提供的就是 计算的资源.
那么计算的资源主要有:
- 硬件资源: 主要指
服务器
交换机
磁盘
GPU
等硬件资源 - 软件资源: 主要指 各种
软件工具
如域名服务
虚拟内网
数据库软件
等.
云平台为客户提供了 一站式的解决方案.
客户可以没有任何一台服务器 同样可以搭建起来自己的业务.
业务 就运行在云平台
之上.
通俗的理解, 使用了云平台之后, 客户就不需要自行搭建机房了, 不需要自购服务器了.
服务器等硬件资源 从云平台购买使用即可.
并且因为云平台上的资源是很多的, 如果客户觉得资源不足, 可以追加购买. 如果觉得资源过多, 可以减少购买. 灵活方便.
毕竟, 自建机房成本很高, 并且服务器等硬件购买是一次性.
买回来发现用不到,造成资源的闲置 也是无可避免.
特别是某些业务突增的需求, 导致资源紧张, 临时加了N台服务器.
等到业务下降的时候, 这么多追加的服务器的资源就闲置了.
消费者还能在
闲鱼
让闲置游起来. 但是服务器领域…就算也能各种二手倒腾, 在机房频繁的上架下架 也是很繁琐的. 特别是运维同学, 估计要打人…
1.3 云平台的分类
云平台主要有 2大类, 分别是:
私有云平台
私有云平台, 简称私有云
顾名思义就是私人的云平台, 一般是企业自行搭建, 提供给企业内部去使用.
如, 各个业务部门 或者各个项目组作为客户, 从平台上购买资源,或者申请资源去使用,费用一般企业内部结算。
是一种提高企业内 资源利用率的手段,同时,基于云平台上提供的各种服务,也方便企业内部的开发。
但对于企业本身来说, 其硬件资源是自行组建的.(如 自建机房 自购服务器等)
公有云平台
公有云平台就是提供给大众使用的云平台.
任何人 或者任何企业 均可以在公有云平台内去 购买 申请 相应的资源.
对于公有云平台的提供商来说, 其本身的硬件资源是自行组建的(如自建机房, 自购服务器, 搭建数据中心)
本次课程, 主要给大家讲解公有云平台.
1.4 主流公有云平台
提供公有云服务的平台有许多, 我们来列举一下(顺序不代表排名):
- AWS: Amazon web service: 是亚马逊提供的一个公有云平台. 也是最早提供云平台服务的一批企业. 也是目前全球公有云的龙头标杆. 在全球市场占有率处于领先地位. 就如
苹果
带领手机的发展方向一样,AWS
目前处于引领云平台发展方向的地位. - Azure: 微软提供的一个公有云平台. 市场占有率一般, 目前处于上升期.
- GCP: Google cloud paltform: 谷歌提供的云平台, 占有率还行, 也是处于上升期.
- 阿里云: 阿里提供的云平台, 在国内市场很强势. 处于No.1地位, 在国际上占有率一般, 处于上升期.
- 腾讯云: 腾讯提供的云平台, 国内占有率还行, 价格便宜, 目前正在大片的抢占市场.
- 京东云 \\ 金山云 \\ 时速云 : 占有率比较低. 处于下层梯队.
1.5 云的三种服务
那么我<们再来了解一下PaaS SaaS IaaS
IaaS
Infrastructure as a Service
: 基础设施即服务, 是指把IT基础设施作为服务提供
- VPS:virtual private server
- 网络带宽
- VPC:virtual private cloud(大公有云内的小私有云,就是一个云上的私有内网)
PaaS
Platform as a Service
: 平台即服务.是指将平台作为一种服务对外提供. 那么我们要学习的云平台, 就是一种PaaS
服务. 其他还有如
腾讯地图开发平台
- 小程序开发平台
- 分布式文件存储平台
- 分布式缓存服务平台
- 等
SaaS
Software as a Service
: 软件即服务, 是指将软件作为一种服务对外提供.
- 云上数据库
- 云上NoSQL
- 云上消息队列
- 域名服务
- DNS服务
- 等
那么我们理解, 阿里云是一个PaaS
平台, 提供IaaS
和 SaaS
服务.
lo_shipmode varchar(10) not null
);
– lo_orderdate 作为排序键
– lo_partkey 作为分配键
> PS:显示的指定了分配键后,就表明是Key分配模式,也只有Key分配模式需要指定分配键。
>
> 其它分配模式不需要指定分配键,只需要指定分配风格:
>
> `DISTSTYLE AUTO | EVEN | KEY | ALL ` 在建表语句的后面即可。
##### 使用自动分析压缩编码的方式加载数据
```sql
copy customer from 's3://dw-develop-s3/redshift/design-table-demo-data/customer'
credentials 'aws_iam_role=arn:aws-cn:iam::384229886646:role/testRedshiftRole'
gzip compupdate on region 'cn-northwest-1';
-- 32.53s
copy dwdate from 's3://dw-develop-s3/redshift/design-table-demo-data/dwdate'
credentials 'aws_iam_role=arn:aws-cn:iam::384229886646:role/testRedshiftRole'
gzip compupdate on region 'cn-northwest-1';
-- 17.51s
copy lineorder from 's3://dw-develop-s3/redshift/design-table-demo-data/lineorder'
credentials 'aws_iam_role=arn:aws-cn:iam::384229886646:role/testRedshiftRole'
gzip compupdate on region 'cn-northwest-1';
-- 2,217.63s
copy part from 's3://dw-develop-s3/redshift/design-table-demo-data/part'
credentials 'aws_iam_role=arn:aws-cn:iam::384229886646:role/testRedshiftRole'
gzip compupdate on region 'cn-northwest-1';
-- 71.23s
copy supplier from 's3://dw-develop-s3/redshift/design-table-demo-data/supplier'
credentials 'aws_iam_role=arn:aws-cn:iam::384229886646:role/testRedshiftRole'
gzip compupdate on region 'cn-northwest-1';
-- 25.51s
来记录一下时间和前面的对比:
基准 | 优化前 | 优化后 | % |
---|---|---|---|
加载时间(五张表) | 1,581.06秒 | 2,364.41 | +49.54% |
占用存储 | |||
LINEORDER | 25084 | ||
PART | 70 | ||
CUSTOMER | 180 | ||
DWDATE | 20 | ||
SUPPLIER | 64 | ||
总存储空间 | 约25400MB | ||
查询执行时间 | |||
查询 1 | 55560.328 ms | ||
查询 2 | 53389.079 ms | ||
查询 3 | 49163.566 ms | ||
总执行时间 | 158秒 |
以上是关于基于AWS构建云上数仓第一步:云平台的基础概念的主要内容,如果未能解决你的问题,请参考以下文章