Saltar al contenido

¿Cómo cargar datos en Amazon Redshift a través de Python Boto3?

Solución:

Bien, necesitas psycopg2 Módulo de Python para ejecutar el comando COPY.

Mi código se ve así:

import psycopg2
#Amazon Redshift connect string 
conn_string = "dbname="***" port="5439" user="***" password='***' host="mycluster.***.redshift.amazonaws.com""  
#connect to Redshift (database should be open to the world)
con = psycopg2.connect(conn_string);
sql="""COPY %s FROM '%s' credentials 
      'aws_access_key_id=%s; aws_secret_access_key=%s'
       delimiter '%s' FORMAT CSV %s %s; commit;""" % 
      (to_table, fn, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY,delim,quote,gzip)

#Here
#  fn - s3://path_to__input_file.gz
#  gzip = 'gzip'

cur = con.cursor()
cur.execute(sql)
con.close() 

Usé boto3 / psycopg2 para escribir CSV_Loader_For_Redshift

Vuelva al paso 4 en ese tutorial que vinculó. ¿Ves dónde te muestra cómo obtener la URL del clúster? Debe conectarse a esa URL con un controlador PostgreSQL. Los SDK de AWS, como Boto3, brindan acceso a la API de AWS. Debe conectarse a Redshift a través de una API de PostgreSQL, al igual que lo haría con una base de datos de PostgreSQL en RDS.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *