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 del conjunto de datos de Redshift a tu destino, como en BigQuery. El conector también te permite crear una consulta 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 nueva conexión única. Para obtener más información, consulta Administra conexiones. Cuando vuelvas a usar una conexión, ten en cuenta lo siguiente:

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

Configura el complemento

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

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

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

  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 nueva conexión única o una conexión 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 JDBC, ingresa el nombre del controlador. Redshift admite dos tipos de controladores de JDBC: CData y Amazon Para obtener más información, consulta Cómo subir un controlador JDBC.
      3. En el campo Host, ingresa el extremo de Redshift clúster, por ejemplo, cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com
      4. Opcional: En el campo Puerto, ingresa un puerto de base de datos. por ejemplo, 5439.
      5. Si tu base de datos de Redshift requiere autenticación, haz lo siguiente: 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 en la base de datos.
        3. Opcional: En el campo Arguments, ingresa clave-valor. Para usar el controlador de CData, proporciona la de conexión, como RTK u 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 Base de datos. como 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 conexión reutilizable, haz clic en Agregar conexión y consulta el pasos en la pestaña Nueva conexión en esta .

    3. En el campo Consulta de importación, ingresa una consulta mediante el esquema y la tabla. de tu fuente de Redshift, por ejemplo, Select * from "public"."users".

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

  6. Opcional: Haz clic en Validar y corrige los errores que se encuentren.

  7. Haz clic en Cerrar. Las propiedades se guardan y puedes seguir compilando tus datos de Google Cloud en la interfaz web de Cloud Data Fusion.

Propiedades

Propiedad Admite macros para la automatización Propiedad obligatoria Descripción
Etiqueta No Es 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 es necesario que proporciones credenciales.
Conexión Nombre de la conexión que se usará. Si la opción Usar conexión está seleccionado, aparecerá este campo. La conexión proporciona información sobre la base de datos y la tabla.
Nombre del controlador JDBC Nombre del controlador JDBC a usar. Si no se selecciona Usar conexión, aparecerá este campo.
Host El extremo del clúster de Amazon Redshift. Si La opción Usar conexión no está seleccionada. Este campo aparecerá.
Puerto No Es el puerto en el que se ejecuta Redshift. Si no se selecciona Usar conexión, aparecerá este campo.
Nombre de usuario No La identidad del usuario para conectarse a la base de datos especificada. Si no se selecciona 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 La opción Usar conexión no está seleccionada. Este campo aparecerá.
Argumentos de la conexión No Una lista de pares clave-valor de cadenas arbitrarias como argumentos de conexión. Estos argumentos se pasan al controlador de JDBC como argumentos de conexión para los controladores de JDBC que podrían necesitar configuraciones adicionales. Si La opción Usar conexión no está seleccionada. Este campo aparecerá.
Nombre de referencia No Identifica de forma única esta fuente para el linaje, anotar los metadatos y otros servicios.
Base de datos Nombre de la base de datos de Redshift. Para seleccionar datos, haz clic en Explorar base de datos.
Importar consulta La consulta SELECT que se usará para importar datos desde el tabla especificada.
Consulta de límite No Consulta en SQL que devuelve los valores mínimos y máximos del splitBy. Por ejemplo, SELECT MIN(id),MAX(id) FROM table. No es obligatorio si numSplits se establece en uno.
Divide columnas No El nombre del campo que se usa para generar divisiones. No es obligatorio si numSplits se establece en uno.
Cantidad de divisiones No Cantidad de divisiones que se generarán.
Tamaño No Es la cantidad de filas que se recuperarán a la vez por división. Mayor tamaño de recuperación puede dar como resultado una importación más rápida, con la compensación de una mayor memoria de uso de la nube. Si no se especifica, el valor predeterminado es 1000.

Asignaciones de tipos de datos

En la siguiente tabla, se muestra una lista de los tipos de datos de Redshift con los tipos de CDAP correspondientes:

Tipo de datos de Redshift Tipo de datos del 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 precisión 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) ] with time zone 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 en Google Cloud.

Usar listas de direcciones IP permitidas

Para evitar el acceso de 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, para acceder al clúster Cloud Data Fusion, sigue estos pasos:

  1. Obtén las direcciones IP externas de los servicios o las máquinas en Google Cloud que se deben conectar al clúster de Redshift, como la IP del servidor proxy (consulta Cómo ver 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 en 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 nueva conexión para Redshift.
    3. Ingresa todas las propiedades de la conexión.
    4. Haz clic en Probar conexión y resuelve los problemas.

Para crear varias divisiones, usa consultas de límite

Para varias divisiones, usa consultas de límite para administrar el clúster de varios nodos. En 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 el conector de origen de Redshift propiedades.

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

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

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

  • Tienes una tabla que contiene 10 millones de registros.
  • Tiene una columna de ID única 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 la siguiente propiedad parámetros de configuración:

    • 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 donde las divisiones están se aplicó.

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

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

    • En el campo Number of splits (Cantidad de divisiones), ingresa 40. En este ejemplo, donde el tiene diez millones de registros y se crean 40 resultados de divisiones en cada división que contenga 250,000 registros.

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

¿Qué sigue?