Исключение при импорте данных в DynamodB с использованием конвейера данных

Я настроил конвейер данных для импорта данных в базу данных DynamodB. Я создал скрипт, который будет соответствовать синтаксису экспорта DynamodB. Ниже приведен пример вывода,

DateAdded ^ C {"s": "2009-11-10T18: 19: 00-07: 00"} ^ BASIN ^ C {"s": "B001AMUFSE"} DateAdded ^ C {"s": "2009-11- 10T18: 19: 00-07: 00 "} ^ BASIN ^ C {" s ":" B0013IWYHU "} Дата добавления ^C{"s":"2009-11-10T18:17:00-07:00"}^BASIN^C{"s":"B000P62ND6"}

когда я передаю этот файл в конвейер данных, я получаю сообщение об ошибке

org.apache.hadoop.hive.ql.metadata.HiveException: Ошибка времени выполнения Hive при обработке строки {"item":{"DateAdded^C{\"s\":\"2009-11-10T18:19:00-07:00\"}^BASIN^C{\"s\":\"B001AMUFSE\"}": NULL}}

Что-то не так с форматом ввода, и вот моя строка скрипта, которая преобразуется в вышеупомянутый synatx

line = 'DateAdded\x03{o}"s":"{}"{c}\x02ASIN\x03{o}"s":"{}"{c}\n'.format(record.date_added, record.asin, o = '{', c = '}')

1 ответ

Решение

Получил ответ, вместо \n для новой строки мне нужно было использовать \x0A в качестве перевода строки.

Другие вопросы по тегам