Introducción a Apache Spark en Amazon Athena - Amazon Athena

Introducción a Apache Spark en Amazon Athena

Para empezar a usar Apache Spark en Amazon Athena, primero cree un grupo de trabajo habilitado para Spark. Después de cambiar al grupo de trabajo, puede crear un cuaderno o abrir uno existente. Al abrir un cuaderno en Athena, se inicia automáticamente una nueva sesión y puede trabajar con él directamente en el editor de cuadernos de Athena.

nota

Asegúrese de crear un grupo de trabajo habilitado para Spark antes de crear un cuaderno.

Creación de un grupo de trabajo habilitado para Spark en Athena

Puede usar grupos de trabajo en Athena para agrupar usuarios, equipos, aplicaciones o cargas de trabajo, así como para realizar un seguimiento de los costos. Para usar Apache Spark en Amazon Athena, debe crear un grupo de trabajo de Amazon Athena que utilice un motor de Spark.

nota

Los grupos de trabajo habilitados para Apache Spark pueden usar el editor de cuadernos de Athena, pero no el editor de consultas de Athena. Solo los grupos de trabajo de Athena SQL pueden usar el editor de consultas de Athena.

Para crear un grupo de trabajo habilitado para Spark en Athena
  1. Abra la consola de Athena en https://console.aws.amazon.com/athena/.

  2. Si el panel de navegación de la consola no está visible, elija el menú de expansión de la izquierda.

    
                            Elija el menú de expansión.
  3. En el panel de navegación, elija Grupos de trabajo.

  4. En el panel Grupos de trabajo, elija Crear grupo de trabajo.

  5. En Workgroup name (Nombre del grupo de trabajo), ingrese un nombre para el grupo de trabajo de Apache Spark.

  6. (Opcional) En Description (Descripción), ingrese una descripción para el grupo de trabajo.

  7. En Analytics engine (Motor de análisis), elija Apache Spark.

    nota

    Tras crear un grupo de trabajo, no se puede cambiar su tipo de motor de análisis. Por ejemplo, un grupo de trabajo de la versión 3 del motor de Athena no se puede cambiar a un grupo de trabajo de la versión 3 del motor de PySpark.

  8. Para los fines de este tutorial, seleccione Turn on example notebook (Activar un cuaderno de ejemplo). Esta característica opcional agrega un cuaderno de ejemplo con el nombre example-notebook-random_string al grupo de trabajo y agrega los permisos asociados a AWS Glue que el cuaderno utiliza para crear, mostrar y eliminar bases de datos y tablas específicas de su cuenta, así como los permisos de lectura en Amazon S3 para el conjunto de datos de ejemplo. Para ver los permisos agregados, elija View additional permissions details (Ver detalles de permisos adicionales).

    nota

    La ejecución del cuaderno de ejemplo puede suponer un costo adicional.

  9. En Additional configurations (Configuraciones adicionales), haga lo siguiente:

    • Utilice la configuración Use defaults (Usar valores predeterminados). Esta opción es la predeterminada y lo ayuda a empezar con su grupo de trabajo habilitado para Spark. Con esta opción, Athena crea para usted un rol de IAM y una ubicación de resultados de cálculo en Amazon S3. El nombre del rol de IAM y la ubicación del bucket de S3 que se van a crear aparecen en el cuadro situado debajo del encabezado Additional configurations (Configuraciones adicionales).

    • Desactive la configuración Use defaults (Usar valores predeterminados) y, a continuación, continúe con los pasos de la sección Especificación de configuraciones propias de grupo de trabajo para configurar el grupo de trabajo manualmente.

  10. (Opcional) Tags (Etiquetas): utilice esta opción para agregar etiquetas al grupo de trabajo. Para obtener más información, consulte Etiquetado de recursos de Athena.

  11. Elija Crear grupo de trabajo. Un mensaje le informa de que el grupo de trabajo se ha creado correctamente y aparecerá en la lista de grupos de trabajo.

Especificación de configuraciones propias de grupo de trabajo

