Ошибка приема druid kafka при парсинге данных с использованием javascript

У меня в кафке есть конкретный формат сообщений. Они разделены кареткой. Теперь, чтобы проанализировать это, используя спокойствие, я использую ниже спецификацию синтаксического анализа.

        "parser" : {
            "type" : "string",
            "parseSpec" : {
              "timestampSpec" : {
                "column" : "datetime",
                "format" : "yyyy-MM-dd HH:mm:ss"
              },
              "dimensionsSpec" : {
                "dimensions" : [],
                "dimensionExclusions" : [
                  "datetime"
                ]
              },
              "format" : "javascript",
              "function" : "function(str) { var parts = str.split('^'); return { key1:parts[0],key2:parts[1],key3:parts[2] } }"
            }
          },

Однако, когда я вставляю строку через производителя kafka и проверяю логи спокойствия. Показывает droppedCount=1. Так что это сбрасывает сообщения. Я проверил выше функцию javascript в браузере. Работает нормально. Что здесь могло быть не так?


person Shades88    schedule 25.10.2016    source источник


Ответы (1)


Я не думаю, что он поддерживает формат javascript.

Мой опыт показывает, что Tranquility не поддерживает полный набор конфигураций Druid, в то время как в документе четко упоминается «spec - спецификация приема Druid без ioConfig» и ссылка на документ конфигурации Druid. Я столько времени потратил на неработающую функцию. Я даже запустил его в шаге отладчика через код, чтобы быть уверенным.

Я предлагаю расширение Kafka, недавно добавленное в Druid. Вам не нужно Спокойствие. Я считаю, что все форматы, поддерживаемые Druid, будут работать с этим методом. Пожалуйста, попробуй.

Спокойствие давно не обновлялось. Предлагаю перейти к нативному проглатыванию Kafka.

person Kenji Noguchi    schedule 11.11.2016