故障排除 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

故障排除

如果在使用 Amazon SageMaker Data Wrangler 时出现问题,我们建议您执行以下操作:

  • 如果提供了错误消息,请阅读消息并解决它报告的问题(如果可能)。

  • 请确保 Studio 用户的 IAM 角色具有执行操作所需的权限。有关更多信息,请参阅 安全和权限

  • 如果问题发生于您在尝试从其他 Amazon 服务(如 Amazon Redshift 或 Athena)导入时,请确保已配置必要的权限和资源来执行数据导入。有关更多信息,请参阅 导入

  • 如果问题仍然存在,请选择屏幕右上方的获取帮助,联系 Data Wrangler 团队。有关更多信息,请参阅以下图片。

作为最后的手段,您可以尝试重新启动运行 Data Wrangler 的内核。

  1. 保存并退出要重新启动内核的 .flow 文件。

  2. 选择正在运行的终端和内核图标,如下图所示。

  3. 选择要终止内核的 .flow 文件右侧的停止图标,如下图所示。

  4. 刷新浏览器。

  5. 重新打开正在处理的 .flow 文件。

排除 Amazon EMR 中的问题

可使用以下信息,帮助排除您在使用 Amazon EMR 时可能出现的错误。

  • 连接失败 – 如果连接失败并显示以下消息:The IP address of the EMR cluster isn't private error message,说明您的 Amazon EMR 集群可能未在专用子网中启动。作为安全最佳实践,Data Wrangler 仅支持连接到专用 Amazon EMR 集群。选择专用 EC2 子网,在其中启动 EMR 集群。

  • 连接挂起和超时 – 问题很可能是网络连接问题造成的。您开始连接到集群后,屏幕不会刷新。大约 2 分钟后,您可能会看到以下错误:JdbcAddConnectionError: An error occurred when trying to connect to presto: xxx: Connect to xxx failed: Connection timed out (Connection timed out) will display on top of the screen.

    此错误可能有两个根本原因:

    • Amazon EMR 和 Amazon SageMaker Studio 位于不同 VPC 中。我们建议在同一 VPC 中启动 Amazon EMR 和 Studio。您也可以使用 VPC 对等连接。有关更多信息,请参阅什么是 VPC 对等连接?

    • 在用于 Presto 的端口上,Amazon EMR 主安全组缺少 Amazon SageMaker Studio 安全组的入站流量规则。要解决此问题,请允许端口 8889 上的入站流量。

  • 由于连接类型配置错误,连接失败 – 您可能会看到以下错误消息: Data Wrangler couldn't create a connection to {connection_source} successfully. Try connecting to {connection_source} again. For more information, see Troubleshoot. If you’re still experiencing issues, contact support.

    请检查身份验证方法。您在 Data Wrangler 中指定的身份验证方法,应该与在集群上使用的身份验证方法相匹配。

  • 您不具备 LDAP 身份验证的 HDFS 权限 – 可使用以下指南解决问题:使用 Linux 凭证设置 HDFS 权限。您可以使用以下命令登录集群:

    hdfs dfs -mkdir /user/USERNAME hdfs dfs -chown USERNAME:USERNAME /user/USERNAME
  • LDAP 身份验证缺少连接密钥错误 – 您可能会看到以下错误消息:Data Wrangler couldn't connect to EMR hive successfully. JDBC connection is missing required connection key(s): PWD

    对于 LDAP 身份验证,必须指定用户名和密码。存储在 Secrets Manager 中的 JDBC URL 缺少属性 PWD

  • 您在排除 LDAP 配置故障时:我们建议您确保 LDAP 身份验证器(LDAP 服务器)已正确配置,可连接到 Amazon EMR 集群。可使用 ldapwhoami 命令帮助解决配置问题。例如,您可以运行以下命令:

    • 对于 LDAPS – ldapwhoami -x -H ldaps://ldap-server

    • 对于 LDAP – ldapwhoami -x -H ldap://ldap-server

    如果身份验证器配置成功,任一命令都应返回 Anonymous

Salesforce 故障排除

生命周期配置错误

您的用户首次打开 Studio 时,可能会收到一条错误消息,显示其生命周期配置有问题。可使用 Amazon CloudWatch 访问生命周期配置脚本所编写的日志。有关生命周期配置调试的更多信息,请参阅调试生命周期配置

如果您无法调试错误,可以手动创建配置文件。每次删除或重新启动 Jupyter 服务器时,都必须创建该文件。可按照以下过程手动创建该文件。

