Saltar al contenido principal Saltar al contenido complementario

Databricks

Puede usar Databricks como plataforma de datos de destino en una canalización de datos o en una tarea de replicación. En una canalización de datos, se pueden realizar varias operaciones ELT en la plataforma de destino, incluido el almacenamiento de datos, la transformación de datos, la creación de mercados de datos y el registro de datos. Una tarea de replicación, por otro lado, implica la replicación de datos directamente desde un sistema de origen a un sistema de destino con capacidades de transformación básicas, pero sin soporte para operaciones ELT.

Establecer Databricks como objetivo implica:

Nota informativaSolo compatible con clústeres SQL Warehouse

Creación de una zona de preparación en la nube

Cuando se utiliza el conector Databricks Target, también es necesario definir un área de preparación en la nube donde los datos y los cambios se ensayen antes de ser aplicados y almacenados. Se admiten las siguientes plataformas de almacenamiento:

Nota informativaSi está registrando datos existentes, no necesita crear un área de preparación en la nube.

Configurar una conexión a Databricks

Una vez que haya configurado la preparación, haga lo siguiente:

  1. En Conexiones, haga clic en Crear conexión.

  2. Seleccione el conector de destino Databricks y luego proporcione la siguiente configuración:

Destino de datos

Nota informativaEste campo no está disponible con la suscripción Qlik Talend Cloud Starter porque Pasarela Data Movement no se admite con este nivel de suscripción.

Solo se requiere una Pasarela Data Movement si la base de datos de destino no está accesible desde Qlik Cloud y solo se puede acceder a ella mediante un vínculo privado (por ejemplo, si está ubicada o en una nube privada virtual). En tal caso, seleccione la Pasarela Data Movement a través de la cual desea acceder a la base de datos de destino.

En función del caso de uso que precise, será la misma Pasarela Data Movement implementada para transferir los datos desde la fuente de datos u otra distinta.

Para obtener información sobre casos de uso de Pasarela Data Movement, consulte ¿Cuándo es obligatorio Pasarela Data Movement? y Casos de uso habituales.

Si es posible acceder directamente a la base de datos de destino desde Qlik Cloud, seleccione Ninguno.

Nota informativaAl acceder a la base de datos de destino mediante Pasarela Data Movement, también necesita instalar el controlador adecuado en el equipo de Pasarela Data Movement. Para más detalles, vea Configuración del driver o controlador a continuación.

Propiedades de conexión

  • Host: el nombre del servidor principal que aloja el espacio de trabajo de Databricks.
  • Puerto: el puerto a través del cual se accede al espacio de trabajo.
  • Ruta HTTP: la ruta al clúster que se está utilizando.
  • Token: su token personal para acceder al espacio de trabajo.

Propiedades del catálogo

Haga clic en Cargar catálogos para cargar los catálogos disponibles y, a continuación, seleccione un Catálogo. Si su entorno no está configurado con ningún catálogo, seleccione hive_metastore, que es el catálogo predeterminado.

Nota informativa

Necesita permitir Pasarela Data Movement para acceder a tablas externas (no gestionadas) definiendo una ubicación externa en Databricks. Para obtener directrices, vea:

https://docs.databricks.com/data-governance/unity-catalog/manage-external-locations-and-credentials.html#manage-permissions-for-an-external-location

Propiedades internas

Las propiedades internas son para casos de uso especiales y, por lo tanto, no se exponen en el cuadro de diálogo. Solo deberá usarlas si se lo indica el Soporte de Qlik.

Haga uso de los botones Crear nuevo y Cancelar a la derecha de los campos para agregar o eliminar propiedades según sea necesario.

Nombre

El nombre que mostrará la conexión.

Requisitos previos

Permisos generales

  • La hora en la máquina del Servidor de Qlik Talend Data Integration debe ser precisa.
  • Databricks table permissions: Qlik Talend Data Integration requiere permisos para realizar las siguientes operaciones en tablas de Databricks: CREATE, DROP, TRUNCATE, DESCRIBE y ALTER table.
  • En la configuración de Control de acceso (IAM) para el sistema de archivos ADLS Gen2, asigne la función “Storage Blob Data Contributor” (Contribuidor de datos de blob de almacenamiento) a Qlik Talend Data Integration (AD App ID). La función puede tardar unos minutos en surtir efecto.
  • Para que Qlik Talend Data Integration se conecte a un clúster de Databricks mediante ODBC, los usuarios deben tener el permiso "Can Attach To" en su cuenta de Databricks.
  • Se requiere un token de seguridad válido para acceder a Databricks. El token debe especificarse al configurar los campos de Databricks ODBC Access en la configuración del extremo de conexión.
  • Al configurar un nuevo clúster con Microsoft Azure Data Lake Storage (ADLS) Gen2, se debe agregar la siguiente línea a la sección "Spark Config".

    spark.hadoop.hive.server2.enable.doAs false

  • Para poder acceder a los directorios de almacenamiento desde el clúster de Databricks, los usuarios deben agregar una configuración (en la configuración de Spark) para esa cuenta de almacenamiento y su clave.

    Ejemplo:  

    fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>

    Para obtener más información, consulte la ayuda en línea de Databricks en: https://docs.databricks.com/clusters/configure.html#spark-configuration

  • La mejor práctica es no usar la ubicación raíz (/Usr/Hive/Warehouse/) para la base de datos de Databricks, ya que hacerlo puede afectar al rendimiento.

