Выгрузка данных из Redshift - PullRequest
       12

Выгрузка данных из Redshift

0 голосов
/ 20 февраля 2019

У меня есть таблица в Redshift со следующими столбцами

id int,state varchar(50), name varchar(50),tsa varchar(50),countrycode varchar(50),country_id int

Когда я вставляю ее в Redshift из AWS Lambda, она ожидает экранирования varchar следующим образом -

cursor.execute('insert into test values (81,\'tn\',\'ic\',\'ICS\',\'US\',9)'))


Я выгружаю данные из Redshift следующими способами -

Метод 1

    unload ('select * from info')
    to 's3://Info/Load/' 
    iam_role 'arn:aws:iam:::role'
    addquotes
    ;

Выход на S3:

80|test|test1|test2S|US|9

Метод 2

unload ('select * from info')
to 's3://Info/Load/' 
iam_role 'arn:aws:iam:::role'
;

Выход на S3 составляет

"41"|"PA"|"PEN"|"Test"|"US"|"90"


Как сделатьЯ выгружаю данные из Redshift в следующем формате, чтобы можно было легко выполнять вставки.

81,\'tn\',\'ic\',\'ICS\',\'US\',9

1 Ответ

0 голосов
/ 20 февраля 2019

Возможно, вы могли бы использовать:

  • DELIMITER AS ','
  • ADDQUOTES
  • ESCAPE

См .: РАЗГРУЗКА документации .

Кстати, вставлять данные в Redshift не рекомендуется с помощью отдельных операторов INSERT.Вы должны загружать данные из файлов с помощью оператора COPY.

...