AWS之Glue使用方法

Glue是AWS的云上ETL工具,核心是Spark,查询也是先获取数据源的元数据,再通过元数据溯源数据。
本文示范使用Glue把数据从RDS抽到redshift的操作
总体步骤:
1.连接数据源
2.建立爬网程序
3.运行爬网程序生成元数据表
4.建立作业
5.运行作业
(再后面还可建立工作流程实现作业流,本文未涉及)

建立连接

连接可以是(半结构化)文件,和各种数据库,和kafka
图中的“数据库”是AWS对元数据表集合的叫法而已,和我们说的数据库不是一个概念,“表”是指元数据表,“连接”是指数据库连接
添加元数据表的方法分手动添加爬网程序添加(其实就是自动添加,和爬虫没关系,为了可以及时侦测元数据改变,爬网程序可以重复定时按计划进行,所以推荐爬网程序添加)
分类器可以自定义识别半结构化文件方式
AWS之Glue使用方法

首先按引导各自连接RDS和redshift,其中有一步容易踩坑,需要IAM角色权限,细节如下,缺一不可:
1.第一步创建IAM角色并给AWSGlueServiceRole这个策略权限https://amazonaws-china.com/cn/blogs/china/use-aws-glue-to-run-etl-jobs-against-non-native-jdbc-data-source/
2.保证S3在RDS和redshift所在的VPC终端节点中

最后建立连接如下
AWS之Glue使用方法

建立爬网程序

按引导建立爬网程序获取下图这张RDS中的表的元数据
AWS之Glue使用方法
运行成功后会在“表”中会生成一张元数据表
AWS之Glue使用方法

建立作业

PS:不论数据多少,Glue的作业是自动临时搭建spark环境的,大概需要15分钟,然后才开始跑,作业完成后5分钟若没有下个作业使用该环境便会自动销毁
AWS之Glue使用方法
AWS之Glue使用方法
AWS之Glue使用方法
AWS之Glue使用方法
AWS之Glue使用方法
运行作业,等待15分钟(上面说的需要搭环境),报succeeded后用navicat查看redshift中已经创建并同步了这张表数据