Clickhouse: не удается проанализировать строку JSON: ожидаемая начальная цитата: (при чтении значения ключевых данных): (в строке 1): при выполнении SourceFromInputStream

это сообщение об ошибке:

SELECT *
FROM queue2
Received exception from server (version 20.9.3):
Code: 26. DB::Exception: Received from xxxx:xxxx. DB::Exception: Cannot parse JSON string: expected opening quote: (while read the value of key data): (at row 1)
: While executing SourceFromInputStream.

Я создал таблицу kafka для получения данных из темы kafka, и это структура данных:

{
  "deviceId": 0,
  "data": [
    {
      "port_id": "2137",
      "time":1617103821,
      "in":200.5496688741722,
      "out":319.4801324503311
    }
  ]
}

это таблица кафки:

CREATE TABLE queue 
(
    deviceId Int8,
    data Nested(
    port_id String,
    time Int64,
    in Float32,
    out Float32)
) 
ENGINE = Kafka 
SETTINGS kafka_broker_list = 'xxx,xxx,xxx',
    kafka_topic_list = 'librenms_flow',
    kafka_group_name = 'niop-billing-test-group',
    kafka_format = 'JSONEachRow',
    kafka_num_consumers = 1;    

Что мне делать с созданием таблицы кафка и МАТЕРИАЛИЗИРОВАННОГО ВИДА?

Ошибка предполагает, что некоторая запись в вашей теме не может быть проанализирована, так вы просмотрели все записи в теме?

OneCricketeer 30.03.2021 16:47

Это не JSONEachRow. JSONEachRow - это специальное подмножество JSON. Ваш JSON невозможно проанализировать с помощью JSONEachRow. Вы можете использовать функции JSONAsString Format и JSONExtract.

Denny Crane 31.03.2021 00:44
stackoverflow.com/a/65105292/11644308
Denny Crane 31.03.2021 00:45

записи в теме: {"deviceId": 0, "data": [{"port_id": "2137", "time": 1617103821, "in": 200.5496688741722, "out": 319.4801324503311}]}

Cian 31.03.2021 05:16

@vladimir Не могли бы вы мне помочь? Спасибо

Cian 31.03.2021 05:22

Но нет функций JSONExtract: clickhouse.tech/docs/en/interfaces/formats/#jsoneachrow

Cian 31.03.2021 06:03

Вы находитесь на странице форматов, а не функций clickhouse.tech/docs/en/sql-reference/functions/json-functio‌ ns /…

OneCricketeer 31.03.2021 17:24
Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Apache Kafka - популярная платформа распределенной потоковой передачи данных, которую можно использовать для построения конвейеров данных в реальном...
0
7
37
0

Другие вопросы по теме