Si desea especificar su propio rol de IAM y ubicación para los resultados de cálculo del cuaderno, siga los pasos de esta sección. Si ha elegido Use defaults (Usar valores predeterminados) en la opción Additional configurations (Configuraciones adicionales), omita esta sección y vaya directamente a Apertura del explorador de cuadernos y cambio de grupo de trabajo .

El siguiente procedimiento supone que ha completado los pasos del 1 al 9 del procedimiento Para crear un grupo de trabajo habilitado para Spark en Athena de la sección anterior.

Para especificar configuraciones propias de grupo de trabajo
  1. Si desea crear o utilizar su propio rol de IAM o configurar el cifrado del cuaderno, expanda IAM role configuration (Configuración del rol de IAM).

    • En Service Role (Rol de servicio), realice una de las operaciones siguientes:

      • Create a service role (Crear un rol de servicio): elija esta opción para que Athena cree un rol de servicio para usted. Para ver los permisos que concede el rol, elija View permission details (Ver detalles de los permisos).

      • Choose an existing service role (Elegir un rol de servicio existente): en el menú desplegable, elija un rol existente. El rol que elija debe incluir los permisos de la primera opción. Para obtener más información sobre los permisos de los grupos de trabajo habilitados para cuadernos, consulte Solución de problemas de grupos de trabajo habilitados para Spark.

    • En Notebook and calculation code encryption key management (Administrar las claves de cifrado del cuaderno y el código de cálculo), elija una de las siguientes opciones:

      • Owned by Amazon Athena (Propiedad de Amazon Athena): la clave de AWS KMS pertenece a Amazon Athena, que también se ocupa de su administración. No se cobrará ningún cargo adicional por el uso de esta clave.

      • A symmetric key stored in your account, owned and managed by you (Una clave simétrica almacenada en su cuenta, de su propiedad y administrada por usted): en esta opción, realice una de las siguientes acciones:

        • Para usar una clave existente, utilice el cuadro de búsqueda para elegir una clave de AWS KMS o ingresar un ARN de clave.

        • Para crear una clave en la consola de AWS KMS, elija Crear una clave de AWS KMS. Su rol de ejecución debe tener permiso para utilizar la clave que cree.

      importante

      Al cambiar la AWS KMS key de un grupo de trabajo, los cuadernos administrados antes de la actualización siguen haciendo referencia a la antigua clave de KMS. Los cuadernos administrados después de la actualización utilizan la nueva clave de KMS. Para actualizar los cuadernos antiguos para que hagan referencia a la nueva clave de KMS, exporte y después importe cada uno de los cuadernos antiguos. Si elimina la clave de KMS antigua antes de actualizar las referencias de los cuadernos antiguos a la nueva clave de KMS, los cuadernos antiguos ya no se pueden descifrar ni recuperar.

      Este comportamiento también se aplica a las actualizaciones de los alias, que son nombres descriptivos de las claves de KMS. Al actualizar un alias de clave de KMS para que apunte a una nueva clave de KMS, los cuadernos administrados antes de la actualización del alias siguen haciendo referencia a la clave de KMS antigua, y los cuadernos administrados después de la actualización del alias utilizan la nueva clave de KMS. Tenga en cuenta estos puntos antes de actualizar las claves o alias de KMS.

  2. Si desea especificar una configuración propia de los resultados de cálculo, expanda Calculation result settings (Configuraciones de los resultados de cálculo) y, a continuación, elija una de las siguientes opciones.

    • Create a new S3 bucket (Crear un nuevo bucket de S3): esta opción crea un bucket de Amazon S3 en su cuenta para los resultados de sus cálculos. El nombre del bucket tiene el formato account_id-region-athena-results-bucket-alphanumeric_id y utiliza las configuraciones de ACL inhabilitadas, acceso público bloqueado, control de versiones inhabilitado y propietario de bucket aplicado.

    • Choose an existing S3 location (Elegir una ubicación de S3 existente): en esta opción, haga lo siguiente:

      • Ingrese la ruta de S3 a una ubicación existente en el cuadro de búsqueda o elija Browse S3 (Examinar S3) para elegir un bucket de una lista.

        nota

        Al seleccionar una ubicación existente en Amazon S3, no agregue una barra diagonal (/) a la ubicación. Si lo hace, el enlace a la ubicación de los resultados del cálculo en la página de detalles del cálculo apuntará al directorio equivocado. Si esto ocurre, edite la ubicación de los resultados del grupo de trabajo para eliminar la barra diagonal situada al final.

      • (Opcional) Elija View (Ver) para abrir la página Buckets de la consola de Amazon S3, donde podrá ver más información sobre el bucket existente que haya elegido.

      • (Opcional) En Expected bucket owner (Propietario esperado del bucket), ingrese el ID de cuenta de AWS que espera que sea el propietario de su bucket de ubicación de salida de los resultados de las consultas. Le recomendamos que elija esta opción como medida de seguridad adicional siempre que sea posible. Si el ID de cuenta del propietario del bucket no coincide con el ID que especifique, los intentos de generar el bucket generarán errores. Para obtener información detallada, consulte Verificación de la propiedad del bucket con la condición de propietario del bucket en la Guía del usuario de Amazon S3.

      • (Opcional) Seleccione Assign bucket owner full control over query results (Asignar al propietario del bucket control total sobre los resultados de las consultas) si la ubicación de los resultados de cálculo pertenece a otra cuenta y desea concederle el control total sobre los resultados de sus consultas.

  3. (Opcional) Seleccione Encrypt calculation results (Cifrar resultados de cálculo) y, a continuación, elija una de las siguientes opciones:

    • SSE_S3: una clave de cifrado del servidor administrada por S3.

    • SSE_KMS: una clave que usted proporciona. En Elegir una clave de AWS KMS, puede elegir una de las siguientes opciones:

      • Usar clave que pertenece a AWS: utilice una clave que AWS administra y tiene en propiedad.

      • Elegir una clave de AWS KMS diferente (avanzado): elija o cree una clave.

        • Para usar una clave existente, utilice el cuadro de búsqueda para elegir una clave de AWS KMS o ingresar un ARN de clave.

        • Para crear una clave en la consola de KMS, elija Crear una clave de AWS KMS. Después de crear la clave en la consola de KMS, vuelva a la página Crear grupo de trabajo de la consola de Athena y, a continuación, utilice el cuadro de búsqueda Elegir una clave de AWS KMS o ingresar un ARN para elegir la clave que acaba de crear.

  4. (Opcional) Other settings (Otras configuraciones): expanda esta opción para activar o desactivar la opción Publish CloudWatch metrics (Publicar métricas de CloudWatch) del grupo de trabajo. Este campo se selecciona de forma predeterminada. Para obtener más información, consulte Supervisión de los cálculos de Apache Spark con métricas de CloudWatch.

  5. (Opcional) Tags (Etiquetas): utilice esta opción para agregar etiquetas al grupo de trabajo. Para obtener más información, consulte Etiquetado de recursos de Athena.

  6. Elija Crear grupo de trabajo. Un mensaje le informa de que el grupo de trabajo se ha creado correctamente y aparecerá en la lista de grupos de trabajo.

