

# AWS Glue 中的 Amazon Q 数据集成
<a name="q"></a>

AWS Glue 中的 Amazon Q 数据集成是 AWS Glue 的一项新的生成式人工智能功能，它使数据工程师和 ETL 开发人员能够使用自然语言构建数据集成作业。工程师和开发人员可以请求 Amazon Q 编写作业、解决问题并回答有关 AWS Glue 和数据集成的问题。

## 什么是 Amazon Q？
<a name="q-what-is-amazon-q"></a>

**注意**  
由 Amazon Bedrock 提供支持：AWS 实施[自动化滥用检测](https://docs.aws.amazon.com/bedrock/latest/userguide/abuse-detection.html)。由于 Amazon Q 数据集成功能基于 Amazon Bedrock 构建，因此用户可以充分利用 Amazon Bedrock 中实施的控制措施，以便安全、负责任地使用人工智能（AI）。

Amazon Q 是一款由生成式人工智能（AI）提供支持的对话助手，可以帮助您理解、构建、扩展和操作 AWS 应用程序。为 Amazon Q 提供支持的模型辅以高质量的 AWS 内容，可为您提供更全面、更具可操作性和参考性的答案，让您可以更快在 AWS 上构建。有关更多信息，请参阅[什么是 Amazon Q？](https://docs.aws.amazon.com/amazonq/latest/aws-builder-use-ug/what-is.html)

## 什么是 AWS Glue 中的 Amazon Q 数据集成？
<a name="q-key-features"></a>

AWS Glue 中的 Amazon Q 数据集成包括以下功能：
+ **聊天** – AWS Glue 中的 Amazon Q 数据集成可以用英语回答有关 AWS Glue 和数据集成的自然语言问题，例如 AWS Glue 源和目标连接器、AWS Glue ETL 作业、数据目录、爬网程序和 AWS Lake Formation，以及其他功能文档和最佳实践。AWS Glue 中的 Amazon Q 数据集成以分步说明作为回复，并包括对其信息源的引用。
+ **数据集成代码生成** – AWS Glue 中的 Amazon Q 数据集成可以回答有关 AWS Glue ETL 脚本的问题，并根据以英语提出的自然语言问题生成新代码。
+ **疑难解答** – AWS Glue 中的 Amazon Q 数据集成旨在帮助您了解 AWS Glue 作业中的错误，并提供分步说明，以从根本上解决问题。

**注意**  
AWS Glue 中的 Amazon Q 数据集成不会使用您的对话情境为对话期间的未来回复提供信息。与 AWS Glue 中的 Amazon Q 数据集成的每次对话都与之前或将来的对话无关。

## 使用 AWS Glue 中的 Amazon Q 数据集成？
<a name="q-working-with"></a>

在 Amazon Q 面板中，您可以请求 Amazon Q 为 AWS Glue ETL 脚本生成代码，回答有关 AWS Glue 功能的问题，或对错误进行问题排查。响应将是 PySpark 中的 ETL 脚本，其中包含自定义脚本、查看和执行脚本的分步说明。对于问题，将根据数据集成知识库生成回复，并含有摘要和来源 URL 供参考。

例如，您可以向 Amazon Q 提出以下要求：“*请编写一个 Glue 脚本，以从 Snowflake 读取数据、重命名字段，然后写入 Redshift*”，在响应中，AWS Glue 中的 Amazon Q 数据集成将返回一个可以执行所请求操作的 AWS Glue 作业脚本。您可以查看生成的代码，确保其满足请求的意图。如果满意，可以将其部署为生产环境中的 AWS Glue 作业。您可以要求集成说明错误和故障，并提出解决方案，从而对作业进行故障排除。Amazon Q 可以回答有关 AWS Glue 或数据集成最佳实践的问题。

![在 AWS Glue 中使用 Amazon Q 数据集成的示例。](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/q-chat-experience-1.gif)


以下是示例问题，演示了 AWS Glue 中的 Amazon Q 数据集成如何帮助您基于 AWS Glue 构建：

AWS Glue ETL 代码生成：
+ 编写一个从 S3 读取 JSON、使用应用映射转换字段并写入 Amazon Redshift 的 AWS Glue 脚本
+ 如何编写 AWS Glue 脚本，用于从 DynamoDB 读取、应用 DropNullFields 转换并作为 Parquet 写入 S3？
+ 给我一个 AWS Glue 脚本，该脚本可以从 MySQL 读取，根据我的业务逻辑删除一些字段，然后写入 Snowflake
+ 编写一个 AWS Glue 作业，从 DynamoDB 读取然后以 JSON 的形式写入 S3
+ 帮我开发一个 S3 AWS Glue 数据目录的 AWS Glue 脚本
+ 编写一个 AWS Glue 作业，从 S3 读取 JSON，删除空值然后写入 Redshift

AWS Glue 功能说明：
+ 如何使用 AWS Glue 数据质量自动监测功能？
+ 如何使用 AWS Glue 作业书签？
+ 如何启用 AWS Glue 自动扩缩功能？
+ AWS Glue 动态帧与 Spark 数据帧有什么区别？
+ AWS Glue 支持哪些不同类型的连接？

AWS Glue 故障排除：
+ 如何解决 AWS Glue 作业中的内存不足（OOM）错误？
+ 在设置 AWS Glue 数据质量自动监测功能时，您可能会看到哪些错误消息？如何进行修复？
+ 如何修复出现 Amazon S3 访问被拒绝错误的 AWS Glue 作业？
+ 如何解决 AWS Glue 作业中的数据随机排序？

## 与 Amazon Q 数据集成进行交互的最佳实践
<a name="q-best-practices"></a>

以下是与 Amazon Q 数据集成进行交互的最佳实践：
+ 在与 Amazon Q 数据集成进行交互时，请提出具体问题，在有复杂请求时进行迭代，并验证答案的准确性。
+ 在以自然语言提供数据集成提示时，请尽可能具体，以便助手准确了解您的需求。不要简单地要求“从 S3 中提取数据”，而应提供更多详细信息，例如“编写从 S3 中提取 JSON 文件的 AWS Glue 脚本”。
+ 在运行生成的脚本之前，请对其进行检查，以确保准确性。如果生成的脚本存在错误或与您的意图不符，请向助手提供有关如何更正查询的指示。
+ 生成式人工智能技术是一项全新的技术，其回复中可能会出现错误，有时将这种错误称为幻觉。在您的环境或工作负载中使用代码之前，请对所有代码进行测试并检查是否存在错误和漏洞。

## 改进 AWS Glue 服务中的 Amazon Q 数据集成
<a name="q-service-improvement"></a>

为了帮助 AWS Glue 中的 Amazon Q 数据集成提供最相关的 AWS 服务信息，我们可能会使用 Amazon Q 中的某些内容，例如您向 Amazon Q 提出的问题及其回复，以改进服务。

有关我们使用哪些内容以及如何选择退出的信息，请参阅 *Amazon Q 开发者版用户指南*中的 [Amazon Q 开发者版服务改进](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/service-improvement.html)。

## 注意事项
<a name="q-considerations"></a>

在 AWS Glue 中使用 Amazon Q 数据集成之前，请考虑以下各项：
+ 目前，代码生成仅支持 PySpark 内核。生成的代码适用于基于 Python Spark 的 AWS Glue 作业。
+ 有关 AWS Glue 中支持的 Amazon Q 数据集成代码生成功能组合的信息，请参阅[支持的代码生成功能](q-supported-actions.md)。