Как выполнить файл sql на Redshift - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть файл SQL, в котором есть несколько временных сценариев создания и несколько сценариев вставки.

Мы хотим выполнить этот файл SQL в Redshift с использованием сервисов AWS.

Ответы [ 3 ]

0 голосов
/ 27 ноября 2018

Вы можете использовать простой скрипт Python, работающий на экземпляре EC2 (или любом другом сервере), чтобы установить соединение JDBC с Redshift (используя psycopg2 ), а затем выполнить запросы в вашем файле .SQL.

0 голосов
/ 17 мая 2019

Я обнаружил, что вам нужно использовать Python для этого, так как Redshift основан на Postgres 8. Вы можете собрать psql-клиент из источника Postgres для 8, который также будет работать.

Ниже приведен пример pyЯ использовал:

Требования:

Код для вашего файла, например, mypythonfile.py

import sys
import psycopg2

con=psycopg2.connect("dbname=dev host=" + sys.argv[1] + " port=5439 user=redshift password=" + sys.argv[2])
con.set_isolation_level(0)
cur = con.cursor()
cur.execute("create database myedw with owner redshift")
cur.close()
con.close()
print("Database created")

con=psycopg2.connect("dbname=myedw host=" + sys.argv[1] + " port=5439 user=redshift password=" + sys.argv[2])
con.set_isolation_level(0)
cur = con.cursor()
cur.execute(open("edw-schemas.sql", "r").read())
con.commit()
cur.execute(open("edw-master.sql", "r").read())
print("EDW structure created")
print("Done")

Затем вы можете выполнить скрипт следующим образом:

python mypythonfile.py {redshift host} {password}
0 голосов
/ 27 ноября 2018

Клиент SQL, предоставляемый AWS для Redshift, может быть отправной точкой.Включение доступа к EditorAmazonRedshiftQueryEditor - это лучший способ AWS Query Editor Для расширенных нужд IDE это можно отнести IDE .Best!

...