Conexión a Apache Cassandra
Apache Cassandra es un sistema de administración de base de datos NoSQL. Utilice el conector de datos de Analytics para importar los datos de Cassandra de su organización.
Antes de comenzar
Para conectarse a Cassandra, debe contar con lo siguiente:
- el nombre de host del servidor de la base de datos
- el puerto de conexión correcto
- su nombre de usuario y contraseña, si está utilizando autenticación
Si necesita ayuda para completar los prerrequisitos para la conexión, comuníquese con el administrador del conector de su organización. Si el administrador no puede ayudarlo, usted o el administrador deben comunicarse con el Soporte del conector.
Crear una conexión a Cassandra
- Desde el menú principal de Analytics, seleccione Importar > Base de datos y aplicación.
- Desde la ficha Nuevas conexiones, en la sección Conectores de ACL, seleccione Cassandra.
Consejo
Puede filtrar la lista de conectores disponibles introduciendo una cadena de búsqueda en el cuadro Filtrar conexiones. Los conectores se indican en orden alfabético.
- En el panel Configuración de conexiones de datos, ingrese la configuración de la conexión y, en la parte inferior del panel, haga clic en Guardar y conectar.
Puede aceptar el Nombre de la conexión predeterminado o introducir uno nuevo.
La conexión de su conector se guarda en la ficha Conexiones existentes. En el futuro, puede volver a conectarse a su conector desde la conexión guardada.
Una vez que se establezca la conexión, se abre la ventana Data Access en el Área de almacenamiento temporal y puede comenzar a importar datos. Para obtener ayuda con la importación de datos desde su conector, consulte Importar datos usando la ventana Data Access.
Consultas en Cassandra
Una de las ventajas del diseño de Apache Cassandra es su capacidad de almacenar datos que no están normalizados en menos cantidad de tablas. Si se aprovechan las estructuras de datos anidadas, como los conjuntos, las listas y los mapas, es posible simplificar las transacciones. Sin embargo, Analytics no admite el acceso a este tipo de datos. Si se vuelven a normalizar los datos incluidos dentro de las colecciones (conjuntos, listas y mapas) en tablas virtuales, el conector les permite a los usuarios interactuar directamente con los datos pero dejando los datos en su forma no normalizada en Cassandra.
Si una tabla contiene columnas de colección, cuando se realiza una consulta por primera vez en la tabla, el conector crea las siguientes tablas virtuales:
- Una tabla "base", que contiene los mismos datos que la tabla real, salvo por las columnas de la colección.
- Una tabla virtual para cada columna de la colección, que expande los datos anidados.
Las tablas virtuales hacen referencia a los datos en la tabla real, lo cual permite que el conector acceda a los datos sin normalizar. Por medio de las consultas en las tablas virtuales, es posible acceder al contenido de las conexiones de Cassandra a través de ODBC.
La tabla base y las tablas virtuales aparecen como tablas adicionales en la lista de tablas que existen en la base de datos. La tabla base utiliza el mismo nombre que la tabla real a la cual representa. El nombre de las tablas virtuales que representan colecciones se genera utilizando el nombre de la tabla real, un separador (_vt_ por valor predeterminado), y el nombre de la columna.
Ejemplo
La tabla de ejemplo es una tabla de base de datos de Cassandra que contiene una columna de clave primaria entera denominada pk_int, una columna de lista, una columna de mapa, una columna de conjunto (llamada StringSet).
Tabla de origen con colecciones
pk_int | Lista | Mapa | StringSet |
---|---|---|---|
1 | ["1","2","3"] | {"S1" : "a", "S2" : "b"} | {"a", "b", "c"} |
3 | ["100","101","102","105"] | {"S1" : "t"} | {"a","e"} |
El conector genera varias tablas virtuales para representar esta tabla única. La primera tabla virtual es la tabla base:
Tabla base
pk_int |
---|
1 |
3 |
La tabla base contiene los mismos datos que la tabla de la base de datos original, salvo por las colecciones, que se omiten de esta tabla y se expanden en otras tablas virtuales.
Las siguientes tablas muestran las tablas virtuales que vuelven a normalizar los datos desde las columnas Lista, Mapa y StringSet:
Lista
pk_int | List#index | List#value |
---|---|---|
1 | 0 | 1 |
1 | 1 | 2 |
1 | 2 | 3 |
3 | 0 | 100 |
3 | 1 | 101 |
3 | 2 | 102 |
3 | 3 | 105 |
Mapa
pk_int | Map#key | Map#value |
---|---|---|
1 | S1 | a |
1 | S2 | b |
3 | S1 | t |
StringSet
pk_int | StringSet#value |
---|---|
1 | a |
1 | b |
1 | c |
3 | a |
3 | e |
Las columnas clave externas en las tablas virtuales hacen referencia a las columnas clave de la tabla real e indican a qué fila de la tabla real corresponde la fila de la tabla virtual. Las columnas con nombres que finalizan con #index o #key indican la posición de los datos dentro del mapa o de la lista originales. Las columnas con nombres que terminan en #value contienen los datos expandidos de la colección.