创建配置文件
  1. 导航至 Studio。

  2. 依次选择文件新建终端

  3. 创建 .sfgenie_identity_provider_oauth_config

  4. 在文本编辑器中打开该文件。

  5. 将包含 Secrets Manager 密钥的 Amazon 资源名称 (ARN) 的 JSON 对象添加到文件中。您可以使用以下模板创建对象。

    { "secret_arn": "example-secret-ARN" }
  6. 保存对文件所做的更改。

无法从 Data Wrangler 流访问 Salesforce Data Cloud

您的用户在从 Data Wrangler 流中选择 Salesforce Data Cloud 后,可能会收到一条错误消息,指出设置连接的先决条件尚未满足。这可能是由以下错误引起的:

  • Secrets Manager 中的 Salesforce 密钥尚未创建。

  • Secrets Manager 中的 Salesforce 密钥已创建,但缺少 Salesforce 标签。

  • Secrets Manager 中的 Salesforce 密钥已创建,但位于错误的 Amazon Web Services 区域中。例如,您的用户将无法访问 ca-central-1 中的 Salesforce Data Cloud,因为您是在 us-east-1 中创建的密钥。您可以将密钥复制到 ca-central-1 中,也可以使用相同的凭证在 ca-central-1 中创建新密钥。有关复制密钥的信息,请参阅将 Amazon Secrets Manager 密钥复制到其他 Amazon Web Services 区域

  • 您的用户用于访问 Amazon SageMaker Studio 的策略缺少 Amazon Secrets Manager 权限

  • 您在生命周期配置中指定的 JSON 对象的 Secrets Manager ARN 中有打字错误。

  • 包含 Salesforce OAuth 配置的 Secrets Manager 密钥中有打字错误

显示 redirect_uri_mismatch 的空白页面

您的用户在选择保存并连接后,可能会被重定向到一个显示 redirect_uri_mismatch 的页面。您在 Salesforce“连接的应用程序”设置中注册的回调 URI 要么丢失,要么不正确。

可使用以下 URL 检查 Studio URL 是否已在 Salesforce 组织的 “连接的应用程序”设置中正确注册:https://EXAMPLE_SALESFORCE_ORG/lightning/setup/NavigationMenus/home/。有关使用“连接的应用程序”设置的更多信息,请导航至以下 URL:https://EXAMPLE_SALESFORCE_ORG/lightning/setup/NavigationMenus/home/

注意

在 Salesforce 系统中传播 URI 大约需要十分钟。

共享空间

共享空间目前不适用于 Salesforce Data Cloud 集成。您可以在意欲使用的 Amazon SageMaker 域中删除共享空间,也可以使用其他未设置共享空间的域。

OAuth 重定向错误

您的用户在选择连接后,应该能够从 Salesforce Data Cloud 导入数据。如果遇到错误,我们建议要求用户执行以下操作:

  • 告诉用户耐心等待 – 当用户被重定向回 Amazon SageMaker Studio 时,可能需要最多一分钟即可完成身份验证过程。当用户被重定向时,我们建议告知用户应避免与浏览器交互。例如,不应关闭浏览器选项卡、切换到其他选项卡或与 Data Wrangler 流交互。与浏览器交互可能会删除连接到数据云所需的授权码。

  • 让用户重新连接到数据云 – 一些暂时性问题可能会导致与 Salesforce Data Cloud 的连接失败。让用户创建新的 Data Wrangler 流,然后再次尝试连接到 Salesforce Data Cloud。

  • 确保用户关闭使用 Amazon SageMaker Studio 的所有其他选项卡 – 在多个选项卡中打开 Studio 可能会造成 Salesforce Data Cloud 连接失败。确保用户只打开一个 Studio 选项卡。

  • 多个用户同时访问 Studio – 一次只能有一个用户访问 Amazon SageMaker 域。如果多个用户访问同一个域,则用户尝试创建的与 Salesforce Data Cloud 的连接可能会失败。

同时更新 Data Wrangler 和 Studio 也可能修复其错误。有关更新 Data Wrangler 的信息,请参阅更新 Data Wrangler。有关更新 Studio 的信息,请参阅关闭并更新 SageMaker Studio

如果上述故障排除步骤均不起作用,您可能会发现来自 Salesforce 的错误消息,并且 Studio URL 中嵌入了相应的描述。以下是您可能发现的消息示例:error=invalid_client_id&error_description=client%20identifier%20invalid