Apertura del explorador de cuadernos y cambio de grupo de trabajo

Antes de poder usar el grupo de trabajo habilitado para Spark que acaba de crear, debe cambiar de grupo de trabajo. Para cambiar los grupos de trabajo habilitados para Spark, puede usar la opción Workgroup (Grupo de trabajo) del explorador o del editor de cuadernos.

nota

Antes de empezar, compruebe que el navegador no bloquea las cookies de terceros. Cualquier navegador que bloquee las cookies de terceros, ya sea de manera predeterminada o porque el usuario lo haya configurado así, impedirá que se inicien los cuadernos. Para obtener más información sobre cómo administrar las cookies, consulte:

Para abrir el explorador de cuadernos y cambiar de grupo de trabajo
  1. En el panel de navegación, elija Notebook explorer (Explorador de cuadernos).

  2. Use la opción Workgroup (Grupo de trabajo) de la parte superior derecha de la consola para elegir el grupo de trabajo habilitado para Spark que ha creado. El cuaderno de ejemplo se muestra en la lista de cuadernos.

    Puede usar el explorador de cuadernos de las siguientes formas:

    • Elija el nombre vinculado de un cuaderno para abrirlo en una nueva sesión.

    • Para cambiar el nombre del cuaderno, eliminarlo o exportarlo, utilice el menú Actions (Acciones).

    • Para importar un archivo de cuaderno, elija Import file (Importar archivo).

    • Pare crear un cuaderno, elija Create notebook (Crear cuaderno).

