

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 故障排除
<a name="data-wrangler-trouble-shooting"></a>

如果在使用 Amazon SageMaker Data Wrangler 时出现问题，我们建议您执行以下操作：
+ 如果提供了错误消息，请阅读消息并解决它报告的问题（如果可能）。
+ 确保 Studio Classic 用户的 IAM 角色拥有执行该操作所需的权限。有关更多信息，请参阅 [安全性和权限](data-wrangler-security.md)。
+ 如果您尝试从其他 Amazon 服务（例如 Amazon Redshift 或 Athena）导入时出现问题，请确保您已配置执行数据导入所需的权限和资源。有关更多信息，请参阅 [导入](data-wrangler-import.md)。
+ 如果问题仍然存在，请选择屏幕右上方的**获取帮助**，联系 Data Wrangler 团队。有关更多信息，请参阅以下图片。  
![\[Data Wrangler 管理控制台中 Data Wrangler 帮助表格的位置。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/studio/mohave/get-help/get-help.png)  
![\[Data Wrangler 管理控制台中的 Data Wrangler 帮助表格。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/studio/mohave/get-help/get-help-forms.png)

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

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

1. 选择****正在运行的终端和内核****图标，如下图所示。  
![\[管理控制台中运行终端和内核图标的位置。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/studio/mohave/stop-kernel-option.png)

1. 选择要终止内核的 .flow 文件右侧的**停止**图标，如下图所示。  
![\[管理控制台中停止图标的位置。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/studio/mohave/stop-kernel.png)

1. 刷新浏览器。

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

## 排除 Amazon EMR 中的问题
<a name="data-wrangler-trouble-shooting-emr"></a>

可使用以下信息，帮助排除您在使用 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.`。

  此错误可能有两个根本原因：
  + 亚马逊 EMR 和 Amazon SageMaker Studio Classic 有所不同。 VPCs我们建议在同一个 VPC 中同时启动 Amazon EMR 和 Studio Classic。您也可以使用 VPC 对等连接。有关更多信息，请参阅[什么是 VPC 对等连接？](https://docs.amazonaws.cn/vpc/latest/peering/what-is-vpc-peering.html)
  + Amazon EMR 主安全组在 Presto 使用的端口上缺少 Amazon SageMaker Studio Classic 安全组的入站流量规则。要解决此问题，请允许端口 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 权限](https://docs.amazonaws.cn/whitepapers/latest/teaching-big-data-skills-with-amazon-emr/set-up-hdfs-permissions-using-linux-credentials.html)。您可以使用以下命令登录集群：

  ```
  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 故障排除
<a name="data-wrangler-troubleshooting-salesforce-data-cloud"></a>

### 生命周期配置错误
<a name="data-wrangler-troubleshooting-salesforce-lcc-debug-data-cloud"></a>

当用户第一次打开 Studio Classic 时，可能会出现错误，提示生命周期配置有问题。使用 Amazon CloudWatch 访问您的生命周期配置脚本编写的日志。有关生命周期配置调试的更多信息，请参阅[在亚马逊 SageMaker Studio 经典版中调试生命周期配置](studio-lcc-debug.md)。

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

**创建配置文件**

1. 导航至 Studio Classic。

1. 依次选择**文件**、**新建**和**终端**。

1. 创建 `.sfgenie_identity_provider_oauth_config`。

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

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

   ```
   {
     "secret_arn": "example-secret-ARN"
   }
   ```

1. 保存对文件所做的更改。

### 无法从 Data Wrangler 流访问 Salesforce Data Cloud
<a name="data-wrangler-troubleshooting-salesforce-datacloud-access"></a>

您的用户在从 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 区域](https://docs.amazonaws.cn/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html)人。
+ 您的用户用于访问 Amazon SageMaker Studio Classic 的策略缺少以下权限 Amazon Secrets Manager
+ 您在生命周期配置中指定的 JSON 对象的 Secrets Manager ARN 中有打字错误。
+ 包含你的 Salesforce OAuth 配置的 Secrets Manager 密钥里有一个错字

### 显示 `redirect_uri_mismatch` 的空白页面
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-blank-page"></a>

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

使用以下 URL 检查您的 Studio Classic URL 是否已在 Salesforce org 的 Connected App 设置中正确注册：`https://EXAMPLE_SALESFORCE_ORG/lightning/setup/NavigationMenus/home/`。有关使用“连接的应用程序”设置的更多信息，请导航至以下 URL：`https://EXAMPLE_SALESFORCE_ORG/lightning/setup/NavigationMenus/home/`。

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

### 共享空间
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-shared-spaces"></a>

共享空间目前不适用于 Salesforce Data Cloud 集成。您可以删除您打算使用的 Amazon SageMaker AI 域中的共享空间，也可以使用其他未设置共享空间的域名。

### OAuth 重定向错误
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-oauth-error"></a>

您的用户在选择**连接**后，应该能够从 Salesforce Data Cloud 导入数据。如果遇到错误，我们建议要求用户执行以下操作：
+ 告诉他们耐心等待 — 当他们被重定向回 Amazon SageMaker Studio Classic 时，最多可能需要一分钟才能完成身份验证过程。当用户被重定向时，我们建议告知用户应避免与浏览器交互。例如，不应关闭浏览器选项卡、切换到其他选项卡或与 Data Wrangler 流交互。与浏览器交互可能会删除连接到数据云所需的授权码。
+ 让用户重新连接到数据云 – 一些暂时性问题可能会导致与 Salesforce Data Cloud 的连接失败。让用户创建新的 Data Wrangler 流，然后再次尝试连接到 Salesforce Data Cloud。
+ 确保您的用户使用 Amazon SageMaker Studio Classic 关闭所有其他选项卡 — 在多个选项卡中打开 Studio Classic 可能会导致 Salesforce 数据云连接失败。确保用户只打开一个 Studio Classic 标签页。
+ 多个用户同时访问 Studio Classic — 一次只能有一个用户访问一个 SageMaker Amazon AI 域。如果多个用户访问同一个域，用户试图创建到 Salesforce 数据云的连接可能会失败。

更新 Data Wrangler 和 Studio Classic 也可能会修复它们的错误。有关更新 Data Wrangler 的信息，请参阅[更新 Data Wrangler](data-wrangler-update.md)。有关更新 Studio Classic 的信息，请参阅 [关闭并更新 Amazon SageMaker Studio 经典版](studio-tasks-update-studio.md)。

如果前面的故障排除步骤都不起作用，您可能会发现来自 Salesforce 的错误消息，并在 Studio Classic URL 中嵌入了相应的说明。以下是您可能发现的消息示例：`error=invalid_client_id&error_description=client%20identifier%20invalid`。

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

### Data Wrangler 需要很长时间才能加载
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-long-load-time"></a>

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

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

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

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

### 用户导出数据失败且出现 `Invalid batch Id` 错误
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-processing-job-fails-batch-id"></a>

当你的用户导出他们对自己的 Salesforce 数据所做的转换时，Data Wrangler 在后端使用的 SageMaker 处理任务可能会失败。Salesforce Data Cloud 可能暂时不可用，或者可能存在缓存问题。

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

```
SELECT col_A, col_B FROM table                
```

更改为以下查询：

```
SELECT col_B, col_A FROM table                
```

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

### 用户无法导出非常大的数据集
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-processing-job-fails-query"></a>

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

我们建议让您的用户执行以下操作：
+ 简化其 SQL 查询
+ 对其数据进行采样

以下是用户可用来简化查询的一些策略：
+ 指定列名，而不是使用 `*` 运算符
+ 查找要导入的数据子集，而不是使用更大的子集
+ 最大限度减少大型数据集之间的连接

用户可以使用采样来减少数据集中的行数。有关采样方法的信息，您的用户可以参阅[采样](data-wrangler-transform.md#data-wrangler-transform-sampling)。

### 由于刷新令牌无效，用户无法导出数据
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-processing-job-fails-invalid-token"></a>

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/`。

### 查询失败或表未加载
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-table-not-loading"></a>

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

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

如果您遇到问题的时间超过一天，我们建议您联系 Salesforce 帮助中心以寻求进一步的帮助。有关联系 Salesforce 的信息，请参阅[您希望如何与 Salesforce 取得联系？](https://www.salesforce.com/company/contact-us/)

### 在 Studio Classic 重定向期间的 `OAUTH_APP_BLOCKED`
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-oauth-app-blocked"></a>

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

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

### 在 Studio Classic 重定向期间的 `OAUTH_APP_DENIED`
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-oauth-app-access-denied"></a>

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

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