基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(一)——创建Glue

1 通过Athena查询s3中的数据

此实验使用s3作为数据源

ETL:

E    extract         输入
T    transform     转换
L    load             输出

大纲

  • 1 通过Athena查询s3中的数据
    • 1.1 架构图
    • 1.2 创建Glue数据库
    • 1.3 创建爬网程序
    • 1.4 创建表
      • 1.4.1 爬网程序创建表
      • 1.4.2 手动创建表
    • 1.5 Athena查询
    • 1.6 总结

1.1 架构图

在这里插入图片描述

1.2 创建Glue数据库

首先我们需要创建一个数据库。我们将会使用爬网程序来填充我们的数据目录。

步骤图例
1、入口在这里插入图片描述
2、创建数据库 只需输入一个数据库名称即可在这里插入图片描述
3、结果在这里插入图片描述

1.3 创建爬网程序

在任务中,我们经常会使用Glue爬网程序来填充我们的数据目录。
爬虫可以在一次运行中爬取多个数据存储。在爬取完成后,我们会在数据目录中看到由爬虫创建的一个或多个表。
创建表后,我们就可以在接下来的Athena查询或ETL作业中使用表来作为源或目标了。

步骤图例
1、入口在这里插入图片描述
2、输入爬虫名称在这里插入图片描述
3、选择数据源类型(Data Stores:创建,Existing catalog tables:更新) 选择爬取类型(Crawl all folders:爬取全部文件夹,Crawl new folders only:只爬取新文件夹,Crawl changed folders indentified by Amazon S3 Event Notifications:只爬取S3事件通知的有变更的文件夹)在这里插入图片描述
4、选择s3 (可对s3中的需要爬取的数据进行筛选)在这里插入图片描述
5、创建或选择爬网程序IAM角色(需要有对应S3与Glue的权限)在这里插入图片描述
6、对于不确定的实时数据或许要定时更新的数据,可按需选择频率;若只需创建表结构,可选择按需运行在这里插入图片描述
7、确认在这里插入图片描述

此时,数据库与爬网程序已准备完毕。
我们将会运行爬网程序自动分析数据结构并创建表。

1.4 创建表

如果对待爬取数据结构未知,或者结构复杂、字段繁杂,则使用“爬网程序创建表”;对于对待爬取数据结构清晰明了的,可以使用“手动创建表”模式。

1.4.1 爬网程序创建表

步骤图例
1、运行                         在这里插入图片描述
2、运行中在这里插入图片描述
3、运行完毕在这里插入图片描述
4、运行结果在这里插入图片描述
5、表结构在这里插入图片描述

1.4.2 手动创建表

步骤图例
1、入口在这里插入图片描述
2、表名在这里插入图片描述
3、数据源在这里插入图片描述
4、选择文件类型在这里插入图片描述
5、手动创建表需要自定义列;请根据提示创建在这里插入图片描述
6、一直下一步即可

1.5 Athena查询

Athena是一种交互式查询服务(不是数据库)。并且Athena可以使用标准SQL直接查询S3中的数据,前提是需要使用Glue连接S3源。Athena还支持查询如DynamoDB、Redshift、MySQL等数据库。

步骤图例
1、入口在这里插入图片描述
2、设置查询结果存储位置:s3在这里插入图片描述在这里插入图片描述
3、查看表,可查看数据库以及其中的表在这里插入图片描述
4、查询结果:使用sql查询在这里插入图片描述

1.6 总结

在此实验中,我们使用Glue 的爬网程序自动解析存储在s3桶中的原始数据,自动创建了表。通过Glue数据库中的表,我们可以使用Athena对表进行查询(Athena每次检索表对应的s3桶数据,按检索量收费)。接下来我们会对原始数据进行转换、清洗以及分区操作,以及使用API Gateway+Lambda实现一个无服务架构,通过API查询数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/217997.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis 操作续集(连着上文一起看)

"查"操作(企业开发中尽量不使用*,需要哪些字段就写哪些字段,都需要就全写上) Mybatis 会自动地根据数据库的字段名和Java对象的属性名进行映射,如果名称一样就进行赋值 但是那些名称不一样的,我们想要拿到,该怎么拿呢? 一开始数据库字段名和Java对象属性名如下图…

4G基站BBU、RRU、核心网设备

目录 前言 基站 核心网 信号传输 前言 移动运营商在建设4G基站的时候,除了建设一座铁塔之外,更重要的是建设搭载铁塔之上的移动通信设备,这篇博客主要介绍BBU,RRU以及机房的核心网等设备。 基站 一个基站有BBU,…

数字法院大脑管理|助力实现司法数字化

数字法院是现代社会数字化和信息化的产物,它的出现标志着法律领域的创新和进步。数字法院以数字技术为核心,借助互联网、大数据、人工智能等新兴技术,实现了案件流程的数字化和智能化。通过数字法院,人们可以在线提交诉讼材料&…

IDEA 保存自动ESLint格式化

作为后端人员,偶尔修改一下前端代码,ESLint总提示格式不正确。有没有什么办法实现自动格式化呢? 安装插件Save Actions Tool 设置中搜索eslint 勾选 Run eslint --fix on save 这样以后,只要保存文件就会自动格式化了。 参考 …