Ejecución del cuaderno de ejemplo

El cuaderno de ejemplo consulta datos de un conjunto de datos de viajes en taxi en la ciudad de Nueva York de acceso público. El cuaderno tiene ejemplos que muestran cómo trabajar con Spark DataFrames, Spark SQL y AWS Glue Data Catalog.

Para ejecutar el cuaderno de ejemplo
  1. En el explorador de cuadernos, elija el nombre vinculado del cuaderno de ejemplo.

    De esta forma, se inicia una sesión de cuaderno con los parámetros predeterminados y se abre el cuaderno en el editor de cuadernos. Un mensaje le informa de que se ha iniciado una nueva sesión de Apache Spark con los parámetros predeterminados (20 DPU como máximo).

  2. Para ejecutar las celdas en orden y ver los resultados, pulse el botón Run (Ejecutar) una vez para cada celda del cuaderno.

    • Desplácese hacia abajo para ver los resultados así como nuevas celdas.

    • En las celdas que tienen un cálculo, una barra de progreso muestra el porcentaje completado, el tiempo transcurrido y el tiempo restante.

    • El cuaderno de ejemplo crea una base de datos y una tabla de ejemplo en su cuenta. La última celda las elimina como paso de limpieza.

nota

Si cambia los nombres de carpetas, tablas o bases de datos en el cuaderno de ejemplo, asegúrese de que esos cambios se reflejen en los roles de IAM que utilice. De lo contrario, es posible que el cuaderno no se ejecute debido a la falta de permisos.

Edición de detalles de la sesión

Tras iniciar una sesión de cuaderno, puede editar los detalles de la sesión, como el formato de la tabla, el cifrado, el tiempo de inactividad de la sesión y el número máximo de unidades de procesamiento de datos (DPU) simultáneas que desea utilizar. Una DPU es una medida relativa de la potencia de procesamiento que consta de 4 vCPU de capacidad de cómputo y 16 GB de memoria.

Para editar los detalles de la sesión
  1. En el editor de cuadernos, en el menú Session (Sesión) de la esquina superior derecha, elija Edit session (Editar sesión).

  2. En el cuadro de diálogo Editar detalles de la sesión, en la sección Propiedades de Spark, elija o ingrese valores para las siguientes opciones:

    • Formato de tabla adicional: elija Linux Foundation Delta Lake, Apache Hudi, Apache Iceberg o Personalizada.

      • Para las opciones de tabla Delta, Hudi o Iceberg, las propiedades de tabla necesarias para el formato de tabla correspondiente se proporcionan automáticamente en las opciones Editar en tabla y Editar en JSON. Para obtener más información sobre el uso de estos formatos de tabla, consulte Uso de formatos de tabla que no son de Hive en Amazon Athena para Apache Spark.

      • Para agregar o eliminar propiedades de tabla para las tablas personalizadas o de otro tipo, utilice las opciones Editar en tabla y Editar en JSON.

      • Para la opción Editar en la tabla, seleccione Agregar propiedad si desea agregar una propiedad o Eliminar si desea eliminar una propiedad. Utilice los cuadros Clave y Valor para introducir los nombres de las propiedades y sus valores.

      • Para la opción Editar en JSON, utilice el editor de texto JSON a fin de editar la configuración directamente.

        • Seleccione Copiar para copiar el texto JSON en el portapapeles.

        • Seleccione Borrar para eliminar todo el texto del editor JSON.

        • Elija el icono de ajustes (engranaje) a fin de configurar el ajuste de líneas o seleccionar un tema de color para el editor JSON.

    • Activar el cifrado de Spark: seleccione esta opción para cifrar los datos que se escriben en el disco y se envían a través de los nodos de la red de Spark. Para obtener más información, consulte Habilitación del cifrado de Apache Spark.

  3. En la sección Parámetros de la sesión, elija o ingrese valores para las siguientes opciones:

    • Session idle timeout (Tiempo de inactividad de la sesión): elija o ingrese un valor comprendido entre 1 y 480 minutos. El valor predeterminado es 20.

    • Coordinator size (Tamaño del coordinador): un coordinador es un ejecutor especial que orquesta el trabajo de procesamiento y administra a otros ejecutores en una sesión de cuaderno. Actualmente, 1 DPU es el valor predeterminado y el único posible.

    • Executor size (Tamaño del ejecutor): un ejecutor es la unidad de cálculo más pequeña que una sesión de cuaderno puede solicitar a Athena. Actualmente, 1 DPU es el valor predeterminado y el único posible.

    • Max concurrent value (Valor máximo de simultaneidad): la cantidad máxima de DPU que se pueden ejecutar simultáneamente. El valor predeterminado es 20, el mínimo es 3 y el máximo es 60. Al aumentar este valor no se asignan automáticamente recursos adicionales, pero Athena intentará asignar hasta el máximo especificado cuando la carga de computación lo requiera y haya recursos disponibles.

  4. Elija Guardar.

  5. Cuando aparezca el mensaje Confirm edit (Confirmar edición), elija Confirm (Confirmar).

    Athena guarda el cuaderno e inicia una nueva sesión con los parámetros especificados. Un banner en el editor de cuadernos le informa de que se ha iniciado una nueva sesión con los parámetros modificados.

    nota

    Athena recuerda la configuración de la sesión del cuaderno. Si edita los parámetros de una sesión y, a continuación, la termina, Athena utilizará los parámetros de sesión que configuró la próxima vez que inicie una sesión para el cuaderno.

