aws-glue相关内容

如何从S3中解压缩ZIP文件,重新压缩它们,然后将它们移动到S3存储桶中(&;)?

我有一个S3存储桶,里面有一堆zip文件。我想要解压缩zip文件,并且对于每个解压缩的项目,我想创建一个$file.gz并将其保存到另一个S3存储桶中。我在考虑为它做一个胶水工作,但我不知道怎么开始。有线索吗? 最终,我希望实现我的解决方案,只要S3存储桶中有新文件,就应该触发它 是Lambda函数还是任何其他服务更适合于此? 推荐答案 从体系结构的角度来看,这取决于压缩文 ..
发布时间:2022-03-12 20:00:21 其他开发

如何将数据从 Glue 移动到 Dynamodb

我们正在为我们的一个仪表板应用程序设计一个大数据解决方案,并认真考虑将 Glue 用于我们的初始 ETL.目前 Glue 支持 JDBC 和 S3 作为目标,但我们的下游服务和组件将更好地与 dynamodb 配合使用.我们想知道最终将记录从 Glue 移动到 Dynamo 的最佳方法是什么. 我们是否应该先写入 S3,然后运行 ​​lambdas 将数据插入 Dynamo?这是最佳做法吗? ..
发布时间:2022-01-15 17:04:06 其他开发

AWS Glue Crawler 将 json 文件分类为 UNKNOWN

我正在处理一项 ETL 作业,该作业会将 JSON 文件提取到 RDS 临时表中.我配置的爬虫可以对 JSON 文件进行分类,只要它们的大小小于 1MB.如果我缩小文件(而不是漂亮的打印件),如果结果小于 1MB,它将毫无问题地对文件进行分类. 我在想出解决方法时遇到了麻烦.我尝试将 JSON 转换为 BSON 或 GZIPing JSON 文件,但它仍然归类为 UNKNOWN. 有没 ..
发布时间:2021-12-22 21:41:12 其他开发

AWS Glue - 在插入之前截断目标 postgres 表

我正在尝试在插入之前截断 postgres 目标表,并且通常尝试利用已在 GLUE 中创建的连接来触发外部函数. 有人能做到吗? 解决方案 我已经尝试了 DROP/TRUNCATE 方案,但是无法使用 Glue 中已经创建的连接来实现,但是使用纯 Python PostgreSQL 驱动程序 pg8000. 从pypi下载pg8000的tar 在根文件夹中创建一个空的__in ..
发布时间:2021-12-22 21:39:14 Python

如何为 Scala Spark ETL 设置本地开发环境以在 AWS Glue 中运行?

我希望能够在我的本地 IDE 中编写 Scala,然后将其部署到 AWS Glue 作为构建过程的一部分.但我无法找到构建 AWS 生成的 GlueApp 框架所需的库. aws-java-sdk-glue 没有't 包含导入的类,我在其他任何地方都找不到这些库.虽然它们必须存在于某个地方,但也许它们只是这个库的 Java/Scala 端口:aws-glue-libs 来自 AWS 的 ..
发布时间:2021-12-22 21:27:54 其他开发

如何使用 AWS Glue 运行任意/DDL SQL 语句或存储过程

是否可以从 AWS Glue python 作业执行任意 SQL 命令,例如 ALTER TABLE?我知道我可以用它从表中读取数据,但是有没有办法执行其他数据库特定的命令? 我需要将数据摄取到目标数据库中,然后立即运行一些 ALTER 命令. 解决方案 因此,在进行了广泛的研究并在 AWS 支持下打开了一个案例后,他们告诉我目前无法从 Python shell 或 Glue pys ..
发布时间:2021-12-22 21:24:22 其他开发

AWS Glue 输出文件名

我正在使用 AWS 来转换一些 JSON 文件.我已将文件从 S3 添加到 Glue.我设置的作业读取文件正常,作业运行成功,有一个文件添加到正确的 S3 存储桶中.我遇到的问题是我无法命名文件 - 它被赋予了一个随机名称,它也没有被赋予 .JSON 扩展名. 如何命名文件并将扩展名添加到输出中? 解决方案 由于 Spark 工作方式的性质,无法命名文件.但是,之后可以立即重命名文件 ..
发布时间:2021-12-06 13:07:45 其他开发

使用 AWS Glue 时如何查找更新的行?

