Fuente por lotes de Redshift

En esta página, se describe cómo cargar datos de una instancia de Amazon Redshift en Google Cloud con Cloud Data Fusion. El conector de origen de Redshift te permite sincronizar tablas de tu conjunto de datos de Redshift con tu destino, como BigQuery. El conector también te permite crear una consulta en SQL configurable.

Antes de comenzar

  • Las versiones 6.9.0 y posteriores de Cloud Data Fusion admiten la fuente de Redshift.
  • Cuando configuras el conector de origen de Redshift, puedes seleccionar una conexión existente y reutilizable, o crear una conexión nueva de una sola vez. Para obtener más información, consulta Administra conexiones. Cuando vuelvas a usar una conexión, ten en cuenta lo siguiente:

    • No es necesario proporcionar credenciales.
    • La conexión existente proporciona la información del esquema y del nombre de la tabla que se usó para generar la consulta de importación.

Cómo configurar el complemento

  1. Ve a la interfaz web de Cloud Data Fusion y haz clic en Studio.

  2. Comprueba que la opción Data Pipeline - Batch esté seleccionada (no Realtime).

  3. En el menú Fuente, haz clic en Redshift. El nodo de Redshift aparece en tu canalización. Si no ves la fuente de Redshift en la página de Studio, implementa el conector de origen de Redshift desde el concentrador de Cloud Data Fusion.

  4. Para configurar la fuente, ve al nodo de Redshift y haz clic en Propiedades.

  5. Ingresa las siguientes propiedades. Para obtener una lista completa, consulta Propiedades.

    1. Ingresa una etiqueta para el nodo de Redshift, por ejemplo, Redshift tables.
    2. Ingresa los detalles de la conexión. Puedes configurar una conexión nueva de un solo uso, o una existente y reutilizable.

      Nueva conexión

      Para agregar una conexión de un solo uso a Redshift, sigue estos pasos:

      1. Mantén desactivada la opción Usar conexión.
      2. En el campo Nombre del controlador de JDBC, ingresa el nombre del controlador. Redshift admite dos tipos de controladores de JDBC: CData y Amazon. Para obtener más información, consulta Sube un controlador de JDBC.
      3. En el campo Host, ingresa el extremo del clúster de Redshift, por ejemplo, cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com.
      4. Opcional: En el campo Puerto, ingresa un número de puerto de base de datos, por ejemplo, 5439.
      5. Si tu base de datos de Redshift requiere autenticación, haz lo siguiente:

        1. En el campo Nombre de usuario, ingresa el nombre de la base de datos.
        2. En el campo Contraseña, ingresa la contraseña de la base de datos.
        3. Opcional: En el campo Argumentos, ingresa los argumentos clave-valor. Para usar el controlador CData, proporciona los argumentos de conexión, como RTK o OEMKey, si corresponde.
        4. En el campo Nombre, ingresa un nombre, por ejemplo, SN-PC-Source-01-01-2024.
        5. Ingresa el nombre de la base de datos de destino en el campo Base de datos, por ejemplo, datafusiondb.

      Conexión reutilizable

      Para volver a usar una conexión existente, sigue estos pasos:

      1. Activa Usar conexión.
      2. Haz clic en Browse connections.
      3. Haz clic en el nombre de la conexión.

      4. Opcional: Si no existe una conexión y quieres crear una nueva y reutilizable, haz clic en Agregar conexión y consulta los pasos de la pestaña Conexión nueva de esta página.

    3. En el campo Importar consulta, ingresa una consulta con el esquema y los nombres de tabla de tu fuente de Redshift, por ejemplo, Select * from "public"."users".

    4. Opcional: Ingresa las propiedades Avanzadas, como una consulta de límite o la cantidad de divisiones. Consulta Propiedades para ver todas las descripciones de las propiedades.

  6. Opcional: Haz clic en Validar y corrige cualquier error encontrado.

  7. Haz clic en Close. Las propiedades se guardan y puedes continuar con la compilación de tu canalización de datos en la interfaz web de Cloud Data Fusion.

Propiedades

