Я пытаюсь загрузить pandas фрейм данных в базу данных Redshift, используя блокнот jupyter. Я прошел по следующим ссылкам:
Как записать данные в Redshift, которые являются результатом кадра данных, созданного в Python?
Python: 3.6
Windows: 10
Вот код:
import psycopg2
import pandasql as ps
from sqlalchemy import create_engine
sql_conn=create_engine('postgresql://{}:
{}@{}:XXXX/{}'.format(user,password,host,db))
df.to_sql('data',con=sql_conn,schema="schema",
index=False,if_exists='replace')
В таблице есть миллионы записей и 100 столбцов, и это занимает часы чтобы загрузить.
Как я могу загрузить использование корзины s3
, используя python, а затем загрузить в Redshift?
Я пытался эта ссылка:
Как скопировать файл данных CSV в Amazon RedShift?
toRedshift = "COPY final_data from 's3://XXX/XX/data.csv' CREDENTIALS
'aws_access_key_id=XXXXXXX;aws_secret_access_key=XXXX' removequotes
delimiter ',';"
sql_conn.execute(toRedshift)
Ошибка: невозможно скопировать в несуществующую таблицу final_data.
Как создать таблицу в Redshift, используя S3
CSV-файл в Python? Есть ли способ сделать это без определения типов столбцов?