我正在尝试将 Glue 用于从 RDS 转移到 Redshift 的数据的 ETL. 据我所知,Glue 书签仅使用指定的主键查找新行,而不会跟踪更新的行. 但是,我正在处理的数据往往会经常更新行,我正在寻找可能的解决方案.我对 pyspark 有点陌生,所以如果可以在 pyspark 中做到这一点,我非常感谢一些指导或正确方向的观点.如果在 Spark 之外有可能的解决方案,我也很乐 ..
发布时间:2021-12-06 12:25:38 其他开发

将 AWS Glue Python 与 NumPy 和 Pandas Python 包结合使用

在 AWS 上名为 Glue 的新 ETL 工具中使用 NumPy 和 Pandas 等包的最简单方法是什么?我在 Python 中有一个完整的脚本,我想在利用 NumPy 和 Pandas 的 AWS Glue 中运行. 解决方案 我认为目前的答案是你不能.根据 AWS Glue 文档: 只能使用纯 Python 库.尚不支持依赖 C 扩展的库,例如 pandas Python 数 ..
发布时间:2021-11-27 11:22:50 Python

Firehose JSON ->S3 实木复合地板 ->ETL Spark,错误:无法推断 Parquet 的架构

看起来这应该很容易,就像它是这组功能的核心用例一样,但它却是一个接一个的问题. 最新的尝试是通过 Glue Dev 端点(PySpark 和 Scala 端点)运行命令. 按照此处的说明操作:https://docs.aws.amazon.com/glue/latest/dg/dev-endpoint-tutorial-repl.html 导入系统从 pyspark.context ..
发布时间:2021-11-27 10:24:15 其他开发

AWS Glue 定价与 AWS EMR

我正在 AWS Glue 与 AWS EMR 之间进行一些定价比较,以便在 EMR 和胶水. 我考虑过 6 个 DPU(4 个 vCPU + 16 GB 内存),其中 ETL 作业运行 10 分钟,持续 30 天.假设抓取工具的预期请求比免费层级高 100 万个,对于 100 万个额外请求,按 1 美元计算. 在 EMR 上,我已考虑将 m3.xlarge 用于 EC2 和EMR(价格 ..

输入数据格式更改时,Athena 将数据放在错误的列中

我们有一些管道分隔的 .txt 报告进入 S3 中的一个文件夹,我们在该文件夹上运行 Glue 爬虫来确定 Athena 中的架构和查询. 报告的格式最近发生了变化,因此中间有两个新列. 旧文件: 列 A B C D E F数据 a1 b1 c1 d1 e1 f1 具有额外“G"和“H"列的新文件: 列 A B G H C D E F数据 a2 b2 g2 h2 c2 d2 e2 ..
发布时间:2021-11-27 08:54:15 其他开发

当 s3 数据存储同时具有 json 和 .gz 压缩文件时,如何通过 Glue 爬虫创建 AWS Athena 表?

我的预期解决方案中有两个问题: 1.我的 S3 存储结构如下: mainfolder/date=2019-01-01/hour=14/abcd.json主文件夹/日期=2019-01-01/小时=13/abcd2.json.gz...主文件夹/日期=2019-01-15/小时=13/abcd74.json.gz 所有 json 文件都具有相同的架构,我想制作一个指向 mainfolder ..
发布时间:2021-11-27 08:53:46 其他开发

AWS 粘合作业将字符串映射到日期和时间格式,同时从 csv 转换为镶木地板

在从 csv 转换为 parquet 时,使用 AWS 胶水 ETL 作业跟随 csv 中的映射字段读取为字符串到日期和时间类型.这是实际的 csv 文件 映射和转换后,日期字段为空,时间与今天的日期连接 如何以正确的日期和时间格式进行转换? 解决方案 它使用 presto 数据类型,因此数据应该采用正确的格式 DATE 日历日期(年、月、日). 示例:日期'200 ..
发布时间:2021-11-27 08:53:15 其他开发

AWS Glue 爬网程序需要从许多具有相同架构的文件中创建一个表

我们在 S3 中有大量文件夹和文件,都在一个特定文件夹下,我们想抓取所有 CSV 文件,然后从 Athena 的 one 表中查询它们.CSV 文件都具有相同的架构.问题是爬虫为每个文件生成一个表,而不是一个表.爬虫配置有一个复选框选项“为每个 S3 路径创建一个模式",但这似乎没有任何作用. 我需要的可能吗?谢谢. 解决方案 Glue crawlers 声称可以解决很多问题,但实际 ..
发布时间:2021-11-27 08:51:46 其他开发