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.
En esta sección se describen los pasos necesarios para configurar DSBulk para la carga de datos en Amazon Keyspaces. Puede configurar DSBulk mediante un archivo de configuración. Puede especificar el archivo de configuración directamente desde la línea de comandos.
-
Cree un archivo de configuración DSBulk para la migración a Amazon Keyspaces; en este ejemplo utilizamos el nombre de archivo
dsbulk_keyspaces.conf
. Especifique los siguientes ajustes en el archivo de configuración de DSBulk.-
PlainTextAuthProvider
: cree el proveedor de autenticación con la clasePlainTextAuthProvider
.ServiceUserName
yServicePassword
deben coincidir con el nombre de usuario y la contraseña que obtuvo al generar las credenciales específicas del servicio siguiendo los pasos en Creación de credenciales para el acceso programático a Amazon Keyspaces . -
local-datacenter
: establezca el valor delocal-datacenter
en la Región de AWS a la que se va a conectar. Por ejemplo, si la aplicación se conecta acassandra.us-east-2.amazonaws.com
, entonces establezca el centro de datos local enus-east-2
. Para conocer todas las Regiones de AWS disponibles, consulte Puntos de conexión de servicio para Amazon Keyspaces. Para evitar réplicas, establezcaslow-replica-avoidance
enfalse
. -
SSLEngineFactory
: para configurar SSL/TLS, inicialice laSSLEngineFactory
añadiendo una sección en el archivo de configuración con una sola línea que especifique la clase conclass = DefaultSslEngineFactory
. Proporcione la ruta acassandra_truststore.jks
y la contraseña que creó anteriormente. consistency
: establezca el nivel de coherencia enLOCAL QUORUM
. No se admiten otros niveles de coherencia de escritura. Para obtener más información consulte Niveles de coherencia de lectura y escritura de Apache Cassandra admitidos y costos asociados.El número de conexiones por grupo es configurable en el controlador Java. Para este ejemplo, establezca
advanced.connection.pool.local.size
en 3.
A continuación se muestra el archivo de configuración de ejemplo completo.
datastax-java-driver { basic.contact-points = [ "
cassandra.us-east-2.amazonaws.com:9142
"] advanced.auth-provider { class = PlainTextAuthProvider username = "ServiceUserName
" password = "ServicePassword
" } basic.load-balancing-policy { local-datacenter = "us-east-2
" slow-replica-avoidance = false } basic.request { consistency = LOCAL_QUORUM default-idempotence = true } advanced.ssl-engine-factory { class = DefaultSslEngineFactory truststore-path = "./cassandra_truststore.jks" truststore-password = "my_password
" hostname-validation = false } advanced.connection.pool.local.size = 3 } -
-
Revise los parámetros del comando
load
de DSBulk.executor.maxPerSecond
: el número máximo de filas que el comando de carga intenta procesar concurrentemente por segundo. Si no se establece, este parámetro se deshabilita con -1.Establezca
executor.maxPerSecond
en función del número de WCU que haya aprovisionado en la tabla de destino. El valorexecutor.maxPerSecond
del comandoload
no es un límite, es una media objetivo. Esto significa que puede (y a menudo lo hace) dispararse por encima del número que usted fije. Para tener en cuenta los picos y asegurarse de que exista capacidad suficiente para gestionar las solicitudes de carga de datos, establezcaexecutor.maxPerSecond
en el 90 % de la capacidad de escritura de la tabla.executor.maxPerSecond = WCUs * .90
En este tutorial, establecemos
executor.maxPerSecond
en 5.nota
Si utiliza DSBulk 1.6.0 o superior, puede usar
dsbulk.engine.maxConcurrentQueries
en su lugar.Configure estos parámetros adicionales para el comando
load
de DSBulk.batch-mode
: este parámetro indica al sistema que agrupe las operaciones por clave de partición. Recomendamos deshabilitar el modo por lotes, ya que puede provocar situaciones de sobrecarga de claves y provocarWriteThrottleEvents
.driver.advanced.retry-policy-max-retries
: determina cuántas veces se debe reintentar una consulta fallida. Si no se establece, el valor predeterminado es 10. Puede ajustar este valor según sea necesario.driver.basic.request.timeout
: el tiempo en minutos que el sistema espera el regreso de una consulta. Si no se establece, el valor predeterminado es “5 minutos”. Puede ajustar este valor según sea necesario.