您可以查看 URL 中的错误消息,并尝试解决存在的问题。如果错误消息或描述不清楚,我们建议您搜索 Salesforce 知识库。如果搜索知识库不起作用,您可以联系 Salesforce 帮助中心以寻求更多帮助。

Data Wrangler 需要很长时间才能加载

当您的用户从 Salesforce Data Cloud 重定向回 Data Wrangler 时,可能需要很长的加载时间。

如果这是用户首次使用 Data Wrangler,或者用户删除了内核,那么可能需要大约 5 分钟配置新的 Amazon EC2 实例以使用 Data Wrangler。

如果用户并不是第一次使用 Data Wrangler,并且未删除内核,您可以要求用户刷新页面或关闭尽可能多的浏览器选项卡。

如果上述干预措施都不起作用,可以让用户建立与 Salesforce Data Cloud 的新连接。

用户导出数据失败且出现 Invalid batch Id 错误

当您的用户导出对其 Salesforce 数据所做的转换时,Data Wrangler 在后端使用的 SageMaker 处理作业可能会失败。Salesforce Data Cloud 可能暂时不可用,或者可能存在缓存问题。

为了解决这个问题,我们建议让您的用户回到导入数据并更改正在查询的列顺序的步骤。例如,用户可以将以下查询:

SELECT col_A, col_B FROM table

更改为以下查询:

SELECT col_B, col_A FROM table

用户在更改了列的顺序,并确保所做的后续转换仍然有效之后,可以再次开始导出数据。

用户无法导出非常大的数据集

如果您的用户从 Salesforce Data Cloud 导入了一个非常大的数据集,那么可能无法导出所做的转换。大型数据集可能包含太多行,也可能是复杂查询的结果。

我们建议让您的用户执行以下操作:

  • 简化其 SQL 查询

  • 对其数据进行采样

以下是用户可用来简化查询的一些策略:

  • 指定列名,而不是使用 * 运算符

  • 查找要导入的数据子集,而不是使用更大的子集

  • 最大限度减少大型数据集之间的连接

用户可以使用采样来减少数据集中的行数。有关采样方法的信息,您的用户可以参阅采样

由于刷新令牌无效,用户无法导出数据

Data Wrangler 使用 JDBC 驱动程序与 Salesforce Data Cloud 集成。身份验证方法是 OAuth。对于 OAuth,刷新令牌和访问令牌是两个不同的数据,用于授权访问 Salesforce Data Cloud 中的资源。

访问令牌或核心令牌允许通过 Data Wrangler,直接访问 Salesforce 数据并运行查询。其寿命很短,设计为很快过期。为了保持对 Salesforce 数据的访问权限,Data Wrangler 使用刷新令牌,从 Salesforce 获取新的访问令牌。

您可能将刷新的过期设置得太快,无法为用户获取新的访问令牌。您可能需要重访刷新令牌策略,以确保此策略可容纳需要为用户长时间运行的查询。有关配置刷新令牌策略的信息,请参阅 https://EXAMPLE_SALESFORCE_ORG_URL/lightning/setup/ConnectedApplication/home/

查询失败或表未加载

Salesforce 遇到了服务中断。即使您已正确配置所有设置,您的用户也可能在一段时间内无法导入其数据。

服务中断可能出于维护原因而发生。我们建议您第二天再查看问题是否已解决。

如果您遇到问题的时间超过一天,我们建议您联系 Salesforce 帮助中心以寻求进一步的帮助。有关联系 Salesforce 的信息,请参阅您希望如何与 Salesforce 取得联系?

Studio 重定向期间遇到 OAUTH_APP_BLOCKED

当您的用户被重定向回 Amazon SageMaker Studio 时,可能会注意到 URL 中的查询参数 error=OAUTH_APP_BLOCKED。用户可能是遇到了一个暂时性问题,应该可以在一天之内自行解决。

也有可能是您屏蔽了用户对连接的应用程序的访问。有关解决此问题的信息,请参阅 https://EXAMPLE_SALESFORCE_ORG_URL/lightning/setup/ConnectedApplication/home/

Studio 重定向期间遇到 OAUTH_APP_DENIED

当您的用户被重定向回 Amazon SageMaker Studio 时,可能会注意到 URL 中的查询参数 error=OAUTH_APP_ACCESS_DENIED。您尚未向其配置文件类型授予访问与 Data Wrangler 关联的 Connected App 的权限。

要解决用户的访问问题,请导航至 https://EXAMPLE_SALESFORCE_ORG_URL/lightning/setup/ManageUsers/home/,并检查是否为用户分配了正确的配置文件。