设置分段数据湖泊


免费X.
团队x
业务✓
附加X.

数据湖泊仅适用于列出的帐户计划。
看看可用计划, 或者联系我们

分段数据湖提供了一种以针对目标数据科学和数据分析工作流程进行优化的格式收集大量数据的方法。你可以阅读有关数据湖泊的更多信息和学习他们如何与仓库不同在我们的文档中。

段数据湖泊仅适用于商业层客户。manbetx客户端应用下载

先决条件

在设置段数据湖泊之前,您需要以下资源:

第1步 - 设置AWS资源

你可以使用开源Terraform模块自动化大部分建立工作,以获取数据湖泊并运行。如果您熟悉Terraform,您可以修改模块以满足您的组织的需求,但段仅保证为提供的模板支持。设置数据湖泊使用Terraform V0.11 +。为了支持更多版本的Terraform,AWS提供商必须使用V2,该v2包含在我们的示例中.TF.

你也可以用我们的手动设置说明如果您愿意,请配置AWS资源。

Terraform模块和手动设置指令均为段提供基本的权限(例如,正确的IAM角色,允许段代表您创建胶水数据库)。如果您想要更严格的权限或其他自定义配置,则可以手动自定义这些。

第2步 - 使能数据湖泊目的地

在你设置了必要的AWS资源后,下一步是在段内设置Data Lakes目的地:

  1. 在里面段应用程序,点击增加目的地,然后进行搜索和选择数据湖泊

  2. 点击配置数据湖泊并选择要连接到数据湖泊目标的源。警告:您必须将Workspace ID添加到IAM策略中的外部ID列表,否则源数据无法同步到S3。

  3. 在“设置”选项卡中,输入并保存以下连接设置:
    • AWS地区:AWS区域,您的EMR集群,S3桶和胶水DB所在的区域。前任:美国西 - 2
    • EMR集群ID:将运行数据湖泊作业的EMR群集ID。
    • 胶水目录ID.:胶水目录ID(这必须与您的AWS帐户ID相同)。
    • 我的角色是:IAM角色的ARN段将用于连接到数据湖泊。前任:ARN:AWS:IAM :: 000000000000:角色/分段涂层
    • S3 Bucket:数据湖泊使用的S3桶的名称。EMR群集将存储此桶中的日志。前任:分部数据 - 湖

    您必须单独将每个源单独连接到数据湖泊目标。但是,您可以通过单击从另一个来源复制设置......(“更多”)(“设置指南”按钮旁边)。

  4. (可选的)日期分区:可选高级设置,更改日期分区结构,默认结构日= / hr = 。若要使用默认值,请保持此设置不变。要通过不同的日期结构对数据进行分区,请选择以下选项之一:
    • 日/小时[yyyy-mm-dd / hh](默认)
    • 年/月/日/小时[YYYY / MM / DD / HH]
    • 年/月/日[YYYY / MM / DD]
    • 天(YYYY-MM-DD)
  5. (可选的)胶水数据库名称:可选高级设置,修改胶水数据库的名称,默认设置为源鼻涕虫。连接到Data Lakes的每个源必须有不同的Glue数据库名称,否则来自不同源的数据将在同一数据库中发生冲突。

  6. 控件附近的切换按钮,以启用Data Lakes目的地设置指南按钮。

一旦启用了Data Lakes目标,第一次同步将在大约2小时后开始。

步骤3 -验证数据是否同步到S3和Glue

您将看到事件数据和同步报告在第一个同步成功完成后,在S3和胶水中填充。但是,如果是权限不足或者无效的设置在设置期间提供,第一个数据湖同步将失败。

通过电子邮件发送同步故障,订阅存储目的地同步失败应用程序设置>用户首选项中的活动电子邮件通知>通知设置

同步失败电子邮件将发送在第1,第5和第20个同步失败。了解有关可能导致同步故障的错误类型的更多信息这里

(可选)步骤4 -回放历史数据

如果要使用a将历史数据添加到数据集中重播历史数据进入数据湖泊,联系分段支持团队要求。

处理重播所需的时间可以根据每个源的数据量和事件数量而异。如果您决定运行重播,我们建议您从过去六个月开始的数据开始入门,然后如果您发现您需要更多数据,请重播其他数据。

