

# Integración de datos de Amazon Q en AWS Glue
<a name="q"></a>

La integración de datos de Amazon Q en AWS Glue es una nueva capacidad de IA generativa de AWS Glue que permite a los ingenieros de datos y a los desarrolladores de ETL crear trabajos de integración de datos usando un lenguaje natural. Los ingenieros y desarrolladores pueden pedir a Amazon Q que cree trabajos, solucione problemas y responda a preguntas sobre AWS Glue y la integración de datos.

## ¿Qué es Amazon Q?
<a name="q-what-is-amazon-q"></a>

**nota**  
Con tecnología de Amazon Bedrock: AWS implementa [detección automática de abusos](https://docs.aws.amazon.com/bedrock/latest/userguide/abuse-detection.html). Gracias a que la integración de datos de Amazon Q está integrada en Amazon Bedrock, los usuarios pueden aprovechar al máximo los controles implementados en Amazon Bedrock para reforzar la protección, la seguridad y el uso responsable de la inteligencia artificial (IA).

Amazon Q es un asistente conversacional con tecnología de inteligencia artificial (IA) generativa que puede ayudar a comprender, crear, extender y operar aplicaciones de AWS. El modelo que impulsa Amazon Q fue optimizado con contenidos de alta calidad de AWS para brindar respuestas más completas, accionables y referenciadas para acelerar la creación en AWS. Para obtener más información, consulte [¿Qué es Amazon Q?](https://docs.aws.amazon.com/amazonq/latest/aws-builder-use-ug/what-is.html)

## ¿En qué consiste la integración de datos de Amazon Q en AWS Glue?
<a name="q-key-features"></a>

La integración de datos de Amazon Q en AWS Glue incluye las siguientes capacidades:
+ **Chat**: la integración de datos de Amazon Q en AWS Glue puede responder a preguntas en inglés en lenguaje natural sobre AWS Glue y los dominios de integración de datos, como los conectores de AWS Glue de origen y destino, los trabajos de AWS Glue ETL, el catálogo de datos, los rastreadores y AWS Lake Formation, y otras funciones, la documentación y las mejores prácticas. La integración de datos de Amazon Q en AWS Glue responde con instrucciones paso a paso e incluye referencias a sus fuentes de información.
+ **Generación de códigos de integración de datos**: la integración de datos de Amazon Q en AWS Glue puede responder preguntas sobre los scripts de ETL de AWS Glue y generar códigos nuevos de acuerdo a una pregunta en lenguaje natural en inglés.
+ **Solución de problemas**: la integración de datos de Amazon Q en AWS Glue está diseñada específicamente para ayudarlo aentender los errores en los trabajos de AWS Glue y presenta instrucciones paso a paso para identificar la causa y resolver los problemas.

**nota**  
La integración de datos de Amazon Q en AWS Glue no usa el contexto de la conversación para generar respuestas futuras mientras dure la conversación. Cada conversación con la integración de datos de Amazon Q en AWS Glue es independiente de sus conversaciones anteriores o futuras.

## ¿Está trabajando con la integración de datos de Amazon Q en AWS Glue?
<a name="q-working-with"></a>

En el panel de Amazon Q, puede solicitarle a Amazon Q que genere un código para un script de ETL de AWS Glue o que responda una pregunta sobre las características de AWS Glue o sobre la resolución de un error. La respuesta será un script de ETL en PySpark junto a instrucciones paso a paso para personalizar, revisar y ejecutar el script. Para las preguntas, la respuesta se genera a partir de la base de conocimientos sobre integración de datos, con un resumen y una URL fuente como referencia.

Por ejemplo, puede pedir a Amazon Q que *proporcione un script de Glue que lea de Snowflake, cambie el nombre de los campos y escriba en Redshift* y, en respuesta, la integración de datos de Amazon Q en AWS Glue devolverá un script de trabajo de AWS Glue que puede llevar a cabo la acción solicitada. Puede revisar el código generado para asegurarse de que cumple la intención solicitada. Si cumple con lo solicitado, puede ejecutarlo como un trabajo de AWS Glue en producción. Puede solucionar los problemas de los trabajos pidiendo a la integración que explique los errores y fallos y que proponga soluciones. Amazon Q puede responder preguntas sobre AWS Glue o las prácticas recomendadas de integración de datos.

![\[Un ejemplo del uso de la integración de datos de Amazon Q en AWS Glue.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/q-chat-experience-1.gif)


Los siguientes son ejemplos de preguntas que demuestran cómo la integración de datos de Amazon Q en AWS Glue puede ayudarlo a desarrollar AWS Glue:

Generación de código AWS Glue ETL:
+ Escriba un script AWS Glue que lea JSON de S3, transforme los campos mediante la asignación de aplicaciones y escriba a Amazon Redshift
+ ¿Cómo escribo un script AWS Glue para leer desde DynamoDB, aplicar la transformación DropNullFields y escribir en S3 como Parquet?
+ Dame un script AWS Glue que lea desde MySQL, elimine algunos campos según mi lógica empresarial y escriba en Snowflake
+ Escribir un trabajo AWS Glue para leerlo desde DynamoDB y escribir en S3 como JSON
+ Ayúdame a desarrollar un script AWS Glue para el catálogo de datos de AWS Glue para S3
+ Escribe un trabajo AWS Glue para leer JSON desde S3, elimina los nulos y escribe en Redshift

Explicaciones de las características de AWS Glue:
+ ¿Cómo utilizo la Calidad de los datos de AWS Glue?
+ ¿Cómo usar los marcadores de trabajo de AWS Glue?
+ ¿Cómo habilito el escalado automático de AWS Glue?
+ ¿Cuál es la diferencia entre los marcos dinámicos de AWS Glue y los marcos de datos de Spark?
+ ¿Cuáles son los diferentes tipos de conexiones que AWS Glue admite?

Solución de problemas de AWS Glue:
+ ¿Cómo solucionar los errores de falta de memoria (OOM) en los trabajos de AWS Glue?
+ ¿Cuáles son algunos de los mensajes de error que puede ver al configurar la Calidad de los datos de AWS Glue y cómo puede solucionarlos?
+ ¿Cómo arreglo un trabajo de AWS Glue con el error Acceso denegado a Amazon S3?
+ ¿Cómo resuelvo problemas con la reorganización de datos en trabajos de AWS Glue?

## Prácticas recomendadas para interactuar con la integración de datos de Amazon Q
<a name="q-best-practices"></a>

Las siguientes son las prácticas recomendadas para interactuar con la integración de datos de Amazon Q:
+ Cuando interactúe con la integración de datos de Amazon Q, formule preguntas específicas, repita cuando tenga solicitudes complejas y compruebe la precisión de las respuestas.
+ Cuando proporcione peticiones de integración de datos en lenguaje natural, sea lo más específico posible para ayudar al asistente a entender exactamente lo que necesita. En lugar de preguntar “extraiga datos de S3”, proporcione más detalles, como “escriba un script de AWS Glue que extraiga archivos JSON de S3”.
+ Revise el script generado antes de ejecutarlo para garantizar su precisión. Si el script generado contiene errores o no coincide con su intención, dé instrucciones al asistente sobre cómo corregirlo.
+ La tecnología de IA generativa es nueva y puede haber errores (a veces denominados alucinaciones) en las respuestas. Pruebe y revise todo el código para detectar errores y vulnerabilidades antes de usarlo en su entorno o carga de trabajo.

## Integración de datos de Amazon Q en la mejora del servicio de AWS Glue
<a name="q-service-improvement"></a>

Para ayudar a la integración de datos de Amazon Q en AWS Glue a proporcionar la información más relevante sobre los servicios de AWS, podemos utilizar cierto contenido de Amazon Q, como las preguntas que le hace a Amazon Q y sus respuestas, para mejorar el servicio.

Para obtener información sobre el contenido que utilizamos y cómo excluirlo, consulte [Amazon Q Developer service improvement](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/service-improvement.html) en la *Guía del usuario para desarrolladores de Amazon Q*.

## Consideraciones
<a name="q-considerations"></a>

Tenga en cuenta los siguientes aspectos antes de utilizar la integración de datos de Amazon Q en AWS Glue:
+ En la actualidad, la generación de códigos solo es compatible con el kernel de PySpark. El código generado es para trabajos de AWS Glue basados en Python Spark.
+ Para obtener información sobre las combinaciones compatibles de capacidades de generación de código de la integración de datos de Amazon Q en AWS Glue, consulte [Capacidades de generación de código compatibles](q-supported-actions.md).

# Cómo configurar la integración de datos de Amazon Q en AWS Glue
<a name="q-setting-up"></a>

En las siguientes secciones se ofrece información sobre la configuración de la integración de datos de Amazon Q en AWS Glue.

**Topics**
+ [Configuración de permisos de IAM](q-setting-up-permissions.md)

# Configuración de permisos de IAM
<a name="q-setting-up-permissions"></a>

En este tema se describen los permisos de IAM que se configuran para la experiencia de chat de Amazon Q y la experiencia del cuaderno AWS Glue Studio.

**Topics**
+ [Configuración de permisos de IAM para el chat de Amazon Q](#q-setting-up-permissions-amazon-q-chat)
+ [Permisos de IAM para cuadernos de AWS Glue Studio](#q-setting-up-permissions-notebooks)

## Configuración de permisos de IAM para el chat de Amazon Q
<a name="q-setting-up-permissions-amazon-q-chat"></a>

La concesión de permisos a las API utilizadas en la integración de datos de Amazon Q en AWS Glue necesita los permisos de AWS Identity and Access Management (IAM) apropiados. Para obtener permisos, adjunte a su identidad de IAM (como el usuario, el rol o el grupo) la política de AWS personalizada que figura a continuación:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:StartCompletion",
        "glue:GetCompletion"
      ],
      "Resource": [
        "arn:aws:glue:*:*:completion/*"
      ]
    }
  ]
}
```

------

## Permisos de IAM para cuadernos de AWS Glue Studio
<a name="q-setting-up-permissions-notebooks"></a>

Para habilitar la integración de datos de Amazon Q en los cuadernos de AWS Glue Studio, asegúrese de que el siguiente permiso esté asociado al rol de IAM de cuadernos:

**nota**  
El prefijo `codewhisperer` es un nombre heredado de un servicio que se fusionó con Amazon Q Developer. Para obtener más información, consulte [Amazon Q Developer rename - Resumen de cambios](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/service-rename.html).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:StartCompletion",
        "glue:GetCompletion"
      ],
      "Resource": [
        "arn:aws:glue:*:*:completion/*"
      ]
    },
    {
      "Sid": "AmazonQDeveloperPermissions",
      "Effect": "Allow",
      "Action": [
        "codewhisperer:GenerateRecommendations"
      ],
      "Resource": "*"
    }
  ]
}
```

------

**nota**  
La integración de datos de Amazon Q en AWS Glue no incluye API disponibles a través del SDK de AWS que pueda utilizar mediante programación. Las dos API siguientes se utilizan en la política de IAM para permitir esta experiencia a través del panel del chat de Amazon Q o cuadernos de AWS Glue Studio: `StartCompletion` y `GetCompletion`.

### Asignación de permisos
<a name="q-assigning-permissions"></a>

Para dar acceso, agregue permisos a los usuarios, grupos o roles:
+ Usuarios y grupos en AWS IAM Identity Center: Creación de un conjunto de permisos. Siga las instrucciones que se detallan en [Creación de un conjunto de permisos](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtocreatepermissionset.html) en la *Guía del usuario de AWS IAM Identity Center*.
+ Usuarios administrados en IAM a través de un proveedor de identidades: Creación de un rol para la federación de identidades. Siga las instrucciones descritas en [Creación de un rol para un proveedor de identidad de terceros (federación)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html) en la *Guía del usuario de IAM*.
+ Usuarios de IAM:
  + Cree un rol que el usuario pueda aceptar. Siga las instrucciones descritas en [Creación de un rol para un usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) en la *Guía del usuario de IAM*.
  + (No recomendado) Adjunte una política directamente a un usuario o añada un usuario a un grupo de usuarios. Siga las instrucciones descritas en [Adición de permisos a un usuario (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) de la *Guía del usuario de IAM*.

# Capacidades de generación de código compatibles
<a name="q-supported-actions"></a>

 A continuación se muestran las combinaciones de las capacidades de generación de código de la integración de datos de Amazon Q.


| Orígenes y destinos | Transformación | 
| --- | --- | 
| S3 con los siguientes tipos de formato: json, csv, parquet, hudi, delta | Drop (Eliminar) | 
| AWS Glue Data Catalog | Agregado | 
| Redlake | DropDuplicates | 
| Amazon DynamoDB | Join | 
| MySQL | Filtro | 
| Oracle | RenameColumns | 
| PostgresSQL | FillNull | 
| Microsoft SQL Server | DropNull | 
| Amazon DocumentDB / MongoDB | WithColumns | 
| Snowflake | Consulta de SQL | 
| Google BigQuery | Unión | 
| Teradata | Seleccionar | 
| Amazon OpenSearch Service |  | 
| Vertica |  | 
| SAP HANA |  | 
| Amazon Redshift |  | 

# Interacciones de muestra
<a name="q-using-example-interactions"></a>

La integración de datos de Amazon Q en AWS Glue le permite ingresar su pregunta en el panel de Amazon Q. Puede ingresar una pregunta sobre la funcionalidad de la integración de datos de AWS Glue. Obtendrá una respuesta detallada, junto con los documentos de referencia.

Otro caso de uso es la generación de scripts de trabajo de AWS Glue ETL. Puede preguntar cómo ejecutar un trabajo de extracción, transformación y carga de datos. Obtendrá un script de PySpark generado.

**Topics**
+ [Interacciones del chat de Amazon Q](#q-using-example-interactions)
+ [Interacciones del cuaderno de AWS Glue Studio](#q-using-example-interactions-notebooks)

## Interacciones del chat de Amazon Q
<a name="q-using-example-interactions"></a>

En la consola de AWS Glue, comience a crear un nuevo trabajo y pídale a Amazon Q lo siguiente: *“Crear un flujo ETL de Glue, establecer la conexión con dos tablas del catálogo de Glue denominadas venue y event en mi base de datos glue\$1db, unir los resultados en el campo venueid de venue y e\$1venueid de event y, a continuación, filtrar según el estado de venue con la condición venuestate=='DC' y escribir los datos en s3://amzn-s3-demo-bucket/codegen/BDB-9999/output/ en formato CSV”*.

![\[Un ejemplo de cómo solicitar la integración de datos de Amazon Q en AWS Glue para un script ETL generado.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/Q-SIDEPANEL-GS.gif)


 Observará que se ha generado el código. Con esta respuesta, puede aprender y comprender cómo crear código de AWS Glue para su finalidad específica. Puede copiar y pegar el código generado en el editor de scripts y configurar los marcadores de posición. Tras configurar un rol de IAM y conexiones de AWS Glue en el trabajo, guarde y ejecute el trabajo. Una vez que haya finalizado el trabajo, puede comprobar que los datos resumidos se conservan en Amazon S3 según lo previsto y que puede utilizarlos en sus cargas de trabajo posteriores. 

## Interacciones del cuaderno de AWS Glue Studio
<a name="q-using-example-interactions-notebooks"></a>

**nota**  
 La experiencia de integración de datos de Amazon Q en el cuaderno de AWS Glue Studio sigue centrándose en el flujo de integración de datos basado en DynamicFrame. 

Agregue una nueva celda e ingrese su comentario para describir lo que quiere lograr. Después de pulsar la tecla **Tab** e **Intro**, se muestra el código recomendado.

La primera intención es extraer los datos: *“Deme un código que lea una tabla del Catálogo de datos de Glue”*, seguido de *“Deme un código para aplicar una transformación de filtro con star\$1rating>3”* y *“Deme un código que escriba el marco en S3 como Parquet”*.

![\[Un ejemplo de cómo solicitar a un cuaderno de AWS Glue Studio la integración de datos de Amazon Q en AWS Glue para un script de ETL generado.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/q-notebook-experience-1.gif)


![\[Un ejemplo de cómo solicitar a un cuaderno de AWS Glue Studio la integración de datos de Amazon Q en AWS Glue para un script de ETL generado.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/q-notebook-experience-2.gif)


![\[Un ejemplo de cómo solicitar a un cuaderno de AWS Glue Studio la integración de datos de Amazon Q en AWS Glue para un script de ETL generado.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/q-notebook-experience-3.gif)


Al igual que en la experiencia de chat de Amazon Q, se recomienda usar el código. Si presiona la tecla **Tab**, se elige el código recomendado.

Para ejecutar cada celda, puede rellenar las opciones apropiadas para sus orígenes en el código generado. En cualquier momento de las ejecuciones, también puede obtener una vista previa de una muestra de su conjunto de datos mediante el método `show()`.

 Puede ejecutar el cuaderno como un trabajo, ya sea con la opción **Ejecutar** o mediante programación. 

### Peticiones complejas
<a name="q-using-example-interactions-notebooks-complex-prompt"></a>

Puede generar un script completo con una única petición compleja. *“Tengo datos de JSON en S3 y datos de Oracle que es necesario combinar. Proporcione un script de Glue que lea ambos orígenes, lleve a cabo una unión y, a continuación, escriba los resultados en Redshift”*.

![\[Un ejemplo de cómo solicitar a un cuaderno de AWS Glue Studio la integración de datos de Amazon Q en AWS Glue para un script de ETL generado.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/q-notebook-experience-4.gif)


Puede observar que, en el cuaderno, la integración de datos de Amazon Q en AWS Glue generó el mismo fragmento de código que se generó en el chat de Amazon Q.

Puede ejecutar el cuaderno como un trabajo, ya sea a través de **Ejecutar** o mediante programación.

# Uso del reconocimiento del contexto con la integración de datos de Amazon Q en AWS Glue
<a name="q-context-awareness"></a>

 Ahora puede crear trabajos de procesamiento de datos de manera más eficiente mediante la generación de código DataFrame de PySpark y contextualizado basado en consultas en la integración de datos de Amazon Q. Por ejemplo, puede utilizar esta petición para generar el código de PySpark: “crear un trabajo para cargar los datos de ventas de la tabla de Redshift 'analytics.salesorder' con la conexión 'erp\$1conn', filtrar order\$1amount por debajo de 50 dólares y guardar los datos en Amazon S3 en formato parquet”. 

 Amazon Q generará el script en función de su petición y configurará el flujo de trabajo de integración de datos con los detalles que haya proporcionado en su pregunta, como configuraciones de conexión, detalles del esquema, nombres de bases de datos o tablas y especificaciones de columnas para transformaciones. La información confidencial, como las contraseñas de las opciones de conexión, se sigue redactando. 

 Si la petición no proporciona la información requerida, Amazon Q colocará marcadores de posición, para los que tendrá que actualizar el código generado con los valores adecuados antes de ejecutar el código. 

 A continuación, encontrará algunos ejemplos de cómo utilizar el reconocimiento del contexto. 

## Ejemplo: Interacciones
<a name="q-context-awareness-examples"></a>

### Lectura de un archivo de Amazon S3 y escritura en un bucket de Amazon S3
<a name="q-context-awareness-examples-generated-script-1"></a>

 Petición: `Create an AWS Glue spark job that reads a file s3://amzn-s3-demo-bucket-input-bucket-name/input-filename.csv and saves it into the parquet file under directory s3://amzn-s3-demo-bucket-output-bucket-name/output-s3-prefix/` 

```
import sys
from awsglue.transforms import *
from pyspark.context import SparkContext
from pyspark.sql import SparkSession

sc = SparkContext.getOrCreate()
spark = SparkSession.builder.getOrCreate()

# Script generated for node S3DataSource
S3DataSource_dsource1 = spark.read.format("csv").load(
    "s3://amzn-s3-demo-bucket-input-bucket-name/input-filename.csv"
)

# Script generated for node S3DataSink
S3DataSource_dsource1.write.format("parquet").mode("append").save(
    "s3://amzn-s3-demo-bucket-output-bucket-name/output-s3-prefix/"
)
```

![\[Un ejemplo de cómo solicitar la integración de datos de Amazon Q en AWS Glue para un script ETL generado.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/context-awareness-lakehouse-example.gif)


### Obtención de datos de Lakehouse y escritura en una base de datos
<a name="q-context-awareness-examples-generated-script-2"></a>

 Petición: `write an ETL script to read from a Lakehouse table my-table in database my-database and write it to a RDS MySQL table my-target-table` 

 En los campos en los que no se proporciona información (por ejemplo, el connectionName requerido es para el receptor de datos de MySQL y se completa de forma predeterminada con un marcador de posición <connection-name> en el código generado), se mantiene un marcador de posición para completar la información requerida antes de ejecutar el script. 

 Script generado: 

```
import sys
from awsglue.transforms import *
from pyspark.context import SparkContext
from pyspark.sql import SparkSession
from connectivity.adapter import CatalogConnectionHelper

sc = SparkContext.getOrCreate()
spark = SparkSession.builder.getOrCreate()

# Script generated for node S3DataSource
S3DataSource_dsource1 = spark.read.format("parquet").load(
    "s3://amzn-lakehouse-demo-bucket/my-database/my-table"
)

# Script generated for node ConnectionV2DataSink
ConnectionV2DataSink_dsink1_additional_options = {"dbtable": "my-target-table"}
CatalogConnectionHelper(spark).write(
    S3DataSource_dsource1,
    "mysql",
    "<connection-name>",
    ConnectionV2DataSink_dsink1_additional_options,
)
```

![\[Un ejemplo de cómo solicitar la integración de datos de Amazon Q en AWS Glue para un script ETL generado.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/context-awareness-example-interactions.gif)


### Ejemplo: Flujo de trabajo de ETL completo
<a name="q-context-awareness-complex-example"></a>

 En el siguiente ejemplo se muestra cómo puede pedirle a AWS Glue que cree un script de AWS Glue para completar un flujo de trabajo de ETL con la siguiente petición: `Create a AWS Glue ETL Script read from two AWS Glue Data Catalog tables venue and event in my database glue_db_4fthqih3vvk1if, join the results on the field venueid, filter on venue state with condition as venuestate=='DC' after joining the results and write output to an Amazon S3 S3 location s3://amz-s3-demo-bucket/output/ in CSV format`. 

 El flujo de trabajo incluye la lectura de diferentes orígenes de datos (dos tablas del catálogo de datos de AWS Glue) y un par de transformaciones después de la lectura: se une el resultado de dos lecturas, se filtra en función de alguna condición y se escribe la salida transformada en un destino de Amazon S3 en formato CSV. 

 El trabajo generado completará la información detallada para el origen de datos, la operación de transformación y absorción de datos con la información correspondiente extraída de la pregunta del usuario, como se muestra a continuación. 

```
import sys
from awsglue.transforms import *
from pyspark.context import SparkContext
from pyspark.sql import SparkSession

sc = SparkContext.getOrCreate()
spark = SparkSession.builder.getOrCreate()

# Script generated for node CatalogDataSource
CatalogDataSource_dsource1 = spark.sql("select * from `glue_db_4fthqih3vvk1if`.`venue`")

# Script generated for node CatalogDataSource
CatalogDataSource_dsource2 = spark.sql("select * from `glue_db_4fthqih3vvk1if`.`event`")

# Script generated for node JoinTransform
JoinTransform_transform1 = CatalogDataSource_dsource1.join(
    CatalogDataSource_dsource2,
    (CatalogDataSource_dsource1["venueid"] == CatalogDataSource_dsource2["venueid"]),
    "inner",
)

# Script generated for node FilterTransform
FilterTransform_transform2 = JoinTransform_transform1.filter("venuestate=='DC'")

# Script generated for node S3DataSink
FilterTransform_transform2.write.format("csv").mode("append").save(
    "s3://amz-s3-demo-bucket/output//output/"
)
```

![\[Un ejemplo de cómo solicitar la integración de datos de Amazon Q en AWS Glue para un script ETL generado.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/context-awareness-complex-example.gif)


## Limitaciones
<a name="q-context-awareness-limitations"></a>
+  Traspaso de contexto: 
  +  La característica de reconocimiento del contexto solo transfiere el contexto de la consulta anterior del usuario dentro de la misma conversación. No retiene el contexto más allá de la consulta inmediatamente anterior. 
+  Compatibilidad para configuraciones de nodos: 
  +  Actualmente, el reconocimiento del contexto solo admite un subconjunto de las configuraciones requeridas de varios nodos. 
  +  La compatibilidad con campos opcionales está prevista en las próximas versiones. 
+  Disponibilidad: 
  +  El reconocimiento del contexto y la compatibilidad con DataFrame están disponibles en los cuadernos de Q Chat y SageMaker Unified Studio. Sin embargo, estas funciones aún no están disponibles en los cuadernos de AWS Glue Studio. 