Visualización de detalles de sesión y cálculo

Tras ejecutar el cuaderno, podrá ver los detalles de la sesión y del cálculo.

Para ver los detalles de sesión y cálculo
  1. En el menú Session (Sesión) de la esquina superior derecha, elija View details (Ver detalles).

    • La pestaña Current session (Sesión actual) muestra información sobre la sesión actual, que incluye el ID de sesión, la hora de creación, el estado y el grupo de trabajo.

    • La pestaña History (Historial) muestra los ID de sesiones anteriores. Para ver los detalles de una sesión anterior, elija la pestaña History (Historial) y, a continuación, elija un ID de sesión de la lista.

    • La sección Calculations (Cálculos) muestra una lista de los cálculos que se ejecutaron en la sesión.

  2. Para ver los detalles de un cálculo, elija el ID del cálculo.

  3. En la página Calculation details (Detalles del cálculo), puede hacer lo siguiente:

    • Para ver el código del cálculo, consulte la sección Code (Código).

    • Para ver los resultados del cálculo, seleccione la pestaña Results (Resultados).

    • Para descargar los resultados que ve en formato de texto, elija Download results (Descargar resultados).

    • Para ver información sobre los resultados del cálculo en Amazon S3, elija View in S3 (Ver en S3).

Terminación de una sesión

Para finalizar una sesión de cuaderno
  1. En el editor de cuadernos, en el menú Session (Sesión) de la esquina superior derecha, elija Terminate (Terminar).

  2. Cuando aparezca el mensaje Confirm session termination (Confirmar terminación de sesión), elija Confirm (Confirmar). Se guardará el cuaderno y volverá al editor de cuadernos.

nota

El cierre de una pestaña de un cuaderno en el editor de cuadernos no termina por sí solo la sesión de un cuaderno activo. Si quiere asegurarse de que la sesión ha terminado, utilice la opción Session (Sesión), Terminate (Terminar).

Creación de un cuaderno propio

Tras crear un grupo de trabajo de Athena habilitado para Spark, podrá crear un cuaderno propio.

