PutElasticsearchHttpRecord: недопустимый символ между инкапсулированным токеном и разделителем - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь извлечь конкретную запись из базы данных, используя QueryDatabaseTable -> UpdateAttribute-> PutElasticSearchHttpRecord

Процессор ES выдает ошибка как Java.IO.Exception Неверный символ между инкапсулированным токеном и разделителем.

Пожалуйста, найдите прикрепленный мой конфиг.Как это исправить? Я получаю правильный результат в очереди после 'UpdateAttribute', но не могу отправить его в ES.Я добавил свойство schema.name в соответствующую схему.Ниже приведен правильный результат, который я получаю в очереди после процессора UpdateAttribute. Как исправить ошибку Недопустимый символ между токеном и разделителем?

[ {
  "TimeOfDay" : "2018-09-20T18:10:36.941",
  "BMU_Debug_Pack_BlkVolt_Max2" : 4114.0,
  "BMU_Debug_Pack_BlkVolt_Max1" : 4114.0,
  "BMU_Debug_Pack_BlkVolt_Max3" : 4114.0,
  "BMU_Debug_Pack_BlkVolt_Max0" : 4116.0,
  "BMU_Debug_Pack_CTemp_Min" : 21.0,
  "BMU_Debug_Pack_CurrVolt_Curr" : 2.0,
  "BMU_Debug_Pack_Blk_Volt_Delta" : 6.0,
  "total_Difference" : 15.0
} ]

Спасибо!Пожалуйста, помогите, что я должен изменить?

QueryDatabaseTable

QueryDatabaseTable SQL

ElasticSearch

Elasticsearch Config

ES Schema

1 Ответ

0 голосов
/ 18 октября 2018

Вам необходимо настроить Avro Reader вместо CSV Reader в PutElasticSearchHttpRecord как Querydatabase Табличный процессор выводит потоковый файл в Формат Avro .

Используйте embedded avro schema в службе контроллера Avro Reader.enter image description here

...