问题标签 [aws-glue-data-catalog]
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.
python - AWS Glue 搜索选项
我目前正在使用 AWS Glue 数据目录来组织我的数据库。一旦我建立了连接并发送了我的爬虫来收集信息,我就能够看到制定的元数据。
一个很好的功能是能够在一个列名上搜索整个数据目录。例如,如果我的数据目录中有 5 个表,其中一个表恰好有一个字段“年龄”。我希望能够看到那张桌子。
我还想知道是否可以搜索 AWS Glue 数据目录表中每列的“评论”字段
希望能得到一些帮助!
database - 向数据库列添加注释并从 AWS Glue 检索
我正在尝试将 AWS GLUE 数据目录合并到我正在构建的数据湖中。我正在使用几个不同的数据库,并希望将 COMMENTS 添加到其中一些表的列中。这些数据库包括 Redshift 和 MySql。我通常通过按照以下方式将评论添加到列中
现在我知道 Glue 有一个显示在 GUI 中的注释字段。有没有办法将 Glue 中的评论字段与我添加到数据库列中的评论同步?
amazon-web-services - 我可以在 Aws 上使用 terraform 为 Glue 上的表名指定正则表达式吗?
我想应用以下 Terraformaws_iam_policy_document
数据源:
所以我只能允许 Glue Delete Table 对像这样的表,table_name_454044243243
但像这样的表table_name_blablabla
不应该是可删除的。
但我找不到有关可用正则表达式的任何信息。
amazon-web-services - 如何在 Glue 作业中访问 AWS Glue 工作流的运行属性?
我一直在使用 AWS Glue 工作流程来编排批处理作业。我们需要通过下推谓词来限制批处理作业的处理。当我们单独运行 Glue 作业时,我们可以在运行时将下推谓词作为命令行参数传递(即 aws glue start-job-run --job-name foo.scala --arguments --arg1-text ${arg1} ..)。但是当我们使用胶水工作流来执行胶水作业时,就有点不清楚了。
当我们使用 AWS Glue 工作流程编排批处理作业时,我们可以在创建工作流程时添加运行属性。
- 我可以使用运行属性为我的 Glue Job 传递下推谓词吗?
- 如果是,那么我如何在运行时定义运行属性(下推谓词)的值。我想在运行时为下推谓词定义值的原因是因为谓词每天都在任意变化。(即过去 10 天、过去 20 天、过去 2 天等运行胶水工作流程)
我试过了:
aws 胶水启动工作流运行--名称工作流名称 | jq -r '.RunId '
aws 胶水 put-workflow-run-properties --name 工作流名称 --run-id "ID" --run-properties --pushdownpredicate="some value"
我可以看到我使用 put-workflow-run-property 传递的运行属性
aws 胶水放置工作流运行属性 --name 工作流名称 --run-id "ID"
但我无法在我的 Glue Job 中检测到“pushdownpredicate”。知道如何在 Glue Job 中访问工作流的运行属性吗?
amazon-web-services - Redshift COPY 并自动创建表?
有没有办法在 Redshift 中自动创建一个内部表,然后使用 COPY 将数据移入其中?我可以不使用存储在 AWS Glue 数据目录中的元数据来创建它吗?
现在据我了解,必须手动编写 SQL 来创建表,然后运行 COPY 将数据移动到表中。
编辑:我的问题是表创建。我要运行 COPY 表必须已经存在。我可以使用现有的 GLUE 元数据创建此表吗?或者我只能手工编写 SQL 吗?
amazon-web-services - Glue 以外的 AWS Athena 目录
众所周知,AWS Athena 与用于数据目录的 AWS Glue 集成。有没有办法将 Athena 配置为使用不同的目录,例如指向由用户管理的不同 Hive 元存储(例如在 EC2 实例上)?
aws-glue - AWS Glue 作业使用来自外部 REST API 的数据
我正在尝试创建一个工作流,其中 AWS Glue ETL 作业将从外部 REST API 而不是 S3 或任何其他 AWS 内部源中提取 JSON 数据。这甚至可能吗?有人做吗?请帮忙!
scala - 无法读取 Parquet 支持的区分大小写的 Glue 表
Spark 版本:Amazon EMR 5.24.0 上的 2.4.2
我有一个由 S3 Parquet 目录支持的 Glue 目录表。Parquet 文件具有区分大小写的列名(如lastModified
)。不管我做什么,lastmodified
在使用 Spark 读取 Glue Catalog 表时,我会得到小写的列名 ( ):
[1] https://medium.com/@an_chee/why-using-mixed-case-field-names-in-hive-spark-sql-is-a-bad-idea-95da8b6ec1e0
[2] https:// spark.apache.org/docs/latest/sql-data-sources-parquet.html
amazon-web-services - AWS ATHENA:HIVE_CANNOT_OPEN_SPLIT:打开 Hive 拆分时出错,查询 Parquet 文件时架构不匹配
HIVE_CANNOT_OPEN_SPLIT:打开 Hive 拆分 s3://exp-mahesh-sandbox/Demo/Year=2017/Month=1/Day=3/part-00015-d0e1263a-616e-435f-b4f4-9154afb3f07d.c000.snappy.parquet 时出错(偏移量 = 0,长度 = 12795):架构不匹配,行列统计的元存储架构有 17 个字段,但镶木地板架构有 9 个字段
我使用 AWS Glue 爬虫来获取 Parquet 文件的架构。最初我在分区 Day=1 和 Day=2 中有几个文件,运行爬虫并能够使用 Athena 查询它。在分区 Day=3 中添加更多文件后,其中具有“统计”(类型:结构)列的文件架构有一些缺失字段,Athena 抛出上述错误。有什么办法可以解决这个问题。我期望缺少的字段中有空值。
我已经尝试过在爬虫的数据目录选项中更新表定义,但它给出了相同的结果。
amazon-web-services - 从 S3 存储桶对 AWS Glue 中的 .tar 文件进行编目
我在 AWS S3 存储桶中有一个文件“v1.02_train.tar”(来自 Lyft 数据集https://level5.lyft.com/dataset/)。我正在尝试将其添加到 AWS Glue 数据目录。
如何让 AWS Glue 爬虫从 .tar 文件中检测架构?我对解压缩文件犹豫不决,因为爬虫将分别对每个图像文件进行编目,将数百万个表添加到数据目录中。此外,它将增加 S3 存储桶的大小,从而使存储变得更加昂贵。
关于如何最好地编目这个文件集合的任何想法?