

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Tutorial: uso de la capacidad del SQL generativo de Amazon Q con los datos de TICKIT
<a name="query-editor-v2-generative-ai-example"></a>

Para crear preguntas eficaces para generar SQL, debe conocer el esquema de su base de datos y sus datos. Los datos TICKIT constan de siete tablas: dos de hechos y cinco de dimensiones. Los datos de ejemplo contienen registros sobre las ventas a los asistentes a eventos de entretenimiento que tuvieron lugar en 2008. Para obtener más información sobre el esquema de datos TICKIT, consulte [Bases de datos de muestra](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) en la *Guía para desarrolladores de bases de datos de Amazon Redshift*. Puede cargar los datos TICKIT en una base de datos mediante varios métodos tanto en la consola de Amazon Redshift como en el editor de consultas v2. El editor de consultas v2 proporciona un método para cargar los datos TICKIT en la base de datos `sample_data_dev`. Para obtener más información, consulte [Descarga de datos en una base de datos](query-editor-v2-loading.md). El editor de consultas v2 también proporciona preguntas de ejemplo para los datos TICKIT. El siguiente escenario describe una conversación con SQL generativo para generar SQL sobre los datos TICKIT de ejemplo. En este escenario, los datos TICKIT de ejemplo ya están creados en una base de datos `dev` de un clúster de Amazon Redshift. 

**nota**  
Este ejemplo sirve para ilustrar una conversación. Es posible que las respuestas del SQL generativo no coincidan con los resultados si se utilizan las mismas preguntas.

**Ejemplo de conversación con el SQL generativo de Amazon Q**

1. En el **Editor**, conéctese a un clúster o grupo de trabajo que contenga los datos TICKIT de ejemplo.

1. Cree un cuaderno vacío y elija el icono de SQL generativo ![\[Generative SQL\]](http://docs.aws.amazon.com/es_es/redshift/latest/mgmt/images/qev2-amazon-q.png) para abrir el panel de chat.

1. Introduzca la siguiente pregunta para generar SQL y comprobar el número de registros de la tabla `VENUE`:

   ```
   How many venues are there?
   ```

   ```
   SELECT
     COUNT(*) AS num_venues
   FROM
     tickit.venue
   ```

   Seleccione **Añadir al cuaderno** para añadir dos celdas al cuaderno abierto. Una celda de marcado ¿Cuántos eventos hay? y otra que contenga el SQL generado.

   En la celda SQL, elija **Ejecutar** para recibir el resultado:

   ```
   count
   ------
   202
   ```

1. Para solicitar otra versión del SQL, elija **Regenerar SQL** y recibirá la siguiente respuesta:

   ```
   SELECT
     venuestate,
     COUNT(*) AS num_venues
   FROM
     tickit.venue
   GROUP BY
     venuestate
   ```

   Seleccione **Añadir al cuaderno** para añadir más celdas al cuaderno abierto. Una celda de marcado ¿Cuántos eventos hay? y otra que contenga el SQL generado.

   En la celda SQL, elija **Ejecutar** para recibir el resultado en forma de lista de número de evento por estado:

   ```
   venuestate num_venues
   ----------------------
   MA         4	
   OH         8	
   MI         5	
   ...
   ```

1. El asistente del SQL generativo puede hacer suposiciones sobre lo que está preguntando. Aunque no haya widgets en la base de datos, puede seguir preguntando. En este caso, muestra un mensaje que indica que no ha podido generar el SQL.

   ```
   How many widgets are there?
   ```

   ```
   I was not able to generate any SQL
   ```

1. A medida que obtenga más información sobre la base de datos, podrá hacer preguntas más específicas para generar el SQL. Por ejemplo, sabe que la base de datos contiene datos de ventas de varios meses de 2008. Introduzca la siguiente pregunta para generar SQL y saber el número de ventas en noviembre de 2008:

   ```
   How many sales were there in November 2008?
   ```

   ```
   SELECT
     COUNT(*) AS num_sales
   FROM
     tickit.sales s
     JOIN tickit.date d ON s.dateid = d.dateid
   WHERE
     d.month = 'November'
     AND d.year = 2008
   ```

   Seleccione **Añadir al cuaderno** para añadir dos celdas al cuaderno abierto. Una celda de marcado ¿Cuántas ventas hubo en noviembre de 2008? y otra que contenga el SQL generado.

   En la celda SQL, elija **Ejecutar** para recibir el resultado:

   ```
   num_sales
   -----
   0
   ```

   Se da cuenta de que este no es el resultado que esperaba.

1. Observa que el predicado `date.month='November'` espera que el mes de la tabla DATE se represente con una abreviatura del nombre del mes. Cambia el predicado por `d.month='NOV'` y vuelve a ejecutar el SQL.

   ```
   SELECT
     COUNT(*)
   FROM
     sales
     JOIN date ON sales.dateid = date.dateid
   WHERE
     date.month = 'NOV'
     AND date.year = 2008
   ```

   En la celda SQL, elija **Ejecutar** para obtener nuevos resultados.

   ```
   count
   -----
   14261
   ```

1. Si hace una pregunta que intenta cambiar la base de datos conectada, aparecerá un mensaje de advertencia junto con cualquier SQL recomendado. Introduzca la siguiente pregunta para generar SQL e insertar datos en una tabla:

   ```
   Insert 1 into the venue table.
   ```

   ```
   INSERT
   ,
   UPDATE
     OR delete data
   FROM
     the database AS that could potentially change the data.Please provide a query that ONLY selects data
   ```

   ```
   I was not able to generate the correct SQL code. I generated SQL, but you'll have to edit it to work with your database.
   ```

   Si selecciona **Añadir al cuaderno** para añadir dos celdas al cuaderno abierto y ejecutar el SQL, el SQL fallará.

   ```
   ERROR: syntax error at or near "," Position: 132 [ErrorId: 1-6546764a-011df2691778846219ce6ec2]
   ```

Este escenario solo ilustra algunas formas básicas de interactuar con el SQL generativo de Amazon Q. Puede experimentar aún más con esta tecnología de IA generativa que le ayudará a empezar a crear SQL para realizar consultas a su base de datos.