问题标签 [aws-lake-formation]

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.

0 投票
2 回答
1066 浏览

amazon-web-services - 传统数据湖与 AWS Lake Formation

我一直在为客户设置数据湖,在其中我们将来自本地或任何其他来源的数据加载到 S3(数据湖)中。我们将在这些原始数据上创建一个 AWS Glue 目录以创建架构。

下一步是使用 EMR 或 AWS Glue 进行一些数据清理,将转换后的数据加载到 RDS / REDSHIFT / S3 作为最终目标。

根据使用的用例/服务,可以使用数据管道、Glue 作业或 AWS Lambda 事件触发器来安排作业。

分析师和其他用户将使用 IAM 服务获得所需的数据/S3 存储桶访问权限,以进行 Quicksight 可视化或使用 Athena、Drill 等进行数据查询,或将数据用于 Sagemaker 中的 ML 应用程序。

我的问题是 AWS Lake Formation 与传统数据湖有何不同?

我可以定义 AWS Lake Formation 提供上述所有服务,例如 S3、Glue 目录、Glue 中的 ETL 代码生成器、作业调度程序等,都可以在单个窗口中使用吗?为用户/数据(记录/列级别)提供一些更高级的安全性,可以从 Lake Formation 控制台中配置。

还有什么其他因素使 Lake Formation 从传统的基于云的 Data Lake 中脱颖而出?

谢谢

0 投票
1 回答
108 浏览

aws-lake-formation - 以编程方式触发 AWS Lake Formation Workflow

在文档中,我没有提到以编程方式触发工作流(例如,将数据从 RDBMS 加载到 S3 中)。我也没有在 AWS Lake Formation 的 API 规范中找到任何内容。我们使用 Airflow 来调度我们的 ETL 管道,如果我们可以通过 API 调用触发 Workflow,那就太好了。

0 投票
0 回答
660 浏览

amazon-web-services - AWS Glue 动态框架创建错误 - InvalidInputException

我正在尝试使用以下命令从 S3 对象创建 Glue DynamicFrame。

这给出了一个InvalidInputException有理由的存在Cannot vend credentials for buckets in multiple regions

这在之前的类似设置中有效,但在我尝试的新帐户中失败了。关于这里可能有什么问题的任何线索?

完全错误

0 投票
1 回答
88 浏览

amazon-web-services - 如何将 AWS Glue 中经过训练的 FindMatch ML 转换从 UAT 复制到 AWS 中的 PROD 环境

我最近在 AWS 中使用 FindMatch ML Transform 来帮助查找给定数据集中的重复记录。要创建 ml 转换,我必须使用 AWS Glue 并创建它。要使用转换,我必须通过生成标签文件并使用它来训练转换来手动训练它。为了使用转换,我在转换之上创建了一个 AWS Glue 作业。我有一个要求,明天当我必须将这个经过训练的机器学习转换从一个环境移动到另一个环境时,比如从 UAT 到 PROD,我应该如何处理它。问题是当我训练 ml 转换时,它肯定会将训练后的信息保存在 AWS 中的某个位置,例如 S3 位置或内存中。如果我能找到可以存储培训的位置,我可以将该数据复制到新的 AWS 环境中,创建一个新的 ml 转换并将复制的数据附加到 ml 转换。这样,它可以使我免于在 PROD 环境中再次进行 ml 转换的再培训工作。

我有一种方法可以保存用于在 UAT 中训练转换的标签文件,使用相同的标签文件在 PROD AWS 中训练 ml 转换。请让我知道是否有另一种方法可以做到这一点,实际上很想知道我是否可以找到 ml 变换的训练数据的位置,将其复制到新环境并将其附加到 PROD 中的新 ml 变换AWS。

0 投票
0 回答
542 浏览

mysql - AWS Glue Crawler 在 Lake Formation 中创建空表

我已经成功地将 MySQL RDS 数据库中的数据提取到具有 Lake Formation 蓝图的 S3 存储桶中。

检查数据后,大约 41/60 个表已正确摄取。

错误搜索揭示了两件事:

  1. 由于蓝图/工作流程中的此错误,我的蓝图工作流程没有摄取所有表:

调用 o319.pyWriteDynamicFrame 时出错。二进制编码结果集中 14 列的第 9 列中的未知类型 '245。

  1. 正在创建缺少的表,但其中没有数据。通过检查 JSON 表属性,这是由初始爬网执行的。

我已经了解到,第 1 点的这个错误是将 JSON 识别为 MySQL 数据库的列类型

以前有人遇到过这样的问题吗?我没有在 Glue 上编辑 AWS JDBC 驱动程序的经验,因为文档一如既往地很差。

我是否缺少明显的解决方法?

