словари (json)
типа ['{'key1': 1, 'key2': 'asdf'}', '{'key1': 2, 'key2': 'qzxc'}']
Как правльно с этим работать?
Нужно например выбрать 'key1' где длина массива > 1
Вот запрос
select field from table where length(field) > 1
а как из field вычленивать key?
ну и сотвественно как правильно агрегировать такие словари?
а зачем вы json положили в КХ? может предварительно распарсить и тогда все будет быстрее и проще?
я тут спрашивал как это сделать ) ничего умнее массива. строк не предложили )
вы спрашивали как JSON положить, все поняли что у вас в JSON может быть что угодно, а не данные с регулярной структурой.
ну что то может структурировано, что то не может. сейчас вопрос о том как со стуктурированными даными работать ) Да и в целом какая разница?
arrayMap(x->visitParamExcractString(x,'key_1'),array_json)
client.execute("""select arrayMap(x->visitParamExtractString(x,'key_1'),['{"key1": "1", "key2": 12}','{"key1": "2", "key2": 13}'])""") [(['', ''],)] чет не прокатило (
key_1 на key1 заменить ?
сорян но тож самое
select arrayMap(x->visitParamExtractString(x,'key1'),array('{"key1":"1","key2": 12}','{"key1":"2","key2":13}'))
спасибо за наводку. но чо то мне все шаблоны порвало select isValidJSON('{"key1": "1","key2": 12}'). -> True select arrayMap(x->visitParamExtractString(x,'key1'),array('{"key1": "1","key2": 12}')) -> [([''],)] делаем replace(": ", ":") все работает. то есть это норм поведение? или я чего то опять не дочилал?
Вот так и с пробелами работает select arrayMap(x->JSONExtractString(x,'key1'),array('{"key1": "1","key2": 12}','{"key1": "2","key2": 13}'))
А типа особенность функции. понял, спасибо!
Так как перед вставкой мы все данные читаем и заливаем ... Мы решили заменять пробел
подскажи пожалуйста а не сильно повлияет на агрегацию данных мой корявый формат погрузки array(String/json)?
Обсуждают сегодня