Permiso de acceso al almacenamiento

La computación SQL de Databricks debe estar configurada para acceder al almacenamiento en la nube. Para obtener instrucciones, consulte la ayuda en línea del proveedor.

Configuración del driver o controlador

Solo se requiere un controlador si accede a la base de datos a través de Pasarela Data Movement. En tal caso, es necesario instalar el controlador en la máquina de la Pasarela Data Movement.

Puede instalar el driver usando la utilidad de instalación del driver (recomendado) o manualmente. La instalación manual solo debe intentarse en el improbable caso de que encuentre un problema con la utilidad de instalación del driver.

Uso de la utilidad de instalación del driver para instalar el driver/controlador

Esta sección describe cómo instalar el driver necesario. El proceso implica ejecutar un script que descargará, instalará y configurará automáticamente el driver requerido. También puede ejecutar secuencias de script para actualizar y desinstalar el driver según sea necesario.

  • Asegúrese de que Python 3.6 o posterior esté instalado en el servidor de la pasarela de Data Movement.

    Python viene preinstalado en la mayoría de las distribuciones de Linux. Puede verificar qué versión de Python está instalada en su sistema ejecutando el siguiente comando:

    python3 --version

Para descargar e instalar el driver:

  1. Detenga el servicio Data Movement gateway:

    sudo systemctl stop repagent

  2. Opcionalmente, confirme que el servicio se ha detenido:

    sudo systemctl status repagent

    El estado debería ser el siguiente:

    Active: inactive (dead) since <timestamp> ago

  3. En la máquina de la puerta de enlace de Data Movement, cambie el directorio de trabajo a:

    opt/qlik/gateway/movement/drivers/bin

  4. Ejecute el siguiente comando:

    Sintaxis:

    ./install databricks

    Si no logra descargar el driver (debido a restricciones de acceso o problemas técnicos), aparecerá un mensaje indicándole dónde puede descargar el driver y dónde copiarlo en la máquina de la puerta de enlace de Data Movement. Una vez hecho esto, ejecute nuevamente el comando install databricks.

    De lo contrario, se mostrará el EULA del driver.

  5. Puede realizar una de las acciones siguientes:

    • Pulse [Intro] repetidamente para desplazarse por el EULA.
    • Pulse la barra espaciadora repetidamente para desplazarse rápidamente por el EULA.
    • Pulse q para salir del texto de la licencia y ver las opciones de aceptación del EULA.
  6. Puede realizar una de las acciones siguientes:

    • Escriba "y" y pulse [Intro] para aceptar el EULA y comenzar la instalación.
    • Escriba "n" y pulse [Intro] para rechazar el EULA y salir de la instalación.
    • Escriba "v" y pulse [Intro] para ver el EULA de nuevo.

  7. Se instalará el driver.

  8. Espere a que termine la instalación (indicado mediante la palabra "Completado") y luego inicie el servicio de Data Movement gateway:

    sudo systemctl start repagent

  9. Opcionalmente, confirme que el servicio se ha iniciado:

    sudo systemctl status repagent

    El estado debería ser el siguiente:

    Active: active (running) since <timestamp> ago

Ejecute el comando de actualización si desea desinstalar versiones anteriores del driver antes de instalar el driver provisto.

Para descargar y actualizar el driver:

  1. Detenga el servicio Data Movement gateway:

    sudo systemctl stop repagent

  2. Opcionalmente, confirme que el servicio se ha detenido:

    sudo systemctl status repagent

    El estado debería ser el siguiente:

    Active: inactive (dead) since <timestamp> ago

  3. En la máquina de la puerta de enlace de Data Movement, cambie el directorio de trabajo a:

    opt/qlik/gateway/movement/drivers/bin

  4. Ejecute el siguiente comando:

    Sintaxis:

    ./update databricks

    Si no logra descargar el driver (debido a restricciones de acceso o problemas técnicos), aparecerá un mensaje indicándole dónde puede descargar el driver y dónde copiarlo en la máquina de la puerta de enlace de Data Movement. Una vez hecho esto, ejecute nuevamente el comando update databricks.

    De lo contrario, se mostrará el EULA del driver.

  5. Puede realizar una de las acciones siguientes:

    • Pulse [Intro] repetidamente para desplazarse por el EULA.
    • Pulse la barra espaciadora repetidamente para desplazarse rápidamente por el EULA.
    • Pulse q para salir del texto de la licencia y ver las opciones de aceptación del EULA.
  6. Puede realizar una de las acciones siguientes:

    • Escriba "y" y pulse [Intro] para aceptar el EULA y comenzar la instalación.
    • Escriba "n" y pulse [Intro] para rechazar el EULA y salir de la instalación.
    • Escriba "v" y pulse [Intro] para ver el EULA desde el principio.
  7. El driver anterior se desinstalará y se instalará el nuevo driver.

  8. Espere a que termine la instalación (indicado mediante la palabra "Completado") y luego inicie el servicio de Data Movement gateway:

    sudo systemctl start repagent

  9. Opcionalmente, confirme que el servicio se ha iniciado:

    sudo systemctl status repagent

    El estado debería ser el siguiente:

    Active: active (running) since <timestamp> ago