这是标记为“导入失败”的工作流程的屏幕截图

以下是已成功提取的表 (successful_table) 的 JSON 表属性:

以下是未成功提取但已创建的表 (bad_table) 的 JSON 表属性:

也许这些成功和失败的 JSON 表属性的比较是关键。

任何帮助将不胜感激!

0 投票
1 回答
462 浏览

amazon-web-services - 启用 IAM 角色设置以使用 Lake Formation 创建数据库和表

IAM 角色的设置是什么,某些服务可以使用它来创建数据库和表,并在启用 Lake Formation 时,在从 IAMAllowedPrincipals 组撤销 SUPER后查询该表?附加到此类角色的 AWS 推荐的 IAM 策略不起作用:

}

0 投票
1 回答
514 浏览

amazon-web-services - AWS Glue 开发终端节点无法正常工作

我正在尝试使用开发端点以交互方式运行和编辑 ETL 脚本,但是在创建它之后开发端点中似乎存在一些问题,因为我在 scala/python REPL 中遇到错误并且也无法对远程解释器进行 SSH 隧道。让我解释一下我到底做了什么——我在 AWS 控制台中使用所有默认配置创建了一个开发终端节点。在创建开发端点时,我只提供了三件事“开发端点名称”和“IAM 角色”以及我的“pub ssh 密钥”。这是创建后的样子

在此处输入图像描述

然后在创建端点后,我连接到 spark/python REPL,我能够成功连接到它们,但在连接后几分钟内,REPL 开始抛出错误,而无需编写任何代码。这发生在开发端点中存在的所有 REPL 中。

在此处输入图像描述

此外,当我尝试对远程解释器进行 SSH 隧道连接以连接我的本地 Zeppelin 笔记本时,它会抛出 - “绑定:无法分配请求的地址”。

有几件事情虽然有效 -

  • 能够对端点执行 ssh。
  • 在连接到这个开发端点的 AWS 胶水中创建了一个 Sagemaker 笔记本,这个笔记本似乎工作正常,尽管它肯定会增加额外的成本,我不想继续使用它。

谁能帮助我做错了什么?在创建开发端点后,我是否遗漏了需要在机器上完成的任何重要步骤?

提前致谢!

0 投票
1 回答
959 浏览

python - AWS Lake Formation:grant_permissions:Resource.Table 中的未知参数:“TableWildcard”

尝试通过 Lambda 函数授予湖权限。(Python 3.8)据我所见,我的代码符合文档。然而,却出现了一连串关于参数不正确的胡说八道的错误。难道我只需要一个配镜师?或者是一些细微差别,或者今天亚马逊风吹向哪个方向?

==================================================== =====================================

[错误] ParamValidationError:参数验证失败:Resource.Table 中缺少必需的参数:“Name”Resource.Table 中的未知参数:“TableWildcard”,必须是以下之一:DatabaseName、Name Traceback(最近一次调用):文件“/ var/task/main.py",第 10 行,在主响应中 = client.grant_permissions( 文件 "/var/runtime/botocore/client.py",第 316 行,在 _api_call return self._make_api_call(operation_name, kwargs) 文件中" /var/runtime/botocore/client.py”,第 607 行,在 _make_api_call request_dict = self._convert_to_request_dict(文件“/var/runtime/botocore/client.py”,第 655 行,在 _convert_to_request_dict request_dict = self._serializer.serialize_to_request(文件“/var/runtime/botocore/validate.py”,第 297 行,在 serialize_to_request 中引发 ParamValidationError(report=report.generate_report())

0 投票
1 回答
361 浏览

python-3.x - AWS boto3 - 资源:lakeformation 功能:batch_revoke_permissions - 代表 ALL_TABLES

我们如何在 boto3 的lake_formation.batch_revoke_permissions 函数中表示“ALL_TABLES”。将参数传递为

{'表':{'数据库名称':'XXXX','名称':'ALL_TABLES'}}

它失败并出现以下错误。

'错误':{'ErrorCode':'InvalidInputException','ErrorMessage':'表:找不到ALL_TABLES。' }

0 投票
2 回答
7576 浏览

amazon-web-services - AWS Lake Formation:s3://abc/ 上的 Lake Formation 权限不足

我正在尝试从 AWS Lake Formation Console 设置数据湖。

我正在关注以下资源来做同样的事情:https ://aws.amazon.com/blogs/big-data/integrating-aws-lake-formation-with-amazon-rds-for-sql-server/

但是在创建数据库的第二步中,在输入数据库名称并选择 s3 位置后,我得到了

s3 上的 Lake Formation 权限不足:

我检查了我的权限,我已将管理员角色映射到我的帐户,它允许所有 (*)

任何人都可以帮助解决实际问题!