Здравствуйте.
По итогам работы с ClickHouse возник ряд вопросов и пожеланий:
Вопрос 1. Даже после выполнения команды OPTIMIZE TABLE для одно
партиции остались два неслитых парта:
<row>
<partition>201608</partition>
<name>20160801_20160810_2_390392_17</name>
<replicated>0</replicated>
<active>1</active>
<marks>358796</marks>
<bytes>99068835730</bytes>
<modification_time>2016-08-11 02:18:17</modification_time>
<remove_time>0000-00-00 00:00:00</remove_time>
<refcount>2</refcount>
<min_date>2016-08-01</min_date>
<max_date>2016-08-10</max_date>
<min_block_number>2</min_block_number>
<max_block_number>390392</max_block_number>
<level>17</level>
<database>dat</database>
<table>id2</table>
<engine>MergeTree</engine>
</row>
<row>
<partition>201608</partition>
<name>20160801_20160822_390394_1422428_18</name>
<replicated>0</replicated>
<active>1</active>
<marks>893656</marks>
<bytes>240909428455</bytes>
<modification_time>2016-08-23 11:33:51</modification_time>
<remove_time>0000-00-00 00:00:00</remove_time>
<refcount>2</refcount>
<min_date>2016-08-01</min_date>
<max_date>2016-08-22</max_date>
<min_block_number>390394</min_block_number>
<max_block_number>1422428</max_block_number>
<level>18</level>
<database>dat</database>
<table>id2</table>
<engine>MergeTree</engine>
</row>
Вопрос - почему так? Есть какое-то ограничение по объему?
Пожелание 1. Сделать substring(s, offset, length)
по переменным offset и length (сейчас константы).
Пожелание 2.
Добавить "горизонтальные" агрегирующие функции least, greatest.
Они часто используются для вычисления пересечений временных интервалов.
Пожелание 3.
Если написать так:
where ... session_start_time='' ...
то поработает-поработает, дойдет до определенной записи и будет ошибка
Code: 32. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Attempt to read after eof.
Полная иллюзия того, что дочитала битого конца файла или в ссылках
что-то не то. Потому что в тексте eof. file. И ошибка не сразу.
А всего-то с типами ошибка преобразования.
Текст сообщения об ошибке, наверное, стоит изменить.
Пожелание 4. Сделайте, пожалуйста, теоретико-множественные операции,
которые есть в SQL - minus, intersect.
Половина аналитики на них. Понятно, что можно как-то через left outer
join, но с явными разностью и пересечением будет явно проще.
Спасибо.
P.S.
exit
в -m режиме не работает - раздражает неимоверно. В других клиентах не
надо ; писать, сразу выходит.