Array(Tuple()), если да, то какой жсон стоит сделать?
Можно. а зачем вам Array(Tuple) ? Tuple что? Какие там типы?
Смешанный тупл в массиве [ (string, int, float) ]
а зачем? в смысле я не люблю бегать с дыркой в ноге, а вы пытаетесь
В чем проблема, какая альтернатива?
ну геморрой это в кодировании (с unboxing) и в зависимости от версии КХ может работать ну очень медленно по сравнению с Array(string), Array(int), Array(float)
А потом гемморой эти данные из массивов мэтчить для аналитики и вообще
короче ладно, если вопрос был про jsoneachrow, А НЕ ПРО JSON, то ответ select [('x', 1, 0.5), ('y', 2, 1.5)] col1 format JSONEachRow; {"col1":[["x",1,0.5],["y",2,1.5]]}
Т.е. если я в топике несу JSONEachRow; {"col1":[["x",1,0.5],["y",2,1.5]]} KafkaEngine скушает в Array(Tuple (String ... ))
KafkaEngine ничем не отличается от обычного инсерта, все дело в format. А это абсолютно индифферентно используете ли вы KafkaEngine или не KafkaEngine. Т.е. если вы сделали KafkaEngine таблицу у нее написали формат JSONEachRow и закидываете в kafka message один или несколько json-в, все будет работать, можно закидывать один json, можно несколько разделенных запятой и окруженных [] (типа массив), можно несколько разделенных концом строки \n по сути это ничем не отличается как если бы вы кидали файл в insert Если у вас не JSONEachRow, а свой какой-то JSON, то все делается по другому. Если вы можете сами формировать JSONEachRow, то при более меннее нормальной нагрузке (big data) полный идиотизм использовать JSONEachRow, это как баксами камин топить, JSONEachRow в два три раза дороже по CPU чем TSV/CSV. (пожалуй не баксами, а например туалетной бумагой)
Спасибо большое! Учту про оптимизацию
Обсуждают сегодня