问题标签 [aws-glue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-s3 - AWS Glue 作业未写入 S3
我刚刚在玩 Glue,但还没有让它成功地在现有的 S3 存储桶中创建一个新表。该作业将毫无错误地执行,但 S3 中永远不会有任何输出。
以下是自动生成的代码:
已经尝试了所有变体 - 文件名(尚不存在),在存储桶的根文件夹中,尾部斜杠和没有。正在使用的角色对 S3 具有完全访问权限。尝试在不同区域创建存储桶。虽然没有创建任何文件。再次控制台说它成功了。
amazon-web-services - AWS Glue Crawler 覆盖自定义表属性
我有一个由 AWS Glue 管理的数据目录,以及我的开发人员在我们的 S3 存储桶中使用新表或分区进行的任何更新,我们每天都使用爬虫进行更新以保持新分区的健康。
但是,我们还需要自定义表格属性。在我们的 hive 中,我们将每个表的数据源作为表属性,我们在胶水中添加到数据目录中的表,但是每次运行爬虫时,它都会覆盖自定义表属性,如描述。
我做错什么了吗?或者这是来自 AWS Glue 的错误?
python - glue job for redshift connection: "Unable to find suitable security group"
I'm trying to set up a AWS Glue job and make a connection to Redshift.
I'm getting error when I set the connection type to Redshift:
"Unable to find a suitable security group. Change connection type to JDBC and retry adding your connection."
Following what was said here in these forums, I added permissions to my IAM account for role AWSGlueServiceRoleDefault
:
I then set up the job with the matching IAM role AWSGlueServiceRoleDefault
:
I need to store the Glue data in Redshift DB, so I chose JDBC then added a connection:
As soon as I choose Redshift
, it complains that it cannot find a suitable security group. Why is this?
apache-spark - Spark SQL:空值在结果文件中被转换为空字符串
我在 AWS Glue 中编写了一个脚本,用于从 AWS S3 读取 CSV 文件,对几个字段应用空检查并将结果作为新文件存储回 S3。问题是当它遇到 String 类型的字段时,如果值为 null,它将被转换为空字符串。但我不希望这种转换发生。对于所有其他数据类型,它工作正常。
这是到目前为止编写的脚本:
谁能建议如何摆脱这个问题?
谢谢。
amazon-web-services - EMR 集群中的 Zeppelin 未列出 AWS 胶水中的目录表
我想使用 AWS Glue 数据目录作为 Spark SQL 的元存储。我已经按照此处的说明通过 AWS 控制台启动了 EMR 集群。
我可以从 spark-shell 中看到所有 Glue 目录表,但不能从 Zeppelin 中看到。
Zeppelin 属性配置中是否需要设置任何属性?
提前致谢。
amazon-web-services - AWS Glue:如何减少 ETL 作业的 DPU 数量
关于定价的 AWS Glue 文档如下:
Glue ETL 作业至少需要 2 个 DPU。默认情况下,AWS Glue 为每个 ETL 作业分配 10 个 DPU。您需要为每个 DPU 小时支付 0.44 美元的费用,增量为 1 分钟,四舍五入到最接近的分钟,每个 ETL 作业的最短持续时间为 10 分钟。
我想减少分配给我的 ETL 作业的 DPU 数量。我在 Glue 控制台中搜索了此选项。但我没找到。你能告诉我我该怎么做吗?
谢谢
amazon-web-services - 创建到 MS SQL Server RDS 的胶水连接时出现问题
我在这里阅读了所有已回答的问题,其中 5 个。而且它们现在都已经过时了可用的 AWS 产品。
因此,作为 AWS 的新手,我想知道如何解决我的问题,或者仅使用 AWS 解决方案来解决我的问题的最佳方法是什么。我想避免任何第三方。我知道我将引用我在谷歌上搜索的一种方法,但只是参考它。
无论如何,我有一个目标要实现,这基本上是用仅使用 AWS 产品的东西替换我的 SQL Server 2012 集成服务。现在我正在访问一个 FTP 服务器并将一堆 CSV 文件下载到我的驱动器,读取它们,将它们转换为我的数据集并将它们加载到我指定的表中。此过程计划每天执行 3 次。
我最初的建议是将文件上传到 S3,使用 AWS Glue Crawlers 来抓取我的文件并填充我自己创建的 AWS Glue 数据目录,它们 ETL 到我的 RDS。到目前为止,我可以实现我的 Lambda 函数来连接我的 FTP 并上传到我的 S3,我还可以使用 AWS Athena 检索我的数据,看看是否一切正常。
但是现在,我正在努力将我的 ETL 复制/创建我的表到 RDS 并写入数据。我在同一个 RDS VPC、子网和安全组下创建了我的胶水连接,我的安全组也有来自任何地方的所有 TCP 入站(我知道,我不会离开这个,它只是为了测试)并且我正在使用 JDBC,编写以下 JDBC URL:
我可以使用 AWS Glue 中的“测试连接”来测试我创建的连接,并且效果很好。但是在使用 Job 教程创建我的 Job 并运行它之后,在我的日志错误中我可以看到:
我尝试使用Amazon RDS选项创建连接,但在选择实例后的第二个屏幕上,我收到以下错误:
我检查了我的 IAM,我确实在AWS 服务中拥有AWSGlueServiceRoleDefault角色:如文档中所述,为 AWS 托管策略粘合可信服务和AWSGlueServiceRole。
我想知道我缺少什么或如何修复它以使其正常工作。或者即使有更好的方法来实现我的目标。
python - 在 AWS Glue 中使用纯 python 外部库时 HDFS 中的权限错误
我尝试在 AWS Glue 上运行导入外部纯 Python 库 (psycopg2) 的自定义 Python 脚本,但失败了。我查看了 CloudWatch 日志,发现失败的原因是:
Spark 未能对 HDFS 中的多个文件夹进行权限检查,其中一个包含我上传到 S3 (s3://path/to/psycopg2) 的外部 python 库,它需要 -x 权限:
我确保该库仅包含 AWS 文档中说明的 .py 文件。
有谁知道出了什么问题?
非常感谢!
amazon-web-services - 从 aws Glue 脚本调用存储过程
ETL 作业完成后,在 AWS Glue 脚本中调用存储过程的最佳方法是什么?
我正在使用 PySpark 从 S3 获取数据并存储在临时表中。在这个过程之后,需要调用一个存储过程。此存储过程将数据从临时表加载到适当的 MDS 表中。
如果我必须在 ETL 作业完成后调用存储过程,最好的方法是什么?如果我考虑 AWS lambda,有什么方法可以在 ETL 之后通知 lambda。
apache-spark - 使用 Amazon Glue 将一行转换为多行
我正在尝试使用 Amazon Glue 将一行变成多行。我的目标是类似于 SQL UNPIVOT。
我有一个 360GB 的管道分隔文本文件,压缩 (gzip)。它有超过 1,620 列。这是基本布局:
这些属性名称/值字段有 800 多个。大约有 2.8 亿行。该文件位于 S3 存储桶中。我需要将数据导入 Redshift,但 Redshift 中的列限制为 1,600。
用户希望我取消数据透视。例如:
我相信我可以为此使用 Amazon Glue。但是,这是我第一次使用 Glue。我正在努力寻找一个好的方法来做到这一点。一些 pySpark 扩展转换看起来很有希望(可能是“映射”或“关系化”)。请参阅http://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-etl-scripts-pyspark-transforms.html。所以,我的问题是:在 Glue 中执行此操作的好方法是什么?
谢谢。