Проблемы при загрузке указанных данных в Redshift из S3 с использованием AWS GLUE.Как мне вставить данные? - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь вставить набор данных в Redshift со значениями, такими как:

"2015-04-12T00:00:00.000+05:30"
"2015-04-18T00:00:00.000+05:30"
"2015-05-09T00:00:00.000+05:30"
"2015-05-24T00:00:00.000+05:30"
"2015-07-19T00:00:00.000+05:30"
"2015-08-02T00:00:00.000+05:30"
"2015-09-05T00:00:00.000+05:30"

Программа-обходчик, который я запускал по данным S3, не может определить столбцы или тип данных значений.Я подправил настройки таблицы, чтобы получить задание перенести данные в Redshift, но безрезультатно.Вот что я пробовал до сих пор:

  1. Вручную добавил столбец в определение таблицы в каталоге клея.Существует только 1 столбец, о котором упоминалось выше.
  2. Изменена библиотека сериализации Serde с LazySimpleSerde на org.apache.hadoop.hive.serde2.lazy.OpenCSVSerDe
  3. Добавлены следующие параметры Serde - quoteChar", line.delim \ n, field.delim \ n
  4. Я уже пробовал различные комбинации свойств line.delim и field.delim. Включая одно, исключая другое и принимая оба одновременно.
  5. Изменена классификация с UNKONWN на текст в свойствах таблицы.
  6. Изменено свойство recordCount на 469 для соответствия количеству строк необработанных данных.

Выполнение заданиявсегда успешно. После выполнения задания, когда я выбираю * из table_name, я всегда получаю правильное количество строк в таблице красных смещений согласно необработанным данным, но все строки равны NULL. Как мне заполнить строки в Redshift?

Свойства таблицы были загружены в альбом изображений здесь: Imgur Album

1 Ответ

0 голосов
/ 08 марта 2019

Мне не удалось отправить данные в Redshift с помощью клея. Поэтому я обратился к команде COPY Redshift. Вот команда, которую я выполнил на тот случай, если кому-то еще это понадобится или возникнет та же ситуация:

copy schema_Name.Table_Name
from 's3://Path/To/S3/Data'
iam_role 'arn:aws:iam::Redshift_Role'
FIXEDWIDTH 'Column_Name:31'
region 'us-east-1';
...