windows下ffmpeg源码编译

参考:windows上使用vs2019和msys64编译 ffmpeg 4.3 | 码农家园 (codenong.com) 安装命令: pacman -S nasm pacman -S yasm pacman -S make pacman -S cmake pacman -S diffutils pacman -S pkg-config pacman -S git 1.编译 x264 将 x264放到home文件下…

JS学习--类型转换

函数转换 parseInt() 转换之前,首先会分析该字符串。判断位置为0处的字符串,判断是否为有效数字,若否,直接返回NaN,不再继续; 若是,继续打印直到不为数字的地方停止 parseFloat() 转换之前&…

[英语学习][7][Word Power Made Easy]的精读与翻译优化

[序言] 这次翻译, 遇到非常细微的短语, 让我差点翻车. 我从7点半开始思考到10点, 才恍然大悟. [英文学习的目标] 提升自身的英语水平, 对日后编程技能的提升有很大帮助. 希望大家这次能学到东西, 同时加入我的社区讨论与交流英语相关的内容. [原著英文与翻译版对照][第19] …

SpringBoot系列之使用Redis ZSet实现排序分页

软件环境: JDK 1.8 SpringBoot 2.2.1 Maven 3.2 Mysql 8.0.26 spring-boot-starter-data-redis 2.2.1 jedis3.1.0 开发工具 IntelliJ IDEA smartGit 实现思路 相对于set来说,sorted set是一种有序的set,排序是根据每个元素的score…

Nginx(十二) gzip gzip_static sendfile directio aio 组合使用测试(2)

测试10:开启gzip、sendfile、aio、directio1m,关闭gzip_static,请求/index.js {"time_iso8601":"2023-11-30T17:20:5508:00","request_uri":"/index.js","status":"200","…

SpringBoot整合ES客户端操作

SpringBoot整合ES客户端操作 介绍ES ES下载与安装 https://www.elastic.co/cn/downloads/past-releases 不要装太新的,里面自己配置了jdk,太新的可能用不了,免安装的,解压就好 浏览器输入:http://localhost:9200/ 返…

算法通关村第十六关-黄金挑战滑动窗口与堆的结合

大家好我是苏麟 , 今天带来一道小题 . 滑动窗口最大值 描述 : 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 题目 : …

U-GAT-IT 使用指南:人脸动漫风格化

U-GAT-IT 使用指南 网络结构优化目标 论文地址:https://arxiv.org/pdf/1907.10830.pdf 项目代码:https://github.com/taki0112/UGATIT U-GAT-IT 和 Pix2Pix 的区别: U-GAT-IT:主要应用于图像风格转换、图像翻译和图像增强等任务…

上传文件获得下载链接方法:直链!直链!

!非 百度网盘 不是直接用网盘下载,要用直链,百度上有很多方法。 我自己研究了个,跳过百度网盘输密码进网页的方法 还是先还是要把文件上传网盘让后搜索网盘获取直链的方法(那百度网盘举例) 地址 https:…

项目部署到线上服务器后,报 Redis error: ERR unknown command del 错误

查了很多资料,终于解决了,问题出在redis.conf里,该文件里被添加了新的命令如下: 在这几句命令前加 # 号注释掉,重启即可解决 另附上相关redis的命令: 停止Redis:systemctl stop redis启动Redis…

JavaEE进阶学习:Spring Boot 配置文件

1.配置文件的作用 整个项目中所有重要的数据都是在配置文件中配置的,比如: 数据库的连接信息(包含用户名和密码的设置);项目的启动端口;第三方系统的调用秘钥等信息;用于发现和定位问题的普通…

大数据项目——基于Django协同过滤算法的房源可视化分析推荐系统的设计与实现

大数据项目——基于Django协同过滤算法的房源可视化分析推荐系统的设计与实现 技术栈:大数据爬虫/机器学习学习算法/数据分析与挖掘/大数据可视化/Django框架/Mysql数据库 本项目基于 Django框架开发的房屋可视化分析推荐系统。这个系统结合了大数据爬虫、机器学习…

深入理解Go语言GC机制

1、Go 1.3之前的标记-清除(mark and sweep)算法 Go 1.3之前的时候主要用的是普通的标记-清除算法,此算法主要由两个主要的步骤: 标记(Mark phase)清除(Sweep phase) 1&#xff09…

通达OA inc/package/down.php接口存在未授权访问漏洞

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 一. 产品简介 通达OA(Office Anywhere网络智能办公系统&am…

图像语义分割算法(FCN/U-net)

Some definitions  与目标检测不同,语义分割任务不但要对图片中的物体的位置和类别进行预测,还要精确地描绘出不同类物体之间的边界(注意是不同类物体,而不是不同物体。若对同一类的不同物体也进行区分,则…

ERPNext SQL 注入漏洞复现

0x01 产品简介 ERPNext 是一套开源的企业资源计划系统。 0x02 漏洞概述 ERPNext 系统frappe.model.db_query.get_list 文件 filters 参数存在 SQL 注入漏洞,攻击者除了可以利用 SQL 注入漏洞获取数据库中的信息(例如,管理员后台密码、站点的用户个人信息)之外,甚至在高权…