Para crear un cuaderno
  1. Si el panel de navegación de la consola no está visible, elija el menú de expansión de la izquierda.

  2. En el panel de navegación de la consola de Athena, elija Notebook explorer (Explorador de cuadernos) o Notebook editor (Editor de cuadernos).

  3. Realice una de las acciones siguientes:

    • En Notebook explorer (Explorador de cuadernos), elija Create notebook (Crear cuaderno).

    • En Notebook editor (Editor de cuadernos), elija Create notebook (Crear cuaderno) o elija el icono con el signo más (+) para agregar un cuaderno.

  4. En el cuadro de diálogo Create notebook (Crear cuaderno), ingrese un nombre en Notebook name (Nombre del cuaderno).

  5. (Opcional) Amplíe Propiedades de Spark y, a continuación, elija o ingrese valores para las siguientes opciones:

    • Formato de tabla adicional: elija Linux Foundation Delta Lake, Apache Hudi, Apache Iceberg o Personalizada.

      • Para las opciones de tabla Delta, Hudi o Iceberg, las propiedades de tabla necesarias para el formato de tabla correspondiente se proporcionan automáticamente en las opciones Editar en tabla y Editar en JSON. Para obtener más información sobre el uso de estos formatos de tabla, consulte Uso de formatos de tabla que no son de Hive en Amazon Athena para Apache Spark.

      • Para agregar o eliminar propiedades de tabla para las tablas personalizadas o de otro tipo, utilice las opciones Editar en tabla y Editar en JSON.

      • Para la opción Editar en la tabla, seleccione Agregar propiedad si desea agregar una propiedad o Eliminar si desea eliminar una propiedad. Utilice los cuadros Clave y Valor para introducir los nombres de las propiedades y sus valores.

      • Para la opción Editar en JSON, utilice el editor de texto JSON a fin de editar la configuración directamente.

        • Seleccione Copiar para copiar el texto JSON en el portapapeles.

        • Seleccione Borrar para eliminar todo el texto del editor JSON.

        • Elija el icono de ajustes (engranaje) a fin de configurar el ajuste de líneas o seleccionar un tema de color para el editor JSON.

    • Activar el cifrado de Spark: seleccione esta opción para cifrar los datos que se escriben en el disco y se envían a través de los nodos de la red de Spark. Para obtener más información, consulte Habilitación del cifrado de Apache Spark.

  6. (Opcional) Expanda Session parameters (Parámetros de sesión) y, a continuación, elija o ingrese valores para las siguientes opciones:

    • Session idle timeout (Tiempo de inactividad de la sesión): elija o ingrese un valor comprendido entre 1 y 480 minutos. El valor predeterminado es 20.

    • Coordinator size (Tamaño del coordinador): un coordinador es un ejecutor especial que orquesta el trabajo de procesamiento y administra a otros ejecutores en una sesión de cuaderno. Actualmente, 1 DPU es el valor predeterminado y el único posible. Una DPU (unidad de procesamiento de datos) es una medida relativa de la potencia de procesamiento que consta de 4 vCPU de capacidad de computación y 16 GB de memoria.

    • Executor size (Tamaño del ejecutor): un ejecutor es la unidad de cálculo más pequeña que una sesión de cuaderno puede solicitar a Athena. Actualmente, 1 DPU es el valor predeterminado y el único posible.

    • Max concurrent value (Valor máximo de simultaneidad): la cantidad máxima de DPU que se pueden ejecutar simultáneamente. El valor predeterminado es 20 y el máximo es 60. Al aumentar este valor no se asignan automáticamente recursos adicionales, pero Athena intentará asignar hasta el máximo especificado cuando la carga de computación lo requiera y haya recursos disponibles.

  7. Seleccione Crear. El cuaderno se abre en una nueva sesión en el editor de cuadernos.

Apertura de un cuaderno creado anteriormente

Para abrir un cuaderno creado anteriormente
  1. Si el panel de navegación de la consola no está visible, elija el menú de expansión de la izquierda.

  2. En el panel de navegación de la consola de Athena, elija Notebook editor (Editor de cuadernos) o Notebook explorer (Explorador de cuadernos).

  3. Realice una de las acciones siguientes:

    • En Notebook editor (Editor de cuadernos), elija un cuaderno de la lista Recent notebooks (Cuadernos recientes) o Saved notebooks (Cuadernos guardados). El cuaderno se abre en una nueva sesión.

    • En Notebook explorer (Explorador de cuadernos), elija el nombre de un cuaderno de la lista. El cuaderno se abre en una nueva sesión.

Para obtener más información sobre la administración de los archivos de cuadernos, consulte Administración de los archivos de cuaderno.