在本练习中,您将学习如何使用Redshift和Amazon QuickSight平台构建数据可视化应用程序。您将看到如何使用Amazon的数据仓库从数据湖中装载数据,并用完全托管的数据可视化工具进行展现。

本实验的目标包括:

  • 1、 创建Redshift集群
  • 2、 将S3的数据文件批量装载到Redshift数据库
  • 3、 使用Quicksight对数据表进行可视化

本实验的架构图如下

构建数据仓库

1.查看数据

查看 S3 桶(此处为 s3://lab-921283538843-wzlinux-com/spark/output)内的 EMR 实验中生成的parquet 格式文件是否存在。

2.创建 IAM Role

选择 IAM 服务,点击角色->创建角色,选择 Redshift

选择 Redshift-Customizable,点击下一步权限

选择权限 AmazonS3ReadOnlyAccess

添加权限名字 myRedshiftRole,点击确认

3.创建子网组

创建 Redshift 集群前,先创建子网组。选择 Redshift 服务,在左边菜单条中选择“CONFIG”->”管理子网组“

然后选择“创建集群子网组”,子网组名称可接受缺省名字“cluster-subnet-group-1“,在描述框中输入任意说明文字。选择“默认VPC”,选择“为此 VPC 添加所有子网“,然后点击“创建集群子网组”完成创建子网组。

4.创建 Redshift 集群

在左侧菜单中选择“集群”,点击“创建集群“,设置集群的名字(不要用中文,不要用特殊字符,英文开头,可以有数字,可以有减号),节点类型选择 dc2.large

数据库配置接受缺省值,输入主用户密码(请记住您输入的密码)

集群权限中,选择前面创建的 myRedshiftRole 角色,点击“Associate IAM role”

其它配置中,选择默认 VPC,缺省安全组和之前创建的集群子网组,点击确认“创建集群”,大约5分钟后,集群变为“Available”状态。

5.访问 Redshift 数据库

有两种方式访问 Redshift 数据库,一种是通过 Redshift Console 上的查询编辑器,一种是通过 SQL 客户端(例如 SQL Workbench/J 客户端)。

本实验中为了简便操作,使用 Redshift Console 上的查询编辑器来访问数据库。选择左边菜单中“编辑器”,在“连接到数据库”窗口中输入一下参数,然后“连接到数据库”

6.创建表

在查询编辑器中创建表,在左边Select Schema中选择“Public”,然后在SQL查询窗口中输入创建表的SQL语句:

create table table1(    tno varchar(20),    tdate varchar(15),    uno varchar(10),    pno varchar(10),    tnum int,    uname varchar(20),    umobile varchar(20),    ano varchar(20),    acity varchar(50),    aname varchar(50),    pclass varchar(10),    pname varchar(50),    price decimal(10, 2));

如下图所示

选择“运行”,结果应该显示”Completed”

7.导入S3数据


新开一个 SQL 查询窗口(此处为 Query 2),输入下面装载 S3 数据的 SQL 命令,注意要将帐号替换为实际的帐号 ID,并确认争取的 S3 桶地址。

copy table1 from 's3://lab-921283538843-wzlinux-com/spark/output/' credentials 'aws_iam_role=arn:aws:iam::921283538843:role/myRedshiftRole' format as parquet; 

如下图所示

点击运行,结果应显示为“Completed”。在 Query3中 输入”select from table1;”应查询中表中的数据。在Query4 中输入“select count() from table1; “,应查询到表中的数据。这说明 S3 中的数据已完成 copy 到 Redshift 数据仓库中。

8.允许 Internet 访问

下一步,我们将使用 AWS Quicksight 将 Redshift 中的数据进行可视化展现。在此之前,需要给予 Quicksight 从 Internet 访问 Redshift 的权限。为此,我们先在 EC2 菜单中创建一个公网的弹性 IP 地址(过程略)。然后修改 Redshift 属性,赋予公开访问权限。

将可公开访问改成“是”,选择对应的弹性公网 IP 地址即可。

此操作需要一点时间,略微等待几分钟即可。

数据可视化

1.启用 Quicksight

关于启用 Quicksight 这里不再介绍,可以观看 Lab3。

2.创建数据集

进入Quicksight控制台界面,点击左侧数据集,选择创建“新数据集”

选择 Redshift(自动发现)数据集,Redshift 也有手动连接的方式,不过此处我们不演示

输入连接参数,选择“创建 data source”,选择对应的 Redshift 数据库,注意配置对应的地址,端口,数据库名称,用户名和密码

选择 Table1,点击“Select”,最后点击“Virtualize”完成创建数据集(此处我们选择把数据从 Redshift 导入到 Quicksigh 里面来,这样分析起来速度会快很多)

3.数据可视化

打开可视化对象窗口,选择展现方式为“竖条状图“

tdate 拖放到 X axis 栏,将 tnum 拖动到 value 栏(系统会自动选择计数)

这样就完成了“以日期为X轴,以当天的总销售数量为Y轴从高到低的排名”展现。

欢迎大家扫码关注,获取更多信息

©著作权归作者所有:来自51CTO博客作者wzlinux的原创作品,如需转载,请注明出处,否则将追究法律责任

喜欢我的文章,成为我的天使投资人吧

赞赏

0人进行了赞赏支持

更多相关文章

  1. 如何选择正确的因变量(控制变量),让你的计量模型不再肮脏
  2. 对数vs线性vs二次vs指数形式,到底选择哪种进行计量建模?
  3. 0322作业(选择器的优先级,id,class,tag); (前端组件样式模块化的
  4. 插入排序,选择排序
  5. 怎样才能选择一个好的运维服务商?
  6. 选择模型真用对了吗? 扒一扒75篇顶级外刊的真相, 并献上最权威的
  7. 选择器优先级、模块化样式组件、伪类选择器
  8. 从理解到改进:非自回归翻译中的词汇选择 | 腾讯 AI 论文解读
  9. 第三课 选择器、模块化组件、伪类选择器

随机推荐

  1. android悬浮窗的两种实现方案
  2. Android开发之Android体系架构介绍
  3. Android的应用前景
  4. 小编程(三):用户登录注册界面开发及用户信息
  5. 锦囊篇|一文摸懂RxJava
  6. Android 5.0 技术新趋势
  7. Android(安卓)解读main log和event log日
  8. Android(安卓)设置TextView滑动滚动条和
  9. ubuntu添加android真机调试
  10. android简陋的开发工具