Ошибка - неверный символ между токеном и разделителем с использованием ConvertRecord в NiFi - PullRequest
0 голосов
/ 19 декабря 2018

Я использую поток следующим образом (в основном, чтобы получить файл из s3 и затем преобразовать несколько записей из основного файла CSV, а затем перенести его в Elasticsearch): GetSQS -> UpdateAtttribute-> SplitJson-> EvaluateJsonPath-> UpdateAttribute-> convertRecord-> другой процессор ...

Я могу правильно загрузить файл из s3, но ошибка процессора ConvertRecord: неверный символ между инкапсулированным токеном в качестве разделителя

Пожалуйста, найдите Конфигурации ConvertRecordниже:

**CSVRecordReader** : Schema Access strategy as "Use 'Schema Text' Property

Schema Text: 


{
  "type": "record",
  "name": "AVLRecord0",
  "fields" : [
    {"name": "TimeOfDay","type": "string", "logicalType":"timestamp-millis"},
    {"name": "Field_0", "type": "double"},
    {"name": "Field_1", "type": "double"},
    {"name": "Field_2", "type": "double"},
    {"name": "Field_3", "type": "double"}}
]
}
**CSVRecordWritter**: 

Schema Write Strategy : Set 'Avro. schema' Attribute

Schema Access Strategy: Use Schema Text Property

Скажите, пожалуйста, почему я не могу увидеть преобразованную запись после успешной выборки с S3.

Требуемый вывод - Только в формате CSV .Пожалуйста, найдите прикрепленный файл примера, загруженный на s3, и я хочу преобразовать только в поле field_5.

enter image description here

Прикрепленные скриншоты служб контроллера:

enter image description here

enter image description here

enter image description here

Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Можете ли вы сказать, где именно была эта лишняя запятая в вашем процессоре записи преобразования?Как я столкнулся с той же проблемой.Насколько я понимаю, проблема возникает из-за поля size_dimension Ниже приведены мои данные CSV:

id,project,name,depth,parentid,description,createdtime,lastupdatedtime,metadata,path,source,sourceid
75125,abcd,P200184,4,74861,"WIRELINE RUNNING / RETRIEVING TOOL, SUPP",2002-06-04 00:00:00.0,2019-04-26 00:00:00.0,"{""material_group"":""group"",""weight_unit"":""LB"",""laboratory"":""PMC"",""object_type"":""material"",""pyspark_generated_time"":""2019-06-07, 13:32:20.287657"",""size_dimension"":""3'5\""L X 3'5\""W X 1'H"",""gross_weight"":""100.000"",""net_weight"":""100.000"",""valid_from_date"":""20031219""}","[59941,64249,74859,74861,75125]",RPA_SAA.MRA,P200184

И схема avro, которую я использовал:

{
    "name":"abc",
    "namespace":"nifi",
    "type":"record",
    "fields": [
    {"name":"id", "type": ["long", "null"], "default": null},
    {"name":"project", "type": ["string", "null"], "default": null},
    {"name":"name", "type": ["string", "null"], "default": null},
    {"name":"depth", "type": ["int", "null"], "default": null},
    {"name":"parentid", "type": ["long", "null"], "default": null},
    {"name":"description", "type": ["string", "null"], "default": null},
    {"name":"createdtime","type": ["null",{ "type":"long", "logicalType":"timestamp-millis"}], "default":null},
    {"name":"lastupdatedtime","type": ["null",{ "type":"long", "logicalType":"timestamp-millis"}], "default":null},
    {"name":"metadata","type": ["string", "null"], "default": null},
    {"name":"path","type": ["string", "null"], "default": null},
    {"name":"source", "type": ["string", "null"], "default": null},
    {"name":"sourceid", "type": ["string", "null"], "default": null}
    ]
}
0 голосов
/ 21 декабря 2018

Я понял свою ошибку: 1. Я забыл добавить обработчик FetchS3Object после EvaluateJsonPath 2. В моем текстовом свойстве схемы была лишняя запятая.

...