NIFI Вставьте CSV-файл в базу данных Postgres с полями даты - PullRequest
0 голосов
/ 08 ноября 2019

Я хотел бы вставить CSV-файл в мою базу данных postgres. Я использую процессоры:

Getfiles -> 
Split (cause files are big) ->
UpdateAttribute (to add avro.schema) ->
ConvertCSvToAvro ->
Putdatabaserecord.

Если я использую только строковые / текстовые поля (в моей схеме avro и в базе данных postgres столбцов), результат в порядке. Но когда я попытался отформатировать поля даты, у меня появляется ошибка.

Мои необработанные данные (CSV):

date_export|num_etiquette|key
07/11/2019 01:36:00|BAROMETRExxxxx|BAROMETRE-xxxxx

Моя схема avro:

{
"type":"record",
"name":"public.data_scope_gp_temp",
"fields":[
{"name":"date_export","type":{ "type": "int", "logicalType": "date"}},
{"name":"num_etiquette","type":"string"},
{"name":"cle_scope","type":"string"}
]}

Моя схема postgres:

date_export date,
num_etiquette text COLLATE pg_catalog."default",
key text COLLATE pg_catalog."default"

Есть идеи? С уважением

1 Ответ

0 голосов
/ 13 ноября 2019

Вам не нужно UpdateAttribute или ConvertCsvToAvro, чтобы использовать PutDatabaseRecord. Вы можете указать CSVReader в PutDatabaseRecord, и ваш CSVReader может предоставить схему Avro в свойстве «Текст схемы» (не забудьте установить стратегию схемы на использование текста схемы).

...