段创建一个单独的EMR集群以运行重放,然后在重放完成时销毁它。这可确保常规数据湖泊同步不会中断,并帮助重播完成更快。

常问问题

建立数据湖

我需要创建胶水数据库吗?

否,数据湖泊每个源自动创建一个胶粘库数据库。此数据库使用源SLUG作为其名称。

我在设置页面中使用什么IAM角色?

使用Terraform设置数据湖泊时,会创建四个角色。你补充说ARN:AWS:IAM :: $ CONSIC_ID:角色/段 - DATA-LAKE-IAM-角色在段Web应用程序中的数据湖设置页面的角色。

AWS角色有什么级别的访问权限?

Data Lakes在设置过程中分配的角色有:

  • 段 - DataLake-IAM-角色- 这是该段假定访问S3,胶水和EMR集群的角色。它允许分段访问:
    • 获取、创建、删除对胶水目录的访问权限。注意,这并不提供对Glue ETL或Glue爬行器的访问。
    • 只能访问用于数据湖的特定S3桶。
    • EMR仅访问具有群集供应商=段标签
  • semment_emr_service_role.- 仅由EMR服务假设只能假设的禁止作用。这是基于的AWS最佳实践

  • semment_emr_instance_profile_role.- 由EMR集群上运行的应用程序假定的角色。基于AWS最佳实践,它允许段访问:
    • 获取、创建、删除对胶水目录的访问权限。注意,这并不提供对Glue ETL或Glue爬行器的访问。
    • 只能访问用于数据湖的特定S3桶。
  • segment_emr_autoscaling_role- 仅唯一可以由EMR和EC2假设的禁用角色。这是基于的AWS最佳实践
为什么数据湖Terraform模块不创建S3桶?

该模块不创建新的S3 bucket,因此您可以为您的数据湖重用现有的bucket。

我的S3桶是否需要与其他基础设施相同的地区?

是的,S3桶和EMR群集必须在同一区域中。

如何将新数据源连接到数据湖?

要将新来源连接到数据湖泊:

  1. 确保这一点Workspace_id.段工作空间位于列表中外部ID在IAM政策中。您可以从AWS控制台更新这一点,或重新运行Terraform.的工作。
  2. 从段工作区中,将源连接到Data Lakes目标。
我可以配置多个源以使用相同的EMR群集吗?

是的,您可以配置多个源来使用同一个EMR集群。我们建议EMR集群仅用于数据湖,以确保不会因非数据湖作业而中断。

Post-Set起来

在启用源后,为什么我不在S3或胶水中看到任何数据?

如果在启用数据源后没有看到数据,请检查以下内容:

  • IAM角色外部ID是否包含段帐户ID和工作空间ID?
  • EMR集群是否正在运行?
  • 是否在设置中配置了正确的IAM角色和S3桶?

如果所有这些看起来都正确,请您仍然没有看到任何数据,请联系支持团队

S3中的“段输出”表是什么?

输出表是加载数据时创建的临时表。它们在每次同步后都会被删除。

我可以在S3桶数据湖泊中制作其他目录吗?

是的,您可以在S3中创建新目录,而不会干扰段数据。不要修改或使用以下名称创建其他目录:

  • 日志/
  • 分段阶段/
  • 细分数据/
  • 段日志/
“分区”在表名中的意思是什么?

分区只意味着表格有分区列(日期和小时)。所有表都已分区,因此您应该在所有表名称上看到此。

如何使用AWS Spectrum来访问胶水中的数据湖泊表,并将其与Redshift数据一起加入?

您可以使用以下命令在频谱中创建外部表,以访问胶水中的表,并使用redshift加入数据:

跑过创建外部架构命令:

创造外部的模式[spectrum_schema_name.]数据目录数据库[glue_db_name.]Iam_role.在攻击aws我是:: [account_id]:角色/MySpectrumRole创造外部的数据库如果存在;

代替:

  • [glue_db_name] =由数据湖泊创建的胶胶数据库,该数据库以源块命名
  • [spectrum_schema_name] =您要映射到的redshift中的模式名称

此页面上次修改:2021年3月5日



开始使用细分

细分是将网站和移动应用数据整合到300多个分析和增长工具的最简单方法。
或者
创建免费帐户