Я хотел бы заполнить таблицу postgres из файла avro с помощью экспорта sqoop (2), но у меня нет поля id в источнике, и оно должно заполняться автоматически (серийный тип), но я получаю сообщение об ошибке.
таблица DDL:
CREATE TABLE test
(
id serial primary key,
partner_id varchar,
column1 varchar,
column2 varchar
)
Схема avro:
{
"namespace": "avro_test",
"type": "record",
"name": "test",
"fields": [
{"name": "partner_id", "type": "string"},
{"name": "column1", "type": ["string","null"]},
{"name": "column2", "type": ["string","null"]}
]
}
Я использую команду экспорта:
./sqoop-1.4.5.bin__hadoop-2.0.4-alpha/bin/sqoop export \
--connect jdbc:postgresql://host/db \
--username user_test --password pass_test \
--table test \
--export-dir path \
--columns partner_id,column1,column2
но я получаю сообщение об ошибке, что у меня нет идентификатора в схеме avro:
Status : FAILED
Error: java.io.IOException: Cannot find field id in Avro schema
Я попытался указать целевые столбцы с помощью аргумента --columns, но это не сработало. Как я могу загрузить указанный выше файл avro?
Если я удалю поле идентификатора из таблицы, он успешно экспортируется
заранее спасибо