En esta página se describe cómo cargar datos de una instancia de Amazon Redshift enGoogle 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 de SQL configurable.
Antes de empezar
- Las versiones 6.9.0 y posteriores de Cloud Data Fusion admiten la fuente Redshift.
Cuando configures el conector de origen de Redshift, podrás seleccionar una conexión reutilizable que ya tengas o crear una nueva que solo se use una vez. Para obtener más información, consulta Gestionar conexiones. Cuando reutilices una conexión, ten en cuenta lo siguiente:
- No es necesario que proporciones credenciales.
- La conexión proporciona el esquema y el nombre de la tabla que se usan para generar la consulta de importación.
Configurar el complemento
Ve a la interfaz web de Cloud Data Fusion y haz clic en Studio.
Comprueba que esté seleccionada la opción Flujo de procesamiento de datos - Lote (no En tiempo real).
En el menú Fuente, haga clic en Redshift. El nodo Redshift aparece en tu canalización. Si no ves la fuente de Redshift en la página Studio, implementa el conector de la fuente de Redshift desde el Hub de Cloud Data Fusion.
Para configurar la fuente, vaya al nodo Redshift y haga clic en Propiedades.
Introduce las siguientes propiedades. Para ver una lista completa, consulta Propiedades.
- Introduce una etiqueta para el nodo de Redshift (por ejemplo,
Redshift tables
). Introduce los detalles de la conexión. Puedes configurar una conexión nueva y puntual o una conexión reutilizable que ya tengas.
Nueva conexión
Para añadir una conexión única a Redshift, sigue estos pasos:
- Mantén desactivada la opción Usar conexión.
- En el campo Nombre del controlador JDBC, introduce el nombre del controlador. Redshift admite dos tipos de controladores JDBC: CData y Amazon. Para obtener más información, consulta Subir un controlador JDBC.
- En el campo Host, introduce el endpoint del clúster de Redshift. Por ejemplo,
cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com
. - Opcional: En el campo Puerto, introduce un número de puerto de la base de datos, por ejemplo,
5439
. Si tu base de datos de Redshift requiere autenticación, haz lo siguiente:
- En el campo Nombre de usuario, introduce el nombre de la base de datos.
- En el campo Password (Contraseña), introduce la contraseña de la base de datos.
- Opcional: En el campo Argumentos, introduce argumentos de valor de clave. Para usar el controlador CData, proporciona los argumentos de conexión, como RTK u OEMKey, si procede.
- En el campo Nombre, introduce un nombre (por ejemplo,
SN-PC-Source-01-01-2024
). - Introduce el nombre de la base de datos de destino en el campo Base de datos; por ejemplo,
datafusiondb
.
Conexión reutilizable
Para reutilizar una conexión, sigue estos pasos:
- Activa Usar conexión.
- Haz clic en Ver conexiones.
Haz clic en el nombre de la conexión.
.Opcional: Si no existe ninguna conexión y quieres crear una nueva que se pueda reutilizar, haz clic en Añadir conexión y sigue los pasos de la pestaña Nueva conexión de esta página.
En el campo Import query (Importar consulta), introduce una consulta con los nombres del esquema y la tabla de tu fuente de Redshift. Por ejemplo,
Select * from "public"."users"
.Opcional: Introduce propiedades avanzadas, como una consulta de cuadro delimitador o el número de divisiones. Para ver todas las descripciones de las propiedades, consulta Propiedades.
- Introduce una etiqueta para el nodo de Redshift (por ejemplo,
Opcional: Haz clic en Validar y corrige los errores que se hayan encontrado.
Haz clic en
Cerrar. Las propiedades se guardan y puedes seguir creando tu flujo de procesamiento de datos en la interfaz web de Cloud Data Fusion.
Propiedades
Propiedad | Admite macros para la automatización | Propiedad obligatoria | Descripción |
---|---|---|---|
Etiqueta | No | Sí | El nombre del nodo de su 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 tienes que proporcionar credenciales. |
Conexión | Sí | Sí | Nombre de la conexión que se va a usar. Si se selecciona Usar conexión, se muestra este campo. La conexión proporciona información sobre la base de datos y la tabla. |
Nombre del controlador JDBC | Sí | Sí | Nombre del controlador JDBC que se va a usar. Si no se selecciona Usar conexión, se mostrará este campo. |
Anfitrión | Sí | Sí | Endpoint del clúster de Amazon Redshift. Si no se selecciona Usar conexión, se mostrará este campo. |
Port (Puerto) | Sí | No | Puerto en el que se ejecuta Redshift. Si no se selecciona Usar conexión, se mostrará este campo. |
Username (Nombre de usuario) | Sí | No | Identidad de usuario para conectarse a la base de datos especificada. Si no se selecciona Usar conexión, se mostrará este campo. |
Password (Contraseña) | Sí | No | Contraseña que se usa para conectarse a la base de datos especificada. Si no se selecciona Usar conexión, se mostrará este campo. |
Argumentos de conexión | Sí | No | Lista de pares clave-valor de cadena arbitrarios como argumentos de conexión. Estos argumentos se transfieren al controlador JDBC como argumentos de conexión para los controladores JDBC que puedan necesitar configuraciones adicionales. Si no se selecciona Usar conexión, se mostrará este campo. |
Nombre de referencia | No | Sí | Identifica de forma única esta fuente para el linaje, la anotación de metadatos y otros servicios. |
Base de datos | Sí | Sí | Nombre de la base de datos de Redshift. Para seleccionar datos, haz clic en Examinar base de datos. |
Importar consulta | Sí | Sí | La consulta SELECT que se va a usar para importar datos de la tabla especificada. |
Consulta de recuadro | Sí | No | Consulta SQL que devuelve los valores mínimo y máximo del campo splitBy . Por ejemplo,
SELECT MIN(id),MAX(id) FROM table . No es obligatorio si numSplits se establece en uno. |
Dividir columna | Sí | No | Nombre del campo que se usa para generar divisiones. No es obligatorio si numSplits se establece en uno. |
Número de divisiones | Sí | No | Número de divisiones que se van a generar. |
Tamaño | Sí | No | Número de filas que se van a obtener a la vez por división. Un tamaño de obtención mayor
puede dar lugar a una importación más rápida, pero a costa de un mayor uso de memoria. Si no se especifica, el valor predeterminado es 1000 . |
Asignaciones de tipos de datos
En la siguiente tabla se muestra una lista de 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 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) ] con zona horaria |
timestamp |
varbyte |
byte |
xml |
string |
Prácticas recomendadas
Sigue las prácticas recomendadas que se indican a continuación cuando te conectes a un clúster de Redshift desdeGoogle Cloud.
Usar 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:
- Obtenga las direcciones IP externas de los servicios o las máquinas deGoogle Cloud que deben conectarse al clúster de Redshift, como la IP del servidor proxy (consulte Ver direcciones IP). En el caso de los clústeres de Dataproc, obtenga las direcciones IP de todos los nodos maestros y secundarios.
Añade las direcciones IP a una lista de permitidas en los grupos de seguridad creando las reglas de entrada para las direcciones IP de la máquina. Google Cloud
Añada las propiedades de conexión en Wrangler y pruébelas:
- Abre la instancia de Cloud Data Fusion en la interfaz web.
- Haz clic en Wrangler > Añadir conexión y crea la nueva conexión para Redshift.
- Introduce todas las propiedades de conexión.
- Haz clic en Probar conexión y resuelve los problemas que se produzcan.
Para crear varias divisiones, usa consultas de delimitación
Para realizar varias divisiones, usa consultas de delimitación para gestionar el clúster de varios nodos. En los casos en los que extraiga datos de Redshift y distribuya la carga de forma uniforme entre los nodos, configure una consulta de límite en las propiedades del conector de origen de Redshift.
- En la página Studio de tu canalización de Cloud Data Fusion, ve al nodo Redshift y haz clic en Properties (Propiedades).
En las propiedades Avanzadas, especifica lo siguiente:
- Introduce el número de divisiones que quieres crear.
- Introduzca el tamaño de la obtención de cada división.
- Introduce una consulta de delimitación para aplicarla al clúster de Redshift de varios nodos.
- Escribe el nombre del campo Dividir columna.
Por ejemplo, supongamos que tienes el siguiente caso práctico:
- 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, tienes previsto generar varias divisiones. Para ello, usa las siguientes configuraciones de propiedad:
En el campo Consulta de delimitación, introduce 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, introduce el nombre de la columna,
id
.Introduce el número de divisiones y el tamaño de la obtención. Estas propiedades están interconectadas, lo que te permite calcular divisiones en función del tamaño de la obtención o viceversa. En este ejemplo, introduce lo siguiente.
En el campo Número de divisiones, introduce
40
. En este ejemplo, en el que la tabla tiene diez millones de registros, si se crean 40 divisiones,cada una de ellas contendrá 250.000 registros.En el campo Tamaño de la obtención, introduce
250,000
.
Siguientes pasos
- Consulta los complementos de Cloud Data Fusion.