Propiedad Admite macros para la automatización Propiedad obligatoria Descripción
Etiqueta No El nombre del nodo en tu canalización de datos.
Usar conexión No No Busca una conexión a la fuente. Si la opción Usar conexión está activada, no necesitas proporcionar credenciales.
Conexión Nombre de la conexión que se usará. Si la opción Usar conexión está seleccionada, aparecerá este campo. La conexión proporciona la información de la base de datos y la tabla.
Nombre del controlador de JDBC Nombre del controlador de JDBC que se usará. Si la opción Usar conexión no está seleccionada, aparecerá este campo.
Host El extremo del clúster de Amazon Redshift. Si no está seleccionada la opción Usar conexión, aparecerá este campo.
Puerto No Puerto en el que se ejecuta Redshift. Si la opción Usar conexión no está seleccionada, aparecerá este campo.
Nombre de usuario No Identidad de usuario para conectarse a la base de datos especificada. Si no está seleccionada la opción Usar conexión, aparecerá este campo.
Contraseña No Es la contraseña que se usará para conectarse a la base de datos especificada. Si no está seleccionada la opción Usar conexión, aparecerá este campo.
Argumentos de conexión No Una lista de pares clave-valor de string arbitrarios como argumentos de conexión. Estos argumentos se pasan al controlador de JDBC como argumentos de conexión para controladores de JDBC que pueden necesitar configuraciones adicionales. Si no está seleccionada la opción Usar conexión, aparecerá este campo.
Nombre de referencia No Identifica esta fuente de forma única para el linaje, la anotación de metadatos y otros servicios.
Base de datos Nombre de la base de datos de Redshift. Para seleccionar los datos, haz clic en Explorar base de datos.
Importar consulta La consulta SELECT que se usa para importar datos de la tabla especificada.
Consulta de límite No Consulta en SQL que muestra los valores mínimos y máximos del campo splitBy. Por ejemplo, SELECT MIN(id),MAX(id) FROM table. No es obligatorio si numSplits se configuró en uno.
Dividir columna No El nombre del campo que se usa para generar divisiones. No es obligatorio si numSplits se configuró en uno.
Cantidad de divisiones No Cantidad de divisiones que se generarán.
Tamaño No La cantidad de filas que se recuperarán a la vez por división. Un mayor tamaño de recuperación puede generar una importación más rápida, con la compensación de un mayor uso de la memoria. Si no se especifica, el valor predeterminado es 1000.

Asignaciones de tipos de datos

La siguiente tabla es una lista de los tipos de datos de Redshift con los tipos de CDAP correspondientes:

Tipo de datos de Redshift Tipo de datos de esquema de CDAP
bigint long
boolean boolean
character string
character varying string
date date
double precision double
geometry bytes
hllsketch string
integer int
json string
numeric(precisión, escala)/decimal(precisión, escala) decimal
numeric con una precisión de 0 string
real float
smallint int
super string
text string
time [ (p) ] sin zona horaria time
time [ (p) ] con zona horaria string
timestamp [ (p) ] sin zona horaria timestamp
timestamp [ (p) ] con zona horaria timestamp
varbyte byte
xml string

prácticas recomendadas

Las siguientes prácticas recomendadas se aplican cuando te conectas a un clúster de Redshift desde Google Cloud.

Usa listas de direcciones IP permitidas

Para evitar el acceso desde fuentes no autorizadas y restringir el acceso a direcciones IP específicas, habilita los controles de acceso en el clúster de Redshift.

Si usas los controles de acceso de Redshift, sigue estos pasos para acceder al clúster en Cloud Data Fusion:

  1. Obtén las direcciones IP externas de los servicios o las máquinas en Google Cloud que deben conectarse al clúster de Redshift, como la IP del servidor proxy (consulta Visualiza direcciones IP). Para los clústeres de Dataproc, obtén las direcciones IP de todos los nodos principales y secundarios.
  2. Para agregar las direcciones IP a una lista de entidades permitidas de los grupos de seguridad, crea las reglas de entrada para las direcciones IP de las máquinas de Google Cloud.

  3. Agrega las propiedades de conexión en Wrangler y pruébalas:

    1. Abre la instancia de Cloud Data Fusion en la interfaz web.
    2. Haz clic en Wrangler > Agregar conexión y crea la conexión nueva para Redshift.
    3. Ingresa todas las propiedades de la conexión.
    4. Haz clic en Probar conexión y soluciona cualquier problema.

Para crear varias divisiones, usa consultas de límites.

Para varias divisiones, usa consultas de límites a fin de administrar el clúster de varios nodos. En las situaciones en las que extraes datos de Redshift y distribuyes la carga de manera uniforme en cada nodo, configura una consulta de límite en las propiedades del conector de origen de Redshift.

  1. En tu canalización de Cloud Data Fusion, en la página de Studio, ve al nodo de Redis y haz clic en Propiedades.
  2. En las propiedades Advanced, especifica lo siguiente:

    1. Ingresa la cantidad de divisiones que se crearán.
    2. Ingresa el tamaño de recuperación para cada división.
    3. Ingresa una consulta de límite para aplicarla al clúster Redshift de varios nodos.
    4. Ingresa el nombre del campo Dividir columna.

Por ejemplo, supongamos que tienes el siguiente caso de uso:

  • Tienes una tabla que contiene 10 millones de registros.
  • Tiene una columna de ID único llamada id.
  • El clúster de Redshift tiene 4 nodos.
  • Objetivo: Para aprovechar el potencial del clúster, planeas generar varias divisiones. Para lograrlo, usa las siguientes configuraciones de propiedades:

    • En el campo Consulta de límite, ingresa la siguiente consulta:

      SELECT MIN(id), MAX(id) FROM tableName
      

      En esta consulta, id es el nombre de la columna en la que se aplican las divisiones.

    • En el campo Dividir columna, ingresa el nombre de la columna, id.

    • Ingresa la cantidad de divisiones y recupera el tamaño. Estas propiedades están interconectadas, lo que te permite calcular divisiones según un tamaño de recuperación, o viceversa. Para este ejemplo, ingresa lo siguiente.

    • En el campo Cantidad de divisiones, ingresa 40. En este ejemplo, en el que la tabla tiene diez millones de registros, la creación de 40 divisiones da como resultado una división con 250,000 registros.

    • En el campo Tamaño de recuperación, ingresa 250,000.

¿Qué sigue?