Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Paso 2: Configurar Apache Cassandra Spark Connector

Modo de enfoque
Paso 2: Configurar Apache Cassandra Spark Connector - Amazon Keyspaces (para Apache Cassandra)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Apache Spark es una plataforma de cómputo de uso general que puede configurar de diferentes maneras. Para configurar Spark y Spark Cassandra Connector para su integración con Amazon Keyspaces, le recomendamos que comience con los ajustes de configuración mínimos que se describen en la siguiente sección y que los aumente posteriormente según resulte apropiado para su carga de trabajo.

  • Cree particiones de Spark de tamaño inferior a 8 MB.

    En Spark, las particiones representan un bloque atómico de datos que puede ejecutarse en paralelo. Al escribir datos en Amazon Keyspaces con Spark Cassandra Connector, cuanto menor sea la partición de Spark, menor será la cantidad de registros que la tarea vaya a escribir. Si una tarea de Spark encuentra múltiples errores, falla una vez agotado el número designado de reintentos. Para evitar la repetición de tareas grandes y el reprocesamiento de muchos datos, mantenga pequeño el tamaño de la partición de Spark.

  • Utilice un número bajo de escrituras concurrentes por ejecutor con un gran número de reintentos.

    Amazon Keyspaces devuelve errores de capacidad insuficiente a los controladores de Cassandra como tiempos de espera de operación. No puede abordar los tiempos de espera debidos a capacidad insuficiente cambiando la duración del tiempo de espera configurado porque Spark Cassandra Connector prueba el reintento de solicitudes de forma transparente utilizando la MultipleRetryPolicy. Para asegurarse de que los reintentos no saturan el grupo de conexiones del controlador, utilice un número bajo de escrituras concurrentes por ejecutor con un gran número de reintentos. El siguiente fragmento de código es un ejemplo de ello.

    spark.cassandra.query.retry.count = 500 spark.cassandra.output.concurrent.writes = 3
  • Divida el rendimiento total y distribúyalo entre múltiples sesiones de Cassandra.

    • Spark Cassandra Connector crea una única sesión para cada ejecutor Spark. Piense en esta sesión como la unidad de escala para determinar el rendimiento requerido y el número de conexiones necesarias.

    • Al definir el número de núcleos por ejecutor y el número de núcleos por tarea, empiece por valores bajos y aumente según sea necesario.

    • Defina los fallos de las tareas de Spark para permitir el procesamiento en caso de errores transitorios. Una vez que se haya familiarizado con las características y los requisitos de tráfico de su aplicación, le recomendamos establecer spark.task.maxFailures en un valor acotado.

    • Por ejemplo, la siguiente configuración puede gestionar dos tareas concurrentes por ejecutor por sesión:

      spark.executor.instances = configurable -> number of executors for the session. spark.executor.cores = 2 -> Number of cores per executor. spark.task.cpus = 1 -> Number of cores per task. spark.task.maxFailures = -1
  • Desactive el procesamiento por lotes.

    • Le recomendamos que desactive el procesamiento por lotes para mejorar los patrones de acceso aleatorio. El siguiente fragmento de código es un ejemplo de ello.

      spark.cassandra.output.batch.size.rows = 1 (Default = None) spark.cassandra.output.batch.grouping.key = none (Default = Partition) spark.cassandra.output.batch.grouping.buffer.size = 100 (Default = 1000)
  • Establezca SPARK_LOCAL_DIRS en un disco local rápido con espacio suficiente.

    • De forma predeterminada, Spark guarda los archivos de salida de asignaciones y los conjuntos de datos distribuidos resistentes (RDD) en una carpeta /tmp . En función de la configuración de su host Spark, esto puede dar lugar a errores del estilo no hay espacio disponible en el dispositivo.

    • Para establecer la variable de entorno SPARK_LOCAL_DIRS en un directorio llamado /example/spark-dir, puede utilizar el siguiente comando.

      export SPARK_LOCAL_DIRS=/example/spark-dir
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.