Ejecute el comando de desinstalación si desea desinstalar el driver.

Para desinstalar el driver:

  1. Detenga todas las tareas configuradas para utilizar este conector.

  2. En la máquina de la pasarela de Data Movement, cambie el directorio de trabajo a:

    opt/qlik/gateway/movement/drivers/bin

  3. Ejecute el siguiente comando:

    Sintaxis:

    ./uninstall databricks

    Se desinstalará el driver.

Instalar el controlador manualmente

Solo debe intentar instalar el driver manualmente si la instalación automática del driver no se realizó correctamente.

Una vez que se haya instalado Pasarela Data Movement, descargue el archivo SimbaSparkODBC-<version>-LinuxRPM-64bit.zip. Encontrará un enlace de descarga directa a la versión compatible en binary-artifacts, en /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Una vez completada la descarga, copie el archivo en la máquina de Pasarela Data Movement.

  1. Detenga el servicio Data Movement gateway:

    sudo systemctl stop repagent

  2. Opcionalmente, confirme que el servicio se ha detenido:

    sudo systemctl status repagent

  3. El estado debería ser el siguiente:

    Active: inactive (dead) since <timestamp> ago

  4. Instale el controlador en la máquina de Data Movement gateway.

  5. Una vez instalado, asegúrese de que la siguiente sección aparece en el archivo /etc/odbcinst.ini:

  6.  [Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
  7. Inicie el servicio Data Movement gateway:

    sudo systemctl start repagent

  8. Opcionalmente, confirme que el servicio se ha iniciado:

    sudo systemctl status repagent

    El estado debería ser el siguiente:

    Active: active (running) since <timestamp> ago

  1. Descargue el archivo databricks-jdbc-<versión>.jar . Encontrará un enlace de descarga directa a la versión compatible en binary-artifacts, en /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Una vez completada la descarga, copie el archivo JAR a la siguiente carpeta de la máquina de Pasarela Data Movement:

    /opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib

  2. Reinicie el servicio de Pasarela Data Movement y compruebe que se ha iniciado ejecutando los comandos descritos en Comandos de servicio de Pasarela Data Movement

Puerto

El puerto de firewall 443 debe abrirse para la comunicación saliente.

Tipos de datos

La tabla siguiente muestra los tipos de datos de Databricks admitidos al utilizar Qlik Cloud y la asignación predeterminada de tipos de datos de Qlik Cloud.

La información del tipo de datos nativo se conserva y se muestra en la columna Tipo de datos nativo en las vistas de conjuntos de datos. Si la columna no está visible, debe abrir el selector de columnas de la vista del conjunto de datos y seleccionar la columna Tipo de datos nativo.

Tipos de datos que admite
Tipos de datos de Qlik Cloud Tipos de datos de Databricks

BOOLEAN

BOOLEAN

BYTES

STRING

DATE

DATE

TIME

STRING

DATETIME

TIMESTAMP

INT1

TINYINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

NUMERIC

DECIMAL (precisión, escala)

REAL4

FLOAT

REAL8

DOUBLE

UINT1

SMALLINT

UINT2

INT

UINT4

BIGINT

UINT8

DECIMAL (20, 0)

STRING

VARCHAR (longitud en Bytes)

WSTRING

VARCHAR (longitud en Bytes)

BLOB

STRING

NCLOB

STRING

CLOB

STRING

Los siguientes tipos de datos se convierten a STRING(255):

  • MAP

  • ARRAY

  • STRUCT

Limitaciones y consideraciones

  • Cuando utilice Databricks en AWS con tablas sin una clave principal, la recarga de las tablas en el aterrizaje fallará en la app de almacenamiento. Para resolver esto, puede

    • Defina una clave primaria en las tablas.

    • Configure spark.databricks.delta.alterTable.rename.enabledOnAWS como True en Databricks.

    • Al crear una transformación basada en SQL, todos los campos VARCHAR se devuelven como STRING(255).

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.