• 01 November 2017 (144 messages)
  • https://t.me/clickhouse_ru
    @vsaveliev #30709 12:41 AM, 01 Nov 2017
    Joined.
  • @newffy #30710 03:05 AM, 01 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @ajIeks #30711 07:55 AM, 01 Nov 2017
    Продолженние вчерашней эпопеи со сборкой ) в 4 потока сборка падала, в один пока идет норм, тот файл что сбоил ранее собрался, может так и все соберется
  • https://t.me/clickhouse_ru
    @cargeh #30712 08:13 AM, 01 Nov 2017
    А есть еще какие-нибудь полезные доклады с точки зрения построения оптимальных запросов и в целом каких-то best practices по работе с кликхаусом? Что-нибудь в духе https://events.yandex.ru/lib/talks/4556/
    Link

    Приглашаем всех, кто анализирует большие объёмы данных, на встречу, посвящённую СУБД ClickHouse. СУБД ClickHouse, разработанная в Яндексе для нужд Яндекс.Метрики, почти сразу стала использоваться для решения самых разных аналитических задач. ClickHouse работает быстрее всех известных нам СУБД и легко обрабатывает петабайты данных. Это делает СУБД незаменимым инструментом в руках аналитика. Сейчас ClickHouse стала открытым программным обеспечением, так что её могут свободно использовать все. На встрече будет два доклада. Аналитик Яндекса Мария Рыжова покажет типичные задачи, которые легко решаются с помощью этой СУБД, а технический директор проекта СМИ2 Игорь Стрыхарь расскажет о созданном командой СМИ2 Tabix — графическом интерфейсе для работы с ClickHouse. После докладов пройдёт сессия вопросов и ответов. С собравшимися пообщаются аналитики Яндекса, использующие ClickHouse в самых разных сферах. Их можно будет расспросить, как эффективнее всего применять эту СУБД к конкретным задачам. Участие бесплатно…

  • https://t.me/clickhouse_ru
    @vmelnychuk #30713 08:20 AM, 01 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @ajIeks #30714 08:42 AM, 01 Nov 2017
    Собралось, итого: на THREADS != 1 сборка падала 100% независимо от наличия свободной памяти (первая версия что ООМ)
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #30714 #30715 08:55 AM, 01 Nov 2017
    Docker может ограничивать память
  • https://t.me/clickhouse_ru
    @Civiloid #30716 08:55 AM, 01 Nov 2017
    Особенно на маке
  • https://t.me/clickhouse_ru
    @Civiloid #30717 08:55 AM, 01 Nov 2017
    Потому что там виртуалка
  • https://t.me/clickhouse_ru
    @ajIeks #30718 08:56 AM, 01 Nov 2017
    О, спасибо )
    > That 2GB limit you see is the total memory of the VM in which docker runs.
  • https://t.me/clickhouse_ru
    @ajIeks #30719 08:57 AM, 01 Nov 2017
    да, так и оказалось, 2гб стоит
  • https://t.me/clickhouse_ru
    @Civiloid #30720 09:32 AM, 01 Nov 2017
    докер на маке запускает полноценную виртуалку с линуксом
  • https://t.me/clickhouse_ru
    @Civiloid #30721 09:32 AM, 01 Nov 2017
    в котором запускает докер
  • https://t.me/clickhouse_ru
    @ajIeks #30722 09:34 AM, 01 Nov 2017
    ага, только раньше это относительно явно было (VBox торчал в системе) сейчас спрятано и если не заглядывать в настройки то можно и не вспомнить про эти лимиты 🙂
  • https://t.me/clickhouse_ru
    @Civiloid #30723 09:35 AM, 01 Nov 2017
    скорее всего они перешли на hypervisor framework
  • https://t.me/clickhouse_ru
    @Civiloid #30724 09:36 AM, 01 Nov 2017
    но я увы не уверен и не знаю
  • https://t.me/clickhouse_ru
    @ajIeks #30725 09:36 AM, 01 Nov 2017
    ну это не суть 🙂 главное лимит поднял, попробую собрать уже deb наконец-то )
  • @ztlpn ↶ Reply to #30723 #30726 09:42 AM, 01 Nov 2017
    Там вот это внутри: https://github.com/mist64/xhyve . А оно уже основано на hypervisor framework.
    machyve/xhyve

    xhyve, a lightweight OS X virtualization solution. Contribute to machyve/xhyve development by creating an account on GitHub.

  • https://t.me/clickhouse_ru
    @Civiloid #30727 09:42 AM, 01 Nov 2017
    а, ну ок
  • https://t.me/clickhouse_ru
    @kshvakov #30728 09:42 AM, 01 Nov 2017
    Да, и теперь оно вполне сносно работает на стареньком слабом маке )
  • https://t.me/clickhouse_ru
    @vladimirmyuge #30729 10:11 AM, 01 Nov 2017
    Подскажите, пожалуйста, как взять определенный уровеннь урла без начального куска?
    У примеру есть example.com/a/b/c , вот я хочу вытащить /b/
  • https://t.me/clickhouse_ru
    @vladimirmyuge #30730 10:11 AM, 01 Nov 2017
    Я пробовла комбинацию URLHierarchy и replaceOne, но реплейсу необходимы константы..
  • https://t.me/clickhouse_ru
    @Sablast ↶ Reply to #30730 #30731 10:13 AM, 01 Nov 2017
    а какое условие для /b/? вторая часть?
  • https://t.me/clickhouse_ru
    Блин, на примере сработало..
  • @3334085 ↶ Reply to #30732 #30733 10:18 AM, 01 Nov 2017
    может проще рабивать строку в массив по "/" и вытаскивать нужный элемент?
  • https://t.me/clickhouse_ru
    А вот так не рабоатет..
  • https://t.me/clickhouse_ru
    !!! точно! спасибо!
  • https://t.me/clickhouse_ru
    @Sablast ↶ Reply to #30735 #30737 10:20 AM, 01 Nov 2017
    вот SELECT splitByChar('/', path('http://example.com/a/b/c'))[3]
  • https://t.me/clickhouse_ru
    @vladimirmyuge #30738 10:21 AM, 01 Nov 2017
    Спасибо большое! это прямо на много лучше, потому что у меня ещё и урлы лежат без http:// и пареметров)
  • https://t.me/clickhouse_ru
    @Mike_Er #30739 10:22 AM, 01 Nov 2017
    Вчера кто-то собирал 54307 с проблемами, под centos 7 собралось практически из коробки, если вдруг нужно
  • https://t.me/clickhouse_ru
    @Sablast ↶ Reply to #30738 #30740 10:22 AM, 01 Nov 2017
    мм... тогда вам надо будет без path разбивать, кажется path без http/https не понимает строку
  • https://t.me/clickhouse_ru
    @kenota #30741 10:23 AM, 01 Nov 2017
    Добрый день, есть какие нибудь решения для обработки User-Agent на стороне Clickhouse? Я видел тикет https://github.com/yandex/ClickHouse/issues/157 , но вдруг есть какая то альтернатива? Или все процессят на стороне ETL перед загрузкой в CH ?
    Any plans for User-Agent header parsing? · Issue #157 · yandex/ClickHouse

    Hello! I want to parse vast amount of access logs loaded ClickHouse and extract operating system, browser and device type (mobile/desktop/search crawler bot) on-the-fly. Do you have any plans to ma...

  • https://t.me/clickhouse_ru
    @kenota #30742 10:24 AM, 01 Nov 2017
    Поправил ссылку на правильный тикет.
  • https://t.me/clickhouse_ru
    Да, не работает, и это очень не удобно. Но ничего, просто надо будет к индексу массива еденичку добавить и брать от всего урла, а не от пути
  • https://t.me/clickhouse_ru
    @khamin_vs #30744 10:26 AM, 01 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @vladimirmyuge #30745 10:27 AM, 01 Nov 2017
    Может быть ещё какой-то удобный способ заменять пустую строку на какое-то значение без if-ов? по аналогии с coalesce
  • https://t.me/clickhouse_ru
    @Sablast ↶ Reply to #30745 #30746 10:33 AM, 01 Nov 2017
    а какая цель преследуется?
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @vladimirmyuge #30748 10:34 AM, 01 Nov 2017
    Оптимизация. Чтобы не пересчитывать функцию даважды вот в таком кейсе:
  • https://t.me/clickhouse_ru
    @vladimirmyuge #30749 10:36 AM, 01 Nov 2017
    Т.е. я хочу сгруппировать по a и b из примера example.com/a/b/c
    И если b пустая - то ставить туда что-то не пустое..
  • https://t.me/clickhouse_ru
    @Sablast ↶ Reply to #30749 #30750 10:41 AM, 01 Nov 2017
    глупый вопрос, а зачем?)
  • @434256655 #30751 10:41 AM, 01 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    Есть раздел сайта, в котором несколько инструкций. В каждой урл имеет формат example.com/instr_a
    В каждой инструкции нужно пройти несколько шагов с урлами example.com/instr_a/1, example.com/instr_a/2 итд.
    Задача посмотреть сколько пользователей пришли на example.com/instr_a и сколько прошли до какого шага.
    Хочу в итоге получить сводную, где будет в строках название инструкций, а в столбцах номер шага, при этом сам заход на инструкцию назвать шагом 0
  • @pavel_maksimow #30753 10:45 AM, 01 Nov 2017
    Кто-нибудь сталкивался с длинными запросами? в табиксе норм, по http их не могу повторить
    414 Request-URI Too Large
  • https://t.me/clickhouse_ru
    Из докуентации: Размер URL ограничен 16KB, это следует учитывать при отправке больших запросов.

    Попробуйте создать view и сделать select * form view
  • https://t.me/clickhouse_ru
    @Sablast ↶ Reply to #30752 #30755 10:47 AM, 01 Nov 2017
    я пока не пойму чем вам пустая строка мешает)))
  • хорошо, спасибо
  • https://t.me/clickhouse_ru
    Чтобы везде были цифры, которые можно отсортировать по значению
  • Через POST передавать нужно
  • https://t.me/clickhouse_ru
    @Sablast ↶ Reply to #30757 #30759 10:49 AM, 01 Nov 2017
    select splitByChar('/','example.com/a/b/c')[2] as a, replaceOne(toString(length(splitByChar('/','example.com/a/b/c')[5])),'0','some pattern') as b group by a,b
    вот какое-то извращение накидал))
  • https://t.me/clickhouse_ru
    А это не сработает, потому что если там какое-то значение, то вернётся длинна, а не значение
  • https://t.me/clickhouse_ru
    Так что надо решать через if видимо, что не красиво, ну да ладно
  • https://t.me/clickhouse_ru
    replaceRegexpOne(splitByChar('/','example.com/a/b/c')[5],'^$','0')
  • https://t.me/clickhouse_ru
    Не сработало :(
  • https://t.me/clickhouse_ru
    Насколько я помню, в кликхаусе все одинаковые выражения внутри одного запроса вычисляются единожды.
  • https://t.me/clickhouse_ru
    @kshvakov #30765 11:44 AM, 01 Nov 2017
    Как раз наоборот, в if/case вычисляется все, а потом применяется условие, например
    CASE WHEN 1 = 1 THEN
    SELECT COUNT() FROM T1
    ELSE
    SELECT COUNT() FROM T2
    END
    Посчитает каунт из T1 и из T2
  • https://t.me/clickhouse_ru
    @vladimirmyuge #30766 11:46 AM, 01 Nov 2017
    А не знает ли кто-нибудь, как работает алгоритм псевдонимов? вот если у меня есть колонки A и B. Если я напишу select A и B то получу разные данные, а если select A as B, B - то одинковые. А если select A as B, B as A - то значения будут из какого столбца?
  • https://t.me/clickhouse_ru
    @orantius #30767 11:58 AM, 01 Nov 2017
    алгоритм работает интересно.
  • https://t.me/clickhouse_ru
    @orantius #30768 11:58 AM, 01 Nov 2017
    поэтому лучше так не делать.
  • https://t.me/clickhouse_ru
    @kshvakov #30769 12:01 PM, 01 Nov 2017
    более чем
    SELECT
    IPv6NumToString(ip) AS ip
    FROM T
    WHERE ip = '127.0.0.1'
    Будет
    SELECT
    IPv6NumToString(ip) AS ip
    FROM T
    WHERE IPv6NumToString(ip) = '127.0.0.1'

    А самое печальное вот тут

    SELECT
    SUM(imps) AS imps,
    SUM(imps + clicks) AS total
    FROM T
  • https://t.me/clickhouse_ru
    @cargeh ↶ Reply to #30768 #30770 12:06 PM, 01 Nov 2017
    т.е лучше не называть алиасы именами колонок, даже если это одна и та же колонка? Аля SELECT url AS url?
  • https://t.me/clickhouse_ru
    @ajIeks #30771 12:14 PM, 01 Nov 2017
    @proller привет, не подскажешь, если в kafka движке указываем формат TSV, то получается нужно указать и разметку какие поля куда?
  • https://t.me/clickhouse_ru
    @skort43 #30772 12:15 PM, 01 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    Прекрасный универсальный ответ :) А вот так писать нормально или лучше в подзапрос убирать?
  • https://t.me/clickhouse_ru
    @orantius ↶ Reply to #30773 #30774 12:53 PM, 01 Nov 2017
    если запрос по одному счетчику (из многих) или если по конкретным датам (не по всем), и наверное если семплирование не 1, то лучше два подзапроса. и зведочку лучше не писать , т.к. во-первых это все колонки, во-вторых в данном случае это все колонки левой таблицы.
  • https://t.me/clickhouse_ru
    Звёздочка для примера джоина. Кстати по поводу дат, если мне нужны все хиты визитов определенной даты, то, на сколько я понимаю, диапазон дат хитов лучше расширить, правильно? И если да - то на сколько?
  • https://t.me/clickhouse_ru
    @orantius #30776 12:57 PM, 01 Nov 2017
    у визита ограничение 24 часа,
  • @418687992 #30777 02:12 PM, 01 Nov 2017
    Joined.
  • @bkrols #30778 02:21 PM, 01 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @ameliapff #30779 02:22 PM, 01 Nov 2017
    Всем привет! Вопрос такой: пытаюсь использовать из питона sqlalchemy, но не могу прочитать nullable переменные. Кто-нибудь знает, как это обойти?
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @ameliapff #30781 04:08 PM, 01 Nov 2017
    тем временем правильный ответ такой, нашла. через ifNull
  • https://t.me/clickhouse_ru
  • @AEDeveloper #30783 04:09 PM, 01 Nov 2017
    Парни подскажите настройку в конфиге, чтобы изменить путь в данным?
  • @AEDeveloper #30785 04:11 PM, 01 Nov 2017
    оно. спасибо
  • https://t.me/clickhouse_ru
    @zaglex #30786 04:15 PM, 01 Nov 2017
    Привет!
    Обновились с 1.1.54197 до 1.1.54292
    Теперь раз в пару дней возникает проблема с нагруженной таблицей: в какой-то момент перестают запускаться мерджи, куски начинают накапливаться и мы достигаем лимита "Too much parts".
    Помогает только рестарт одной из двух реплик
  • @ztlpn #30787 04:37 PM, 01 Nov 2017
    Вроде бы мы не релизили версию 54197... Попробуйте, когда такое начинается, снять диагностику с помощью скрипта https://github.com/yandex/ClickHouse/blob/master/utils/report/clickhouse_report.sh и прислать в личку или на clickhouse-feedback@yandex-team.ru
    yandex/ClickHouse

    ClickHouse is a free analytic DBMS for big data.

  • @githubreleases_bot #30788 b o t 08:24 PM, 01 Nov 2017
    yandex/ClickHouse

    ClickHouse is a free analytic DBMS for big data.

  • https://t.me/clickhouse_ru
    @cmdrosmium #30790 08:52 PM, 01 Nov 2017
    что значит скользить? что-то типа курсора?
  • https://t.me/clickhouse_ru
    @fabura #30792 09:00 PM, 01 Nov 2017
    может получится что-то на https://clickhouse.yandex/docs/en/functions/other_functions.html#runningdifference-x сделать. Но надо подумать как)
  • https://t.me/clickhouse_ru
    @fabura #30793 09:00 PM, 01 Nov 2017
    это вроде единственная функция, которая что-то про соседнюю строчку знает
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #30789 #30795 09:07 PM, 01 Nov 2017
    ClickHouse нужен когда у вас очень много данных, для журнала входов это чуть более чем перебор, попробуйте посмотреть в сторону PostgreSQL и оконных функций (https://www.postgresql.org/docs/current/static/tutorial-window.html , http://www.postgresqltutorial.com/postgresql-window-function/)
  • https://t.me/clickhouse_ru
    @kshvakov #30796 09:08 PM, 01 Nov 2017
    pgsql – PostgreSQL

    Чат русскоязычного сообщества PostgreSQL, здесь мы обсуждаем технические вопросы, для поиска работы и предложения вакансий есть группа https://t.me/pgsqljobs For English discussion visit https://t.me/pg_sql

  • @milovidov_an #30798 09:16 PM, 01 Nov 2017
    Оконных функций нет. Простой возможности вычислять что-то в скользящем окне тоже нет. Можно рассмотреть вариант - сделать агрегацию по 5-минутным интервалам в ClickHouse; после этого данных станет немного, и их можно обработать скриптом.
  • https://t.me/clickhouse_ru
    @kshvakov #30800 09:23 PM, 01 Nov 2017
    Может меня сейчас закидают помидорами, но есть greenplum c развесистой поддержкой SQL (http://gpdb.docs.pivotal.io/510/ref_guide/sql_commands/sql_ref.html), он, конечно, не такой шустрый как ClickHouse, но способен "прожевать" достаточно большое количество данных )
  • @AEDeveloper #30801 09:53 PM, 01 Nov 2017
    мда . взяли сервак на хецнере, дешевле, чем ec2 на амазоне, и резльтат порадовал))
  • @AEDeveloper #30802 09:54 PM, 01 Nov 2017
    скорость обработки с 1.98GB/s вырос до 12.87 GB/s
  • @AEDeveloper #30803 09:55 PM, 01 Nov 2017
    афигеть просто
  • @vstakhov #30804 09:58 PM, 01 Nov 2017
    baremetal - все дело в волшебных пузырьках
  • @vstakhov #30805 09:58 PM, 01 Nov 2017
    что ни кеш, ни tlb никакие партизаны не размазывают, как минимум
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #30801 #30806 10:00 PM, 01 Nov 2017
    любой хостинг виртуалок их оверселит по какому-нибудь ресурсу, даже дорогой типа амазона
  • @AEDeveloper #30807 10:01 PM, 01 Nov 2017
    это факт
  • @vstakhov #30808 10:01 PM, 01 Nov 2017
    да дело даже не в оверселлинге, а в том, что продаются iops и ядра, которые внутри гипервизора шарятся
  • @vstakhov #30809 10:01 PM, 01 Nov 2017
    а любой шаринг, даже без оверселлинга - это жопа
  • https://t.me/clickhouse_ru
    @Civiloid #30810 10:01 PM, 01 Nov 2017
    оверселинг добавляет веселья)
  • https://t.me/clickhouse_ru
    @Civiloid #30811 10:01 PM, 01 Nov 2017
    попал ты на физ машину с еще пятью кликхаусерами и каждый получает по 2ГБ в секунду)
  • https://t.me/clickhouse_ru
    @Civiloid #30812 10:02 PM, 01 Nov 2017
    ну просто потому что все занято соседями
  • @vstakhov #30813 10:02 PM, 01 Nov 2017
    не, тут дело в кешах, а не ядрах или соседях
  • @vstakhov #30814 10:02 PM, 01 Nov 2017
    и CH кеши использует хорошо, если ему давать
  • https://t.me/clickhouse_ru
    @Civiloid #30815 10:02 PM, 01 Nov 2017
    дело во всем сумарно
  • @vstakhov #30816 10:02 PM, 01 Nov 2017
    вот кстати
  • @vstakhov #30817 10:02 PM, 01 Nov 2017
    есть какие-то примеры использования huge pages с CH?
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #30813 #30818 10:02 PM, 01 Nov 2017
    Xeon E5v4 могут кэши и bandwidth памяти алокейтить на виртуалки, кстати)
  • @vstakhov #30819 10:03 PM, 01 Nov 2017
    по идее, на тяжелых джоинах должно быть любо
  • https://t.me/clickhouse_ru
    @Civiloid #30820 10:03 PM, 01 Nov 2017
    точнее per pid
  • https://t.me/clickhouse_ru
    @Civiloid #30821 10:03 PM, 01 Nov 2017
    правда я сомневаюсь что хостеры это используют
  • https://t.me/clickhouse_ru
    @Civiloid #30822 10:03 PM, 01 Nov 2017
    как раз пропогандировали как борьбу с вымывыанием кэша соседями
  • @AEDeveloper #30823 10:04 PM, 01 Nov 2017
    и это ве 1 физ сервер
  • @AEDeveloper #30824 10:04 PM, 01 Nov 2017
    а если шардировать
  • @AEDeveloper #30825 10:04 PM, 01 Nov 2017
    ваще огонь будет
  • @vstakhov #30826 10:04 PM, 01 Nov 2017
    я сомневаюсь, что есть где-то даже kaby lake у массовых хостеров
  • https://t.me/clickhouse_ru
    @Civiloid #30827 10:04 PM, 01 Nov 2017
    речь про Broadwell
  • https://t.me/clickhouse_ru
    @Civiloid #30828 10:04 PM, 01 Nov 2017
    Xeon E5 v4 и новее. Они в принципе уже год с лишним в свободной продаже
  • https://t.me/clickhouse_ru
    @Civiloid #30829 10:04 PM, 01 Nov 2017
    но я пока v3 в хостинге только видел
  • https://t.me/clickhouse_ru
    @Civiloid #30830 10:05 PM, 01 Nov 2017
    но впрочем я по работе с хостингами не сталкиваюсь
  • @AEDeveloper #30831 10:07 PM, 01 Nov 2017
    а еще дали наверно nvme диски
  • https://t.me/clickhouse_ru
    @orantius ↶ Reply to #30794 #30832 10:08 PM, 01 Nov 2017
    если взять такой датасет для примера
    SELECT
    number AS time,
    ((time * 31) + 7) % 17 AS cc
    FROM system.numbers
    LIMIT 20

    ┌─time─┬─cc─┐
    │ 0 │ 7 │
    │ 1 │ 4 │
    │ 2 │ 1 │
    │ 3 │ 15 │
    │ 4 │ 12 │
    │ 5 │ 9 │
    │ 6 │ 6 │
    │ 7 │ 3 │
    │ 8 │ 0 │
    │ 9 │ 14 │
    │ 10 │ 11 │
    │ 11 │ 8 │
    │ 12 │ 5 │
    │ 13 │ 2 │
    │ 14 │ 16 │
    │ 15 │ 13 │
    │ 16 │ 10 │
    │ 17 │ 7 │
    │ 18 │ 4 │
    │ 19 │ 1 │
    └──────┴────┘то с ним можно делать вот такие вещи
    SELECT
    w,
    arrayReduce('avg', groupArray(cc) AS vs) AS avg,
    vs[-1] AS v,
    vs
    FROM
    (
    SELECT
    cc,
    arrayMap(x -> (time + x), range(4)) AS window
    FROM
    (
    SELECT
    number AS time,
    ((time * 31) + 7) % 17 AS cc
    FROM system.numbers
    LIMIT 20
    )
    )
    ARRAY JOIN window AS w
    GROUP BY w
    ORDER BY w ASC

    ┌──w─┬───avg─┬──v─┬─vs───────────┐
    │ 0 │ 7 │ 7 │ [7] │
    │ 1 │ 5.5 │ 4 │ [7,4] │
    │ 2 │ 4 │ 1 │ [7,4,1] │
    │ 3 │ 6.75 │ 15 │ [7,4,1,15] │
    │ 4 │ 8 │ 12 │ [4,1,15,12] │
    │ 5 │ 9.25 │ 9 │ [1,15,12,9] │
    │ 6 │ 10.5 │ 6 │ [15,12,9,6] │
    │ 7 │ 7.5 │ 3 │ [12,9,6,3] │
    │ 8 │ 4.5 │ 0 │ [9,6,3,0] │
    │ 9 │ 5.75 │ 14 │ [6,3,0,14] │
    │ 10 │ 7 │ 11 │ [3,0,14,11] │
    │ 11 │ 8.25 │ 8 │ [0,14,11,8] │
    │ 12 │ 9.5 │ 5 │ [14,11,8,5] │
    │ 13 │ 6.5 │ 2 │ [11,8,5,2] │
    │ 14 │ 7.75 │ 16 │ [8,5,2,16] │
    │ 15 │ 9 │ 13 │ [5,2,16,13] │
    │ 16 │ 10.25 │ 10 │ [2,16,13,10] │
    │ 17 │ 11.5 │ 7 │ [16,13,10,7] │
    │ 18 │ 8.5 │ 4 │ [13,10,7,4] │
    │ 19 │ 5.5 │ 1 │ [10,7,4,1] │
    │ 20 │ 4 │ 1 │ [7,4,1] │
    │ 21 │ 2.5 │ 1 │ [4,1] │
    │ 22 │ 1 │ 1 │ [1] │
    └────┴───────┴────┴──────────────┘но если у вас много данных, то может это работать и не будет.
  • @AEDeveloper #30833 10:15 PM, 01 Nov 2017
    toStringCutToZero как оказывается сильно просаживает производительность
  • @AEDeveloper #30834 10:16 PM, 01 Nov 2017
    без этой функции 20GB/s с ней 30GB/s
  • @AEDeveloper #30835 10:16 PM, 01 Nov 2017
    точней наборот
  • @AEDeveloper #30836 10:16 PM, 01 Nov 2017
    с ней 20, без нее 30
  • @nullxer #30837 10:43 PM, 01 Nov 2017
    Joined.
  • Пробовал использовать huge pages два года назад. Сначала попробовал on demand huge pages при аллокации больших кусков памяти (для столбцов, для хэш-таблиц...).

    https://github.com/yandex/ClickHouse/commit/60054d177c8bc190e8187c7c5f5e8495a1957a04

    Результат такой: почти во всех случаях разницы нет, но в одном редком случае прирост производительности более чем в 3 раза.

    После этого обрадовался и поставил версию в продакшен. Но за несколько дней производительность сильно деградировала и стала хуже, чем раньше.

    Причина, скорее всего в том, что для обычных страниц делается memory compaction в ядре, а для huge - не делается. В результате физическая память фрагментируется и аллокации тормозят.

    В результате пришлось откатить. Но можно было бы обойти проблему, если использовать static huge pages и свой аллокатор из них. Это не пробовал в виду того, что сложнее делать.
  • @vstakhov #30839 11:21 PM, 01 Nov 2017
    а если тупо взять LD_PRELOAD=libhugetlbfs.so ?
  • @vstakhov #30840 11:21 PM, 01 Nov 2017
    madvise - это довольно-таки экзотический кейс
  • @vstakhov #30841 11:21 PM, 01 Nov 2017
    я про mmap(MAP_HUGETLB), в основном
  • @vstakhov #30842 11:22 PM, 01 Nov 2017
    хотя, если посмотреть на профиль нагрузки CH, это и впрямь очень сложно уложить в HP
  • @vstakhov #30843 11:22 PM, 01 Nov 2017
    больше эффект от prefetch, чем от dtlb misses
  • @vstakhov #30844 11:23 PM, 01 Nov 2017
    а, ну и еще да, memory compaction - это transparent huge pages или что-то еще?
  • Пока не пробовал. Надо посмотреть.
  • Наибольший положительный эффект проявляется при случайных доступах в память, в диапазоне около десятков мегабайт. Такие случайные доступы - агрегация, DISTINCT, IN, JOIN.
  • @vstakhov #30847 11:25 PM, 01 Nov 2017
    ну вообще, я тут недавно намерял, что вся эта мышиная возня ради 0.01 шанса мисса в dtlb :)
  • @vstakhov #30848 11:26 PM, 01 Nov 2017
    больший эффект от того, что ядро живет в своей гигабайтной huge page и не гадит в tlb при mode switch
  • Это то, что система постоянно делает для дефрагментации памяти - переносит физические страницы на новые места, без изменения виртуальных адресов.
  • @vstakhov #30850 11:27 PM, 01 Nov 2017
    ну, в случае huge pages алгоритм не должен быть иным, как я понимаю
  • @vstakhov #30851 11:27 PM, 01 Nov 2017
    то, что линукс не дефрагментирует их - это кажется недоработкой, чем архитектурной проблемой
  • @vstakhov #30852 11:27 PM, 01 Nov 2017
    нет?
  • @milovidov_an #30853 11:28 PM, 01 Nov 2017
    Я даже не знаю точно, почему всё стало плохо через два дня. И это самая простая гипотеза - наверное больше фрагментация памяти. Да, как будто недоработка.
  • @vstakhov #30854 11:28 PM, 01 Nov 2017
    хотя там просто фантазии такого алгоритма, конечно, меньше
  • @vstakhov #30855 11:28 PM, 01 Nov 2017
    ну вот было бы интересно с hugetlbfs
  • @vstakhov #30856 11:29 PM, 01 Nov 2017
    а, но там надо еще environment настроить
  • @vstakhov #30857 11:30 PM, 01 Nov 2017
    HUGETLB_MORECORE=yes
  • @milovidov_an #30858 11:35 PM, 01 Nov 2017
    Есть идея - совместить аллокатор (для более-менее крупных аллокаций) с кэшом для всяких промежуточных данных (данных, прочитанных с диска; промежуточных результатов вычислений). Для него получится более естественным образом использовать huge pages.
  • 02 November 2017 (274 messages)
  • https://t.me/clickhouse_ru
    @mktums #30859 12:09 AM, 02 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @1267448 #30860 01:03 AM, 02 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @itstokey #30861 01:10 AM, 02 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    С ними надо аккуратнее. Запросто можно попасть на Skylake c багнутым микрокодом.
    Подробнее тут https://lists.debian.org/debian-devel/2017/06/msg00308.html
    Ловил проблемы на E3-1275 v5 (PX61nvme).
    Думаю имеет смысл пополнить раздел https://clickhouse.yandex/docs/ru/operations/tips.html#hyper-threading
  • https://t.me/clickhouse_ru
    @khamin_vs #30863 05:43 AM, 02 Nov 2017
    Идентифицировать проблему сложно, но лечится легко
  • @AEDeveloper #30864 05:51 AM, 02 Nov 2017
    Мы взяли px91 + 2 nvme
  • @AEDeveloper #30865 05:51 AM, 02 Nov 2017
    @khamin_vs а как лечится?
  • https://t.me/clickhouse_ru
    @khamin_vs #30866 05:52 AM, 02 Nov 2017
    перешивкой микрокода )
  • @AEDeveloper #30867 05:52 AM, 02 Nov 2017
    Охренеть))) это делается удаленно? Vitaliy
  • https://t.me/clickhouse_ru
    @khamin_vs #30868 05:52 AM, 02 Nov 2017
    да. PX91 и выше этим вроде не болеют, но проверить стоит
  • @AEDeveloper #30869 05:58 AM, 02 Nov 2017
    так это от проца или от диска?
  • @AEDeveloper #30870 05:58 AM, 02 Nov 2017
    @khamin_vs я не очень знаю что это)
  • @AEDeveloper #30871 05:59 AM, 02 Nov 2017
    skyLake
  • @AEDeveloper #30872 05:59 AM, 02 Nov 2017
    почитаю обязательно
  • https://t.me/clickhouse_ru
    @khamin_vs #30873 05:59 AM, 02 Nov 2017
    от проца и партии. в статье все описано
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #30865 #30874 06:01 AM, 02 Nov 2017
    На самом деле если у вас достаточно свежая ОС то вам не следует заморачиваться с этим, ОС каждый раз при загрузке вкатывает микрокод (соответственно ОС получает обновления микрокода вместе с остальными обновлениями пакетов), это все сделанно для того, чтоб когда в очередной раз найдут какую-то проблему в процессоре не выпускать новые и не бегать по всем пользователям и менять, а просто накатить некий патч который данную проблему исправляет/прикрывает
  • @AEDeveloper #30875 06:01 AM, 02 Nov 2017
    ubuntu 16.04 xenial
  • https://t.me/clickhouse_ru
    @kshvakov #30876 06:01 AM, 02 Nov 2017
    intel/amd активно по этому поводу работают с linux
  • @AEDeveloper #30877 06:02 AM, 02 Nov 2017
    вроде свежачок
  • @AEDeveloper #30878 06:02 AM, 02 Nov 2017
    точней стабильный)
  • https://t.me/clickhouse_ru
    @khamin_vs #30879 06:02 AM, 02 Nov 2017
    16.04 из коробки проблемы не решила
  • @AEDeveloper #30880 06:02 AM, 02 Nov 2017
    свежачок щас 17.04)
  • @AEDeveloper #30881 06:02 AM, 02 Nov 2017
    это пугает
  • https://t.me/clickhouse_ru
    @khamin_vs #30882 06:03 AM, 02 Nov 2017
    пришлось руками накатывать intel-microcode из офф репозитория
  • https://t.me/clickhouse_ru
    @khamin_vs #30883 06:03 AM, 02 Nov 2017
    17.04 на сколько мне известно тоже
  • https://t.me/clickhouse_ru
    @kshvakov #30884 06:05 AM, 02 Nov 2017
    По дефолту пакет может и не стоять, ставим пакет -> не паримся
  • https://t.me/clickhouse_ru
    @khamin_vs #30885 06:05 AM, 02 Nov 2017
    именно
  • @AEDeveloper #30886 06:05 AM, 02 Nov 2017
    а какой пакет парни? я конечно еще почитаю, но может есть быстрый ответ. а то уже сегодня стартуем продакшн
  • @AEDeveloper #30887 06:06 AM, 02 Nov 2017
    @khamin_vs @kshvakov
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @kshvakov #30889 06:06 AM, 02 Nov 2017
    Там выше написано intel-microcode )
  • @AEDeveloper #30890 06:07 AM, 02 Nov 2017
    )))
  • @AEDeveloper #30891 06:07 AM, 02 Nov 2017
    утро)
  • https://t.me/clickhouse_ru
    @khamin_vs #30892 06:07 AM, 02 Nov 2017
    не забудь только подключить updates репозиторий
  • @AEDeveloper #30893 06:14 AM, 02 Nov 2017
    спасибо
  • https://t.me/clickhouse_ru
    @AndrewPerminov #30894 06:21 AM, 02 Nov 2017
    может глупый вопрос, но: в рекомендациях есть упоминание фс ext4 и xfs. а на cephfs кто-нибудь размещал? каковы будут возможные грабли и будут ли?
  • https://t.me/clickhouse_ru
    @kshvakov #30895 06:48 AM, 02 Nov 2017
    Зачем ?
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #30866 #30896 07:04 AM, 02 Nov 2017
    Не прошивкой, а апдейтом в момент загрузки оси. Там простая процедура - делается initrd специальной тулзой и ставиться как первый, раньше стандартного
  • https://t.me/clickhouse_ru
    @vladenisov #30897 07:20 AM, 02 Nov 2017
    а есть какая-нибудь возможность посмотреть на пропущенные при импорте строки с включенной опцией input_format_allow_errors_?
  • https://t.me/clickhouse_ru
    "один большой массив" дисков. не реорганизовывать структуру
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #30898 #30899 07:34 AM, 02 Nov 2017
    Распределённый и сетевой. Для бд которая сама умеет в распределенность, это не имеет смысла
  • https://t.me/clickhouse_ru
    @Civiloid #30900 07:34 AM, 02 Nov 2017
    Ты так только количество доступных цпу и оперативы снижаешь, не получая выигрыша в чем либо
  • https://t.me/clickhouse_ru
    @AndrewPerminov #30901 08:06 AM, 02 Nov 2017
    согласен, спасиб
  • @316558811 #30902 08:21 AM, 02 Nov 2017
    Joined.
  • @316558811 #30903 08:23 AM, 02 Nov 2017
    приветствую. подскажите: существует ли connection pool для Java?
  • @ztlpn ↶ Reply to #30897 #30904 08:25 AM, 02 Nov 2017
    Нет.
  • https://t.me/clickhouse_ru
    @fabura ↶ Reply to #30903 #30905 08:33 AM, 02 Nov 2017
    Мы используем через хикари, вроде без проблем
  • @316558811 #30906 08:34 AM, 02 Nov 2017
    да. я и имел ввиду хикари. я его для мускуля сейчас использую. то есть хикари на 100% поддерживает clickhouse?
  • @316558811 #30907 08:35 AM, 02 Nov 2017
    тогда еще вопрос: умеет ли clickhouse дропать данные из таблиц по истечению времени. хотим применить для логов. чтобы они там хранились нное время и сами дропались из таблиц без нашего участия. такое возможно?
  • https://t.me/clickhouse_ru
    @kshvakov #30908 08:36 AM, 02 Nov 2017
    нет, но можно написать простой скрипт и дропать старые партиции
  • @316558811 #30909 08:37 AM, 02 Nov 2017
    блокировок при этом никаких не будет на вставку новых данных?
  • https://t.me/clickhouse_ru
    @kshvakov #30910 08:37 AM, 02 Nov 2017
    нет
  • @316558811 #30911 08:37 AM, 02 Nov 2017
    пока дропаются старые?
  • @316558811 #30912 08:37 AM, 02 Nov 2017
    спс!
  • @degnik #30913 08:38 AM, 02 Nov 2017
    Joined.
  • @spellancer #30914 08:39 AM, 02 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @kshvakov #30915 08:49 AM, 02 Nov 2017
    Никто не скрещивал https://www.rstudio.com/ с ClickHouse под macOS, я этой штукой не пользуюсь, а вот наш аналитик да, поэтому если кто знает что и как там, расскажите как их скрестить ?
    RStudio | Open source & professional software for data science teams

    RStudio provides free and open source tools for R and enterprise-ready professional software for data science teams to develop and share their work at scale.

  • @anton_d_zhukov #30916 08:51 AM, 02 Nov 2017
    Подскажите. А есть какой-нибудь способ загружать данные из mysql помимо выгрузки в CSV?
  • https://t.me/clickhouse_ru
    @emtsptth ↶ Reply to #30915 #30917 08:52 AM, 02 Nov 2017
    какое скрещивание подразумевается? там датасеты вполне классическим образом импортируются..
  • https://t.me/clickhouse_ru
    @kshvakov #30918 08:53 AM, 02 Nov 2017
    Из R-Studio прямо в КХ ходить, она (аналитик) у нас так раньше в Citus ходила
  • https://t.me/clickhouse_ru
    @emtsptth ↶ Reply to #30918 #30919 08:56 AM, 02 Nov 2017
    посмотрите на https://github.com/hannesmuehleisen/clickhouse-r может получится на этой основе сделать шаблон R, в который ваш аналитик будет дописывать просто поведение по полученной выборке
    GitHub - hannesmuehleisen/clickhouse-r: Rstats client for ClickHouse (https://clickhouse.yandex)

    Rstats client for ClickHouse (https://clickhouse.yandex) - GitHub - hannesmuehleisen/clickhouse-r: Rstats client for ClickHouse (https://clickhouse.yandex)

  • https://t.me/clickhouse_ru
    @kshvakov #30920 08:57 AM, 02 Nov 2017
    OK, спасибо
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #30907 #30921 08:59 AM, 02 Nov 2017
    тут в одном соседнем новостном канальчике чуваки показали https://github.com/flant/loghouse вот такую штуку
  • https://t.me/clickhouse_ru
    @fabura ↶ Reply to #30916 #30922 09:00 AM, 02 Nov 2017
    Вроде мускул как внешний словарь можно подключить
  • https://t.me/clickhouse_ru
    @artemalemasov #30923 09:31 AM, 02 Nov 2017
    Всем драсьте. Столкнулся со странной проблемой чтения данных из CH. Использую https://github.com/kshvakov/clickhouse
    Делаю банальный Query и получаю 0 записей хотя если в консольке повторить тот же запрос там будет много записей. В дебаге информации нет ни какой. Пусто, ошибок тоже нет. Прям как то неожиданно и даде не знаю куда копать. Может кто сталкивался с пододобнымю Буду признателен за подсказкли куда посмотреть что проверить.
    GitHub - ClickHouse/clickhouse-go: Golang driver for ClickHouse

    Golang driver for ClickHouse. Contribute to ClickHouse/clickhouse-go development by creating an account on GitHub.

  • https://t.me/clickhouse_ru
    @kenota #30924 09:32 AM, 02 Nov 2017
    @artemalemasov Может подключаетесь к разным базам через консоль и через библиотеку?
  • https://t.me/clickhouse_ru
    @artemalemasov #30925 09:33 AM, 02 Nov 2017
    Нет база одна - что называется под ногами
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #30923 #30926 09:33 AM, 02 Nov 2017
    Код покажите
  • https://t.me/clickhouse_ru
    @artemalemasov #30927 09:36 AM, 02 Nov 2017
    @kshvakov
    Да вроде все просто
    —---------------
    db, e := sql.Open("clickhouse", fmt.Sprintf("tcp://%v?debug=%v&compress=true&username=%v&password=%v&read_timeout=60&write_timeout=60", server, debug, user, password))
    if e != nil {
    return nil, e
    }

    rows, err := db.Query(query)
    if err != nil {
    return 0, fmt.Errorf("Query error:\n%v\n", err)
    }
    cols, _ := rows.Columns()

    count := 0

    for rows.Next() {
    count++
    ...
    }
    —---------------
  • https://t.me/clickhouse_ru
    @kshvakov #30928 09:38 AM, 02 Nov 2017
    Если debug включить что показывает ?
  • https://t.me/clickhouse_ru
    @artemalemasov #30929 09:39 AM, 02 Nov 2017
    @kshvakov
    —---------------—
    clickhouse][connect=1][prepare] SELECT sum(effective_price * (100/(100 - if(isNull(payload__fee_percent), 0, payload__fee_percent))))/1000 as fee, sum(if(agg__events_weight >= 25, 1, 0)) as event_25, sum(if(agg__events_weight >= 50, 1, 0)) as event_50, sum(if(agg__events_weight >= 75, 1, 0)) as event_75, sum(if(agg__events_weight >= 100, 1, 0)) as event_100, sum(bidfloor) as sum_bidfloor, sum(raw_price) as sum_raw_price, sum(click) as sum_click, sum(payload__payment) as sum_payment, sum(effective_price) as sum_effective_price, sum(imp) as sum_imp, country as country FROM agg WHERE if(isNull(install), 0, install) = 0 AND toDate(bid_timestamp) <= '2017-11-01' GROUP BY country
    [clickhouse][connect=1][send query] SELECT sum(effective_price * (100/(100 - if(isNull(payload__fee_percent), 0, payload__fee_percent))))/1000 as fee, sum(if(agg__events_weight >= 25, 1, 0)) as event_25, sum(if(agg__events_weight >= 50, 1, 0)) as event_50, sum(if(agg__events_weight >= 75, 1, 0)) as event_75, sum(if(agg__events_weight >= 100, 1, 0)) as event_100, sum(bidfloor) as sum_bidfloor, sum(raw_price) as sum_raw_price, sum(click) as sum_click, sum(payload__payment) as sum_payment, sum(effective_price) as sum_effective_price, sum(imp) as sum_imp, country as country FROM agg WHERE if(isNull(install), 0, install) = 0 AND toDate(bid_timestamp) <= '2017-11-01' GROUP BY country
    [clickhouse][connect=1][read meta] <- data: packet=1, columns=12, rows=0
    [clickhouse][connect=1][rows] <- progress: rows=290515, bytes=17560768, total rows=3112960
    [clickhouse][connect=1][rows] <- progress: rows=622592, bytes=39845888, total rows=0
    [clickhouse][connect=1][rows] <- progress: rows=434900, bytes=26801408, total rows=0
    [clickhouse][connect=1][rows] <- progress: rows=612958, bytes=40261504, total rows=0
    [clickhouse][connect=1][rows] <- progress: rows=716697, bytes=45868608, total rows=0
    [clickhouse][connect=1][rows] close
    [clickhouse][connect=1][stmt] close
    —-----------------
  • https://t.me/clickhouse_ru
    @artemalemasov #30930 09:41 AM, 02 Nov 2017
    @kshvakov Тот же самый SQL в консоле
    —----------------
    SELECT
    sum(effective_price * (100 / (100 - if(isNull(payload__fee_percent), 0, payload__fee_percent)))) / 1000 AS fee,
    sum(if(agg__events_weight >= 25, 1, 0)) AS event_25,
    sum(if(agg__events_weight >= 50, 1, 0)) AS event_50,
    sum(if(agg__events_weight >= 75, 1, 0)) AS event_75,
    sum(if(agg__events_weight >= 100, 1, 0)) AS event_100,
    sum(bidfloor) AS sum_bidfloor,
    sum(raw_price) AS sum_raw_price,
    sum(click) AS sum_click,
    sum(payload__payment) AS sum_payment,
    sum(effective_price) AS sum_effective_price,
    sum(imp) AS sum_imp,
    country AS country
    FROM agg
    WHERE (if(isNull(install), 0, install) = 0) AND (toDate(bid_timestamp) <= '2017-11-01')
    GROUP BY country

    —---------------
    выдает
    ...
    20 rows in set. Elapsed: 0.435 sec. Processed 3.04 million rows, 194.56 MB (6.98 million rows/s., 446.94 MB/s.)
  • https://t.me/clickhouse_ru
    @Civiloid #30931 09:42 AM, 02 Nov 2017
    @artemalemasov полезно включить trace лог у кликхауса и посмотреть какой запрос ему прилетел
  • https://t.me/clickhouse_ru
    @Civiloid #30932 09:42 AM, 02 Nov 2017
    и сравнить их глазами
  • https://t.me/clickhouse_ru
    @Civiloid #30933 09:42 AM, 02 Nov 2017
    то что руками делал и то что прилетело от библиотеки
  • https://t.me/clickhouse_ru
    @artemalemasov #30934 09:43 AM, 02 Nov 2017
    @Civiloid Понял спасибо буду смотреть по логу КХ
  • https://t.me/clickhouse_ru
    @Civiloid #30935 09:44 AM, 02 Nov 2017
    просто даст чуть больше информации о том что былоо
  • https://t.me/clickhouse_ru
    @kshvakov #30936 09:45 AM, 02 Nov 2017
    вот тут cols, _ := rows.Columns() ошибку обработайте
  • https://t.me/clickhouse_ru
    @kshvakov #30937 09:47 AM, 02 Nov 2017
    еще у Scan и rows нужно проверять ошибки, судя по дебагу там данные так и не пришли, только прогрес, похоже что просто таймаут сработал
  • https://t.me/clickhouse_ru
    @kshvakov #30938 09:49 AM, 02 Nov 2017
    Если можете создать кейс (структуру таблицы + данные + код) для воспроизведения можно сюда написать https://github.com/kshvakov/clickhouse/issues
  • https://t.me/clickhouse_ru
    @artemalemasov #30939 09:50 AM, 02 Nov 2017
    @kshvakov
    Обработал но ошибки нет даже распечатал колонки
    —------------------—
    Columns: [[sum_effective_price sum_imp sum_click sum_payment event_75 sum_bidfloor sum_raw_price fee event_25 event_50 event_100 country]]
    —------------------—
  • https://t.me/clickhouse_ru
    @artemalemasov #30940 09:51 AM, 02 Nov 2017
    Ок понял попробую в лог KХ еще заглянуть может там что интересное будет.
  • https://t.me/clickhouse_ru
    @kshvakov #30941 09:52 AM, 02 Nov 2017
    не будет там ничего интересного, запрос дошел и начал выполнятся, сделайте минимальный кейс для воспроизведения проблемы и Issue на GitHub или в личку ;)
  • https://t.me/clickhouse_ru
    @artemalemasov #30942 09:54 AM, 02 Nov 2017
    @kshvakov я еще иногда вижу что проскакивает ошибка
    https://github.com/kshvakov/clickhouse/blob/58c555f03a371215afe7e1db07232826fe17aaa6/clickhouse.go#L266
    kshvakov/clickhouse

    clickhouse - This is a Golang driver for ClickHouse column-oriented database management system

  • https://t.me/clickhouse_ru
    @artemalemasov #30943 09:55 AM, 02 Nov 2017
    Но она как то рандомно срабатывает
  • https://t.me/clickhouse_ru
    @artemalemasov #30944 09:55 AM, 02 Nov 2017
    Я попробую кейс составить спасибо
  • https://t.me/clickhouse_ru
    @kshvakov #30945 09:56 AM, 02 Nov 2017
    А какой полный текст у ошибки ?
  • https://t.me/clickhouse_ru
    @artemalemasov #30946 09:59 AM, 02 Nov 2017
    @kshvakov Немного дезориентировал возможно это другая ошибка вот текст
    —-------------
    Query error:\n[rows] unexpected packet [16] from server\n"
    —-------------
  • https://t.me/clickhouse_ru
    @kshvakov #30947 10:00 AM, 02 Nov 2017
    Да, там явно что-то пошло не так, давайте кейс )
  • https://t.me/clickhouse_ru
    @artemalemasov #30948 10:01 AM, 02 Nov 2017
    Она возникает рандомно и похоже связана с конкурентным использованием одного инстанса db который я постороил через sql.Open("clickhouse", "tcp://...")
  • https://t.me/clickhouse_ru
    @kshvakov #30949 10:02 AM, 02 Nov 2017
    И, какая у вас версия ClickHouse ?
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #30948 #30950 10:02 AM, 02 Nov 2017
    При конкурентом он сам вам несколько соединений создаст
  • https://t.me/clickhouse_ru
    @artemalemasov #30951 10:05 AM, 02 Nov 2017
    @kshvakov
    Да да я вижу в дебаге несколько коннектов эт верно но она возникает когда именно конкурентно использую. если 1 запрос то ошибок не вижу подобных
    Версия КХ 1.1.54292
  • https://t.me/clickhouse_ru
    @kshvakov #30952 10:07 AM, 02 Nov 2017
    если соберете кейс - я поправлю, у меня оно нигде не воспроизводится
  • https://t.me/clickhouse_ru
    @artemalemasov #30953 10:09 AM, 02 Nov 2017
    Хорошо попробую сделать проектик с этим кейсом.
  • https://t.me/clickhouse_ru
    @kenota #30954 10:22 AM, 02 Nov 2017
    @artemalemasov @kshvakov еще полезно попробовать другую ОС, я помню вот этот баг воспроизводился легко на MacOS но не воспроизводился на linux : https://github.com/kshvakov/clickhouse/issues/34 , обычно связано с фрагментацией пакетов
    toColumn type fails on high-batch load · Issue #34 · kshvakov/clickhouse

    Observed behaviour: on high batch load toColumn types randomly fails Expected behaviour: no failure while database is up Environment: go version go1.8.1 darwin/amd64 Golang SQLDriver 1.1.54213 Clic...

  • https://t.me/clickhouse_ru
    @artemalemasov #30955 10:24 AM, 02 Nov 2017
    @kenota Понятно. Я использую Ubuntu. И клиент и сервер оба на Ubuntu.
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #30954 #30956 10:32 AM, 02 Nov 2017
    Там проблема не в макоси была, а в криворукости автора библиотеки )))
  • https://t.me/clickhouse_ru
    @kenota #30957 10:34 AM, 02 Nov 2017
    @kshvakov хехе :) но проявлялась то она на макоси лучше, т.к. пакеты фрагментировались)
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #30956 #30958 10:35 AM, 02 Nov 2017
    если помнишь кстати, мой баг который воспроизводился когда сервер и клиент за 5-6 мс друг от друга были, а запросы были жирными
  • https://t.me/clickhouse_ru
    @kshvakov #30959 10:36 AM, 02 Nov 2017
    да, я помню
  • https://t.me/clickhouse_ru
    @kenota #30960 10:37 AM, 02 Nov 2017
    @kshvakov на самом деле крутая библиотека, сохранила нам кучу времени, спасибо
  • https://t.me/clickhouse_ru
    @Civiloid #30961 10:38 AM, 02 Nov 2017
    это да, определенно крутая
  • https://t.me/clickhouse_ru
    @Mike_Er ↶ Reply to #30788 #30962 10:41 AM, 02 Nov 2017
    а ченжлога нет пока?
  • https://t.me/clickhouse_ru
    @kshvakov #30963 10:45 AM, 02 Nov 2017
    Судя по комитам там будет кафка )
  • https://t.me/clickhouse_ru
    @artemalemasov #30964 10:54 AM, 02 Nov 2017
    Я не дождался кафки - пришлось написать свою реализацию )
  • https://t.me/clickhouse_ru
    @ajIeks #30965 11:16 AM, 02 Nov 2017
    не дождался оф билда, сам собрал с кафкой, пока все круто ) данные льются, помещаются во вьюху, все работает, прям тру онлайн аналитика
  • https://t.me/clickhouse_ru
    @Civiloid #30966 11:23 AM, 02 Nov 2017
    если б кафка появилась чуть раньше, я бы не городил костыли на gRPC для передачи данных :)
  • @ztlpn ↶ Reply to #30962 #30967 11:43 AM, 02 Nov 2017
    Сегодня в течение дня.
  • https://t.me/clickhouse_ru
    @rlomonosov #30968 12:22 PM, 02 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @umaxfun ↶ Reply to #30965 #30969 01:09 PM, 02 Nov 2017
    А есть пример, как это чудо работает?
  • https://t.me/clickhouse_ru
    @ajIeks #30970 01:10 PM, 02 Nov 2017
  • https://t.me/clickhouse_ru
    @umaxfun #30971 01:12 PM, 02 Nov 2017
    Я имею в виду концептуально. Риалтайм это называют потому, что данные из очереди напрямую в кх попадают или потому что всё выше плюс тэйлэбл курсор появляется?
  • https://t.me/clickhouse_ru
    @ajIeks #30972 01:13 PM, 02 Nov 2017
    схема простая, создается таблица с engine kafka, там указывается адрес брокера, топик, группа и формат (из тех что умеет CH) Сама по себе эта таблица ничего не делает, к ней цепляется Materialized View, после этого начинается постоянный забор данных из кафки пачками (настраивается)
  • https://t.me/clickhouse_ru
    @ajIeks #30973 01:13 PM, 02 Nov 2017
    таким образом записи из кафки влетают напрямую в CH и сразу доступны для обработки
  • https://t.me/clickhouse_ru
    @ajIeks #30974 01:15 PM, 02 Nov 2017
    можно без вьюхи, тогда на каждый селект он будет ходить в кафку за данными
  • https://t.me/clickhouse_ru
    @Civiloid #30975 01:17 PM, 02 Nov 2017
    @ajIeks а оно в каком формате желает видеть данные?
  • https://t.me/clickhouse_ru
    @Civiloid #30976 01:17 PM, 02 Nov 2017
    в самой кафке
  • @pookieShmukie #30977 01:17 PM, 02 Nov 2017
    А CH может по HTTP протоколу плюнуть 400 ошибку? Просто в логах CH вообще тишина.
  • https://t.me/clickhouse_ru
    @ajIeks #30978 01:17 PM, 02 Nov 2017
    в тех что умеет CH
  • https://t.me/clickhouse_ru
    @ajIeks #30979 01:17 PM, 02 Nov 2017
    а, в самой кафке строка вроде
  • https://t.me/clickhouse_ru
    @Civiloid #30980 01:18 PM, 02 Nov 2017
    ну то есть в кафку можно писать Native формат кликхауса
  • https://t.me/clickhouse_ru
    @Civiloid #30981 01:18 PM, 02 Nov 2017
    и будет ок?
  • https://t.me/clickhouse_ru
    @ajIeks #30982 01:18 PM, 02 Nov 2017
    в доке еще что-то про cap'n proto написано, но не пробовал
  • https://t.me/clickhouse_ru
    @ajIeks #30983 01:19 PM, 02 Nov 2017
    получается да
  • https://t.me/clickhouse_ru
    @Civiloid #30984 01:19 PM, 02 Nov 2017
    жаль что не протобуф )
  • https://t.me/clickhouse_ru
    @ajIeks #30985 01:19 PM, 02 Nov 2017
    ага ) как-то привычней ) но можно сделать PR ))
  • @vstakhov #30986 01:20 PM, 02 Nov 2017
    cap'n'proto намного лучше протобафа
  • @vstakhov #30987 01:20 PM, 02 Nov 2017
    инфа сотка
  • https://t.me/clickhouse_ru
    @Civiloid #30988 01:21 PM, 02 Nov 2017
    @cebka чем? )
  • https://t.me/clickhouse_ru
    @kshvakov #30989 01:23 PM, 02 Nov 2017
    cap'n'proto там только лиш по той причине что его используют в Cloudflare, если б они использовали protobuf то был бы он )
  • https://t.me/clickhouse_ru
    @Civiloid #30990 01:23 PM, 02 Nov 2017
    я знаю)
  • https://t.me/clickhouse_ru
    @ajIeks #30991 01:23 PM, 02 Nov 2017
    ждем гугл )))
  • https://t.me/clickhouse_ru
    @ajIeks #30992 01:25 PM, 02 Nov 2017
    А так в принципе получается достаточно удобно, если уже есть кафка как общая шина, можно в нее пушить всякие метрики и не заморачиваясь сразу доставлять в том числе в CH
  • @dveim #30993 01:27 PM, 02 Nov 2017
    если бы была возможность прикрутить фильтрацию и мелкие исправления по данным (типа "1,23" => "1.23"), совсем супер было бы
  • https://t.me/clickhouse_ru
    @ajIeks #30994 01:27 PM, 02 Nov 2017
    почему нет?
  • @dveim #30995 01:27 PM, 02 Nov 2017
    так-то для этого придется пайпить на свой код
  • @dveim #30996 01:27 PM, 02 Nov 2017
    а уже потом в КХ
  • https://t.me/clickhouse_ru
    @ajIeks #30997 01:28 PM, 02 Nov 2017
    ну прям сильно простые правки можно на CH делать, в пределах возможного, все равно проходит через SELECT вьюхи
  • https://t.me/clickhouse_ru
    @ajIeks #30998 01:28 PM, 02 Nov 2017
    там и замену и каст сделать можно (при необходимости)
  • @dveim #30999 01:29 PM, 02 Nov 2017
    может быть, и так
    сложно сказать, насколько крупные правки нужны будут, надо смотреть
  • @dveim #31000 01:29 PM, 02 Nov 2017
    возможно, что-то с внешними словарями прикручивается
  • https://t.me/clickhouse_ru
    @ajIeks #31001 01:30 PM, 02 Nov 2017
    можно так кстати сразу обогащать данные )
  • @vstakhov #31002 01:31 PM, 02 Nov 2017
    @Civiloid чем protobuf!
  • @dveim ↶ Reply to #31001 #31003 01:31 PM, 02 Nov 2017
    вот не всегда, иногда кому-то ещё нужен "мусор" именно в таком виде /=
  • @vstakhov #31004 01:31 PM, 02 Nov 2017
    ну а если серьезно, то там zero-copy и вменяемая модель сериализации, как минимум
  • @vstakhov #31005 01:31 PM, 02 Nov 2017
    правда, странный c++ и libkj :\
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #31004 #31006 01:31 PM, 02 Nov 2017
    но wire-size ощутимо больше
  • https://t.me/clickhouse_ru
    @Civiloid #31007 01:32 PM, 02 Nov 2017
    и плюс протобуф нативен для gRPC
  • https://t.me/clickhouse_ru
    @ajIeks #31008 01:32 PM, 02 Nov 2017
    обогащать в том плане что есть исходный набор и докидываем например если это покупки статус контрагента на этот момент, либо что-то еще из справочников
  • https://t.me/clickhouse_ru
    @ajIeks #31009 01:33 PM, 02 Nov 2017
    особенно удобно для фиксации исторических значений (если сразу не приходят)
  • @dveim #31010 01:34 PM, 02 Nov 2017
    а, не так понял
  • @aklin2 #31011 01:43 PM, 02 Nov 2017
    Joined.
  • @aklin2 #31012 01:43 PM, 02 Nov 2017
    Добрый день. Мы реализовали свою агрегатную функцию под специфичную задачу. Можно ли заставить кх подавать в эту функцию уже сортированые данные?
  • @aklin2 #31013 01:43 PM, 02 Nov 2017
    или это решается только сортировкой в подзапросе?
  • @aklin2 #31014 01:46 PM, 02 Nov 2017
    и гарантирует ли сортировка в подзапросе что аггрегация будет выполняться в нужном порядке?
  • @DeamonMV #31015 01:49 PM, 02 Nov 2017
    Доброго времени суток.
    Подскажите как синхронизировать реплики между собой?
    Ситуация получилась след-щая : одна реплика в кластере отстала от своего соседа(второй реплики) на ~600M
    и по этому когда делаешь запрос на подсчет инсертов в распределенную таблицу кол постоянно скажет на эту величену.

    Проверил все отсальные реплики и получается только один шард имеет разброс по репликам.
    Что я делал что бы оно синхронизировалось - сменил лидера в шарде, на ту которая имеет полное количество данных, простым перезапуском одной реплики. Ну и та которая отстает была лидером.
  • А как вы решаете вопрос, что функция выполняется параллельно, для разных кусков данных (пусть и сортированных)?
  • @aklin2 #31017 01:57 PM, 02 Nov 2017
    наш алгоритм сейчас мержит данные из разных потоков и ему не нужны сортированые данные.
  • @aklin2 #31018 01:58 PM, 02 Nov 2017
    но хочется сделать его быстрее, и если бы данные поступали сортироваными, было бы сильно проще
  • @aklin2 #31019 02:03 PM, 02 Nov 2017
    Еще один вопрос - у нашей функции два аргумента и движок кх просто не вызывает её в случае если хоть один аргумент null, такое поведение нормально?
  • https://t.me/clickhouse_ru
    @mktums #31020 02:03 PM, 02 Nov 2017
    k-way merge?
  • @aklin2 #31021 02:05 PM, 02 Nov 2017
    ну вот вопрос умеет ли кликхаус так, или нам нужно самим это делать. если мы перейдем на алгоритм который требует сортированые данные
  • @DeamonMV #31022 02:30 PM, 02 Nov 2017
    сделал подсчет по дням на репликах в проблемно шарде
    и посмотрел где разница, в каких днях и насколько

    387 если подням сравнивать
    и 407М если делать посчет для всей локальной таблици
  • @DeamonMV #31023 02:30 PM, 02 Nov 2017
    Медведев ^
  • @ztlpn #31024 02:34 PM, 02 Nov 2017
    А в чём причина отставания и нагоняется ли оно? Попробуйте посмотреть в таблицу system.replication_queue, нет ли проблем с выполнением лога репликации.
  • @pookieShmukie #31025 02:35 PM, 02 Nov 2017
    Ребят, проблема. Есть большой SQL запрос, который нельзя передать как query параметр. Запрос передается постом, но с файлами которые отдаются через multipart. Как в таком случае пропихнуть сам query в запрос?
  • @pookieShmukie #31026 02:35 PM, 02 Nov 2017
    Кто-то сталкивался с таким?
  • https://t.me/clickhouse_ru
    Не знаю, подойдет ли вам такой вариант, но можно создать view и таки впихнуть запрос в ?query
  • У меня динамически генерируется запрос (
  • @pookieShmukie #31029 02:37 PM, 02 Nov 2017
    Вьюха не подходит. В запросе участвуют данные, которые передаются файлом как временная таблица
  • @pookieShmukie #31030 02:40 PM, 02 Nov 2017
    Если query затолкать в multipart, то падает с empty query
  • @DeamonMV ↶ Reply to #31024 #31031 02:42 PM, 02 Nov 2017
    в очереди на обоих репликах по "1"
  • @pookieShmukie #31032 02:44 PM, 02 Nov 2017
    @garikanet а у вас нет такой проблемы с отправкой файлов и жирным запросом? я имею ввиду ваш клиент, который на php
  • @ztlpn ↶ Reply to #31031 #31033 02:44 PM, 02 Nov 2017
    По "1" это как?
  • https://t.me/clickhouse_ru
    @SpicyCrack3r #31034 02:44 PM, 02 Nov 2017
    Как запустить сервер кликхауса на 0.0.0.0, а то он по дефолту на локалхосте работает?
  • https://t.me/clickhouse_ru
    @SpicyCrack3r #31035 02:45 PM, 02 Nov 2017
    Только в конфиге /etc/clickhouse-server/config.xml править?
  • @DeamonMV #31036 02:46 PM, 02 Nov 2017
    @ztlpn
    :) select count() from system.replication_queue

    SELECT count()
    FROM system.replication_queue

    ┌─count()─┐
    │ 1 │
    └─────────┘

    1 rows in set. Elapsed: 0.004 sec.
  • @DeamonMV #31037 02:46 PM, 02 Nov 2017
    сейчас пусто
  • https://t.me/clickhouse_ru
    @proller ↶ Reply to #31035 #31038 02:47 PM, 02 Nov 2017
    да, поменять на ::
  • @ztlpn ↶ Reply to #31037 #31039 02:49 PM, 02 Nov 2017
    Значит всё хорошо, репликация идёт. Может, какая-то ошибка в конфигурации? Проверьте в system.replicas, что обе реплики смотрят в один путь в ZK.
  • @DeamonMV #31040 02:52 PM, 02 Nov 2017
    не правильно сравнивал. не все данные по дням сравнивал
    вот такой вот дифф по дням получается
    @ztlpn
  • @DeamonMV #31042 02:53 PM, 02 Nov 2017
    получается посыпалось только два дня.
    как их можно засинхронизировать?
  • Нет не сталкивался
  • @garikanet #31044 03:00 PM, 02 Nov 2017
    аттач отдельно файла через \CURLFile + POST query + "Content-Type", "multipart/form-data"
  • @ztlpn ↶ Reply to #31042 #31045 03:07 PM, 02 Nov 2017
    Синхронизировать можно, выполнив DETACH PARTITION и потом ATTACH PARTITION на "правильной" реплике (будет временное окно, когда данных в партиции не будет). Только сначала сделайте бэкап ;) Интересно понять, как так получилось. В .err логе нет ничего интересного?
  • @DeamonMV #31046 03:11 PM, 02 Nov 2017
    ну) приблезительно так и сделали.
    На отстающей сделали детач
    посмотрели каунт по репликам
    стало в 2 раза меньше данных
    сделали аттач обратно но уже на обоих репликах так как эта партиция на обоих репликах ушла в detached
  • @DeamonMV #31047 03:14 PM, 02 Nov 2017
    и теперь количество данных как и было вроде на репликах - одна отстает и одна вроде как нормальная - но теперь между серверами пошла сетевая активность)
  • @ztlpn #31048 03:17 PM, 02 Nov 2017
    ATTACH PARTITION реплицируется - все должны синхронизироваться с репликой-инициатором
  • @DeamonMV #31049 03:25 PM, 02 Nov 2017
    вот такое в err log сыпится на обоих нодах
    2017.11.02 15:23:10.129048 [ 29 ] <Error> executeQuery: Code: 252, e.displayText() = DB::Exception: Too much parts. Merges are processing significantly slower than inserts., e.what() = DB::Exception (from 192.168.1.145:10049) (in query: INSERT *********) VALUES), Stack trace:

    0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x30d6226]
    1. clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x1f) [0x137053f]
    2. clickhouse-server(DB::MergeTreeData::delayInsertIfNeeded(Poco::Event*)+0x39b) [0x3247aeb]
    3. clickhouse-server(DB::ReplicatedMergeTreeBlockOutputStream::write(DB::Block const&)+0x48) [0x3244ce8]
    4. clickhouse-server(DB::PushingToViewsBlockOutputStream::write(DB::Block const&)+0x419) [0x3057589]
    5. clickhouse-server(DB::MaterializingBlockOutputStream::write(DB::Block const&)+0x37) [0x3055847]
    6. clickhouse-server(DB::AddingDefaultBlockOutputStream::write(DB::Block const&)+0x281) [0x33cb951]
    7. clickhouse-server(DB::ProhibitColumnsBlockOutputStream::write(DB::Block const&)+0x5c) [0x33c6d7c]
    8. clickhouse-server(DB::SquashingBlockOutputStream::finalize()+0x3f5) [0x3404425]
    9. clickhouse-server(DB::SquashingBlockOutputStream::writeSuffix()+0x11) [0x3404591]
    10. clickhouse-server(DB::DistributedBlockOutputStream::writeToLocal(DB::Block const&, unsigned long)+0x95) [0x3230515]
    11. clickhouse-server(DB::DistributedBlockOutputStream::writeAsyncImpl(DB::Block const&, unsigned long)+0x245) [0x3236d15]
    12. clickhouse-server(DB::DistributedBlockOutputStream::writeSplitAsync(DB::Block const&)+0x99) [0x3237009]
    13. clickhouse-server(DB::PushingToViewsBlockOutputStream::write(DB::Block const&)+0x419) [0x3057589]
    14. clickhouse-server(DB::MaterializingBlockOutputStream::write(DB::Block const&)+0x37) [0x3055847]
    15. clickhouse-server(DB::AddingDefaultBlockOutputStream::write(DB::Block const&)+0x281) [0x33cb951]
    16. clickhouse-server(DB::ProhibitColumnsBlockOutputStream::write(DB::Block const&)+0x5c) [0x33c6d7c]
    17. clickhouse-server(DB::SquashingBlockOutputStream::finalize()+0x3f5) [0x3404425]
    18. clickhouse-server(DB::SquashingBlockOutputStream::writeSuffix()+0x11) [0x3404591]
    19. clickhouse-server(DB::TCPHandler::processInsertQuery(DB::Settings const&)+0x31e) [0x137d98e]
    20. clickhouse-server(DB::TCPHandler::runImpl()+0x6ab) [0x137e11b]
    21. clickhouse-server(DB::TCPHandler::run()+0x2b) [0x137ebfb]
    22. clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x3aa8a7f]
    23. clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x13b) [0x3aaeebb]
    24. clickhouse-server(Poco::PooledThread::run()+0xb7) [0x3d19d87]
    25. clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0xa5) [0x3ce5dc5]
    26. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7f44665ac6ba]
    27. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f4465bcd3dd]
  • @DeamonMV #31050 03:28 PM, 02 Nov 2017
    отстановил консумеры для этих реплик, что бы не было инсертов
  • https://t.me/clickhouse_ru
    @mvikharev #31051 04:29 PM, 02 Nov 2017
    Joined.
  • Нет - при пропуске битых строк ничего не выводится.
  • Есть TabSeparated. Примерно то же самое... Для получения, можно выполнить mysqldump —tab ...
  • Да, может - если HTTP запрос некорректный или слишком большой. Если слишком большой - то отправляйте POST-ом.
  • Да, сталкивались - при передаче внешних файлов, запрос нельзя передать POST-ом. Это недоработка.
  • Да, это гарантируется.
  • Да, это нормально - агрегатные функции вызываются только для аргументов, где нет NULL. Пока другой специальной обработки NULL в агрегатных функциях не требовалось.
  • @aklin2 #31058 05:10 PM, 02 Nov 2017
    то есть сначала общий датасет будет отсортирован, а потом каждый поток получит по кусочку данных из этого сортированого сета?
  • Результат подзапроса с сортировкой, будет обработан одним потоком.
  • @aklin2 #31060 05:13 PM, 02 Nov 2017
    понятно, спасибо
  • @aklin2 #31061 05:15 PM, 02 Nov 2017
    аргументы нашей фукнции - даты начала и конца интервала, просто показалось что удобно если null будет означать бесконечно раннее начало/окончание интервала
  • Если версия достаточно старая, то не помешает обновить. Например, проблема вида "отстающая реплика может быть лидером" была давно решена.
  • Стоит заменить на ноль (toDateTime(0)).
  • @aklin2 #31064 05:17 PM, 02 Nov 2017
    так и сделали
  • @DeamonMV #31065 05:22 PM, 02 Nov 2017
    @milovidov_an обновляли. Предпоследняя точно должна стоять
    Уточню в течение часа точную версию
  • @garikanet #31067 05:30 PM, 02 Nov 2017
    >>> Возможность загружать модели CatBoost и применять их к данным, хранящимся в ClickHouse.
    А есть примеры ? дока / тесты - на посмотреть ?)
  • Changelog неполный. Пиши дальше :)
  • @ztlpn #31069 05:32 PM, 02 Nov 2017
    yandex/ClickHouse

    ClickHouse is a free analytic DBMS for big data.

  • @garikanet #31070 05:33 PM, 02 Nov 2017
    Спасибо!
  • @ztlpn ↶ Reply to #31068 #31071 05:33 PM, 02 Nov 2017
    Нужны подсказки :)
  • @garikanet #31072 05:40 PM, 02 Nov 2017
    YandexTeam - большой поклон за PARTITION BY )
  • @DeamonMV #31073 05:42 PM, 02 Nov 2017
    мы используем такую версию КХ 1.1.54289
  • Хотя эта версия не очень старая (менее двух месяцев), обновить не помешает.
  • @DeamonMV #31075 05:49 PM, 02 Nov 2017
    обновимся.
    Подскажите пожалуйста а что могут значит вот такого рода папки в локальной таблице
    drwxr-x--- 2 clickhouse clickhouse 4096 Nov 2 17:47 tmp_fetch_20170901_20170902_4360783_4360783_0/
    drwxr-x--- 2 clickhouse clickhouse 4096 Nov 2 16:18 tmp_fetch_20170901_20170904_4360784_4360784_0/
    drwxr-x--- 2 clickhouse clickhouse 4096 Nov 2 17:48 tmp_fetch_20170901_20170905_4360785_4360785_0/
    drwxr-x--- 2 clickhouse clickhouse 4096 Nov 2 17:24 tmp_fetch_20170901_20170906_4360786_4360786_0/
  • Данные, которые скачивались с реплики, но их скачивание было прервано. Временные директории будут удалены через некоторое время.
  • @DeamonMV #31077 05:52 PM, 02 Nov 2017
    после экспериментов с детачем\тачем партиции - та реплика которая отставала теперь опережает
    есть надежда что оно все таки само по себе нормализуется?
    между репликами сейчас идет активность сетевая порядка 800Мбит
  • @milovidov_an #31078 05:55 PM, 02 Nov 2017
    Если данные успешно передаются по сети (в replication_queue нет ошибок), то всё должно быть Ок.
  • @DeamonMV #31079 06:02 PM, 02 Nov 2017
    Спасибо большое. будем наблюдать.
    как закончиттся сетевая активность обновлю КХ
    Под скажите есть какой-то смысл это оформлять в гитхпбе что бы оно оставалось и индексировалось для будущих кто спросит тоже самое?
  • А планируется что-то сделать с этим? ) у меня там куча джоинов и оберток с подзапросами из-за чего запрос большой (
  • @3334085 ↶ Reply to #31066 #31081 06:10 PM, 02 Nov 2017
    Подзапросы все ещё нельзя в VIEW?

    > Запрос CREATE MATERIALIZED VIEW x TO y (позволяет указать существующую таблицу для хранения данных материализованного представления).
  • @DeamonMV #31082 06:13 PM, 02 Nov 2017
    а подскажите переход с init.d на systemd планируется?
  • https://t.me/clickhouse_ru
    @cmdrosmium #31083 06:47 PM, 02 Nov 2017
    systemd-юниты легко пишутся, в принципе
  • https://t.me/clickhouse_ru
    @cmdrosmium #31084 06:47 PM, 02 Nov 2017
    можно и самому намалевать
  • https://t.me/clickhouse_ru
    @salttan ↶ Reply to #31015 #31085 06:55 PM, 02 Nov 2017
    У нас такое случается достаточно регулярно, когда ноды КХ теряют связь с ZooKeeper.
    Некоторые таблицы перестают накатывать изменения.
    Это видно в system.replicas, разница между log_max_index и log_pointer становится большой.
    Я в таких случаях делаю detach/attach таблице с проблемой, она перечитывает очередь и накатывается
  • @DeamonMV #31086 06:58 PM, 02 Nov 2017
    спасибо за наводку
    Tatiana а можите подсказать насколько большая разница может быть ? хоть приблезительно
  • @DeamonMV #31087 06:58 PM, 02 Nov 2017
    насколько она должна быть большой что бы начать реагировать)
  • https://t.me/clickhouse_ru
    @salttan #31088 07:02 PM, 02 Nov 2017
    В документации написано:
    ...
    OR log_max_index - log_pointer > 10
    ...
    Если этот запрос ничего не возвращает - значит всё хорошо.
    https://clickhouse.yandex/docs/ru/system_tables/system.replicas.html
  • Но я не понял причину проблемы - почему реплика отставала. Чтобы разобраться, надо было бы изучить подробнее. И это сильно зависит от вашей инфраструктуры...
  • Есть задача во внутреннем трекере, которая пока не запланирована. Она небольшая - примерно на пол дня, но я пока не уверен, когда сделаем.
  • Пока нет.
  • Супер! Спасибо! У нас такие запросы редко бывают, но бывают )
  • Переход нет - ведь systemd есть не везде, а init скрипты везде работают. Один из разработчиков говорит, что неплохо бы сделать сразу все варианты - init, upstart, systemd. Но я не понимаю, зачем - выглядит как пустая трата времени. В общем, пока отговорили.
  • @DeamonMV #31096 07:10 PM, 02 Nov 2017
    спасибо.
  • Это выглядит, как одна из старых проблем - существовала ситуация, когда длинные мержи мешали переинициализации реплики после восстановления сессии с ZK. Но мы это исправили и уже давно не наблюдали таких проблем.
  • https://t.me/clickhouse_ru
    @salttan #31098 07:11 PM, 02 Nov 2017
    Я написала сюда, и пошла проверить. И нашла одну залипшую таблицу. У нас 1.1.54284
  • @milovidov_an #31099 07:13 PM, 02 Nov 2017
    > У нас 1.1.54284

    Это релиз от 30 августа.
  • https://t.me/clickhouse_ru
    @salttan #31100 07:14 PM, 02 Nov 2017
    Значит, пора :)
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #31095 #31101 07:46 PM, 02 Nov 2017
    вам подкинуть юнит на системд? он простой с виду
  • https://t.me/clickhouse_ru
    @cmdrosmium #31102 07:47 PM, 02 Nov 2017
    я думаю, ничего страшного в пулл-реквесте нет
  • https://t.me/clickhouse_ru
    @cmdrosmium #31103 07:48 PM, 02 Nov 2017
    по крайней мере лично я буду благодарен, может, даже от себя добавлю
  • Да. Заранее спасибо!
  • https://t.me/clickhouse_ru
    @Civiloid #31105 07:55 PM, 02 Nov 2017
    ок, завтра сделаю
  • @garikanet #31106 08:20 PM, 02 Nov 2017
    Обновил Tabix ( master )

    доп. дока: https://tabix.io/doc/tips_ru/

    Log: https://tabix.io/doc/Changelog/
    Tips ru - Tabix

    Tabix DB Gui

  • https://t.me/clickhouse_ru
    @openbsod ↶ Reply to #31106 #31107 08:22 PM, 02 Nov 2017
    Спасибо!
  • @garikanet #31108 08:28 PM, 02 Nov 2017
    Нзч)
  • @DeamonMV #31109 09:09 PM, 02 Nov 2017
    Идея с detach partition была не удачна.
    между репликами пошел обмен данными, в каталоге локальной таблици создались вот такие вот папки
    drwxr-x--- 2 clickhouse clickhouse 4096 Nov 2 20:59 tmp_fetch_20170901_20170911_4360828_4360828_0/
    drwxr-x--- 2 clickhouse clickhouse 4096 Nov 2 21:03 tmp_fetch_20170901_20170912_4360829_4360829_0/
    drwxr-x--- 2 clickhouse clickhouse 4096 Nov 2 20:59

    в них льются данные, место оказалось меньше надо.
    Остановтиь этот процесс просто перезапускам реплик шарда не получилось

    Теперь получается так что та реплика которая отставала имеет намного больше данных чем "нормальная" , плюс "отстающая" реплика теперь при любых раскладах становить лидером. т.е если работают две реплики то если перезапустить "отстающую" на некторое время лидером становится нормальная и потом лидерство снова переходит к " отстающей"

    Подскажите пожалуйста как остановаить это движение?
    Попробовал на отстающей сделать detach partition(для той же партиции где были расхождение) и он отпал по таймауту(
  • @DeamonMV #31110 09:12 PM, 02 Nov 2017
    на сейчас попробую просто выключить проблемную реплику и оставить это дело до завтра.
  • @DeamonMV #31111 09:16 PM, 02 Nov 2017
    сразу спрошу "удаление" на проблемной ноде проблемной партиции решит вопрос?
    КХ перетянет эти данные?
    меня правда беспрокоит то что лидер прыгает
  • https://t.me/clickhouse_ru
    @salttan #31112 09:33 PM, 02 Nov 2017
    detach partition не такая плохая идея, но вот attach два раза делать не стоило
  • https://t.me/clickhouse_ru
    @salttan #31113 09:34 PM, 02 Nov 2017
    на второй реплике все в порядке?
    если да, я бы удалила таблицу с проблемой, и создала заново
    ну или можно попытаться разобраться, что у нее в очереди в ЗуКипере
  • https://t.me/clickhouse_ru
    @salttan #31114 09:35 PM, 02 Nov 2017
    drop partiton реплицируется, партиция удалится на всех репликах
  • @DeamonMV #31115 09:39 PM, 02 Nov 2017
    я detach делал
    ну да вторая нода, которая была типа нормальная, живет и все у нее нормально
    мда. перспектива лезьт чистить очеред в зукипере еще та. но это лучше чем удалять наверное
  • https://t.me/clickhouse_ru
    @salttan #31116 09:39 PM, 02 Nov 2017
    смотря сколько данных в таблице
  • https://t.me/clickhouse_ru
    @salttan #31117 09:40 PM, 02 Nov 2017
    если удалить реплику и создать заново, она все скачает заново
  • @DeamonMV #31118 09:40 PM, 02 Nov 2017
    2.3Т
  • https://t.me/clickhouse_ru
    @salttan #31119 09:40 PM, 02 Nov 2017
    у второй ноды в очереди на репликацию ничего нет?
  • @DeamonMV #31120 09:41 PM, 02 Nov 2017
    подскажите пожалуйста как глянуть
  • https://t.me/clickhouse_ru
    @salttan #31121 09:41 PM, 02 Nov 2017
    system.replication_queue
  • @DeamonMV #31122 09:42 PM, 02 Nov 2017
    запрос сделал на нормальной ноде. толька она получается сейчас и работает.
    :) select * from system.replication_queue

    SELECT *
    FROM system.replication_queue

    Ok.

    0 rows in set. Elapsed: 0.002 sec.
  • https://t.me/clickhouse_ru
    @salttan #31123 09:43 PM, 02 Nov 2017
    на ненормальной должно быть много всего в очереди, по идее
  • @DeamonMV #31124 09:43 PM, 02 Nov 2017
    я ее остановил. она тянула в себя данные и кончалось место. Думаете есть смылс включить и глянуть?
  • https://t.me/clickhouse_ru
    @salttan #31125 09:44 PM, 02 Nov 2017
    посмотрите в ЗуКипере
  • https://t.me/clickhouse_ru
    @salttan #31126 09:45 PM, 02 Nov 2017
    select * from system.zookeeper where path='/{path_to_table}/replicas/{replica}/queue'
  • @DeamonMV #31127 09:47 PM, 02 Nov 2017
    я прямо в зукипер сходил, думаю это должно быть одно и тоже
    [zk: zookeeper-01(CONNECTED) 8] ls /clickhouse/tables/shard01/db.events_local_tv20/replicas/clickhouse-hw-02/queue [queue-0012852250, queue-0012852251, queue-0012852252, queue-0012852257, queue-0012852258, queue-0012852259, queue-0012852253, queue-0012852254, queue-0012852255, queue-0012852256, queue-0012850996, queue-0012850997, queue-0012850998, queue-0012850999, queue-0012852239, queue-0012852240, queue-0012852241, queue-0012852248, queue-0012852249, queue-0012851501, queue-0012852246, queue-0012851500, queue-0012852247, queue-0012852244, queue-0012852245, queue-0012852242, queue-0012852243, queue-0012851504, queue-0012852229, queue-0012851505, queue-0012852228, queue-0012851502, queue-0012851503, queue-0012851508, queue-0012851509,
  • https://t.me/clickhouse_ru
    @salttan #31128 09:48 PM, 02 Nov 2017
    да, одно и то же
  • @DeamonMV #31129 09:48 PM, 02 Nov 2017
    и там таких записей много
  • @DeamonMV #31130 09:51 PM, 02 Nov 2017
    сделать типа rm всех этих записей и запускать ноду?
    но у меня из-за моих манипуляций пошло расхождение по количеству данных в партиции по репликам.
    может тогда очистить очередь руками, потом руками "удалить" данные по партиции на проблемной ноде и запустить ее - и реплики сами разберутся что у кого есть у что надо реплецировать?
  • https://t.me/clickhouse_ru
    @salttan #31131 09:52 PM, 02 Nov 2017
    можно попробовать удалить все файлы от той партиции и запустить ноду
  • https://t.me/clickhouse_ru
    @salttan #31132 09:52 PM, 02 Nov 2017
    тогда наверное места хватит
  • https://t.me/clickhouse_ru
    @salttan #31133 09:53 PM, 02 Nov 2017
    скорее всего в очереди фетчи
  • @DeamonMV #31134 09:54 PM, 02 Nov 2017
    была у меня такая мысль.
    Спасибо большое за помощь - пробовать уже завтра буду.
    Отпишусь - получилось и каким образом
  • 03 November 2017 (154 messages)
  • @milovidov_an #31135 12:53 AM, 03 Nov 2017
    При DETACH PARTITION, партиция переносится в директорию detached на всех репликах.

    При ATTACH PARTITION, берётся партиция из директории detached на том сервере, где выполняется запрос, и добавляется в рабочий набор. На остальных репликах данные для этой партиции скачиваются.

    При этом, на остальных репликах, старые данные в директории detached остаются лежать. Они больше не нужны, но занимают место. Их можно удалить вручную.
  • @Vallder #31136 04:16 AM, 03 Nov 2017
    Joined.
  • @Vallder #31137 04:18 AM, 03 Nov 2017
    /stat@combot
  • @sr_maks1 #31143 06:59 AM, 03 Nov 2017
    Ребята доброе утро! Очередной глупый вопрос - подскажите для JOIN нужно ли перечислять столбцы которые будут выводиться в результате. Имею следующее
  • @sr_maks1 #31145 06:59 AM, 03 Nov 2017
    вопрос такого плана - почему в результирующий JOIN не попали столбцы с правой таблицы
  • @sr_maks1 #31146 07:00 AM, 03 Nov 2017
    при этом
  • @sr_maks1 #31148 07:00 AM, 03 Nov 2017
    то есть явное указание столбцов - выводит столбцы
  • @pookieShmukie #31150 07:01 AM, 03 Nov 2017
    Столбцы нужно явно указывать при работе с джоинами
  • @sr_maks1 ↶ Reply to #31150 #31151 07:02 AM, 03 Nov 2017
    А есть реквест на данную фичу?) или создать.
  • @sr_maks1 ↶ Reply to #31150 #31152 07:02 AM, 03 Nov 2017
    я понимаю, если столбцов сотни и тысячи)
  • @milovidov_an #31153 07:02 AM, 03 Nov 2017
    Известные грабли, давно хотим исправить.
  • Я думаю нечто подобное имеется у ребят в трекере по доработке джоинов, но я думаю можно спросить у них
  • @sr_maks1 ↶ Reply to #31153 #31155 07:03 AM, 03 Nov 2017
    Спасибо. Было б неплохо.
  • https://t.me/clickhouse_ru
    @kshvakov #31156 07:07 AM, 03 Nov 2017
    Еще бы вот такую штуку поправили

    SELECT
    action_date,
    action_at
    FROM
    (
    SELECT
    action_date,
    action_at,
    action_code
    FROM distributed.events
    WHERE (action_date = today()) AND (action_at > (now() - 3600))
    ORDER BY action_at ASC
    LIMIT 1 BY action_code
    LIMIT 2
    )

    → Progress: 229.80 million rows, 2.46 GB (104.05 million rows/s., 1.11 GB/s.) 98%Received exception from server:
    Code: 10. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Not found column action_code in block. There are only columns: action_date, action_at.
  • https://t.me/clickhouse_ru
    @cargeh #31157 08:42 AM, 03 Nov 2017
    Не могу придумать адекватный способ получить DateTime со следующим месяцем, если у меня есть toStartOfMonth(DateTime)

    Т.е есть 2017-10-01, нужно получить 2017-11-01
  • https://t.me/clickhouse_ru
    @cargeh #31158 08:43 AM, 03 Nov 2017
    Пока родился такой монстр: toDateTime(toStartOfMonth(*дата с началом месяца* + (((60 * 60) * 24) * 35)))

    Если есть у кого лучше варианты - буду рад услышать :)
  • @milovidov_an #31159 08:56 AM, 03 Nov 2017
    В новой версии так:
    t + INTERVAL 1 MONTH

    или проще:

    addMonths(t, 1)
  • https://t.me/clickhouse_ru
    @cargeh ↶ Reply to #31159 #31160 08:58 AM, 03 Nov 2017
    О, замечательно! Документация ведь обновляется под новые функции или лучше следить за чейнджлогом и коммитами?
  • https://t.me/clickhouse_ru
    t — это DateTime?
    а что тогда получится, если t=2017-01-31 00:00:00?
    31 февраля, т.е. 3 марта, или 28 февраля?
  • https://t.me/clickhouse_ru
    @alexey_konkov #31162 09:00 AM, 03 Nov 2017
    ну, или даже если просто Date, то вопрос остаётся
  • Круто, спасибо, часто им пользуюсь. Где теперь находятся сохраненные запросы?
  • @kolsys #31164 09:23 AM, 03 Nov 2017
    Joined.
  • @kolsys #31165 09:30 AM, 03 Nov 2017
    Привет. Подскажите по сжатию.
    Проанализировали столбцы, выяснили, что на наших данных львиную долю занимают interger колонки (сотни гигабайт), в то время как строковые жмутся просто прекрасно. Есть ли смысл как-то играться с движками сжатия, чтобы получить бОльшую компрессию именно интовых колонок? Уменьшение производительности в данном случае менее критично, чем место на диске.
  • @sr_maks1 ↶ Reply to #31106 #31166 09:33 AM, 03 Nov 2017
    Респект!
  • Хороший вопрос ))) Востановлю этот ф-ционал - сегодня / завтра поправлю)
  • спасибо, а то у меня там нужные запросы лежат
  • они восстановятся?
  • @garikanet #31170 09:38 AM, 03 Nov 2017
    Должны
  • Если сейчас нужен -> Открываем консоль разработчика -> Application -> Storage -> Local Storage -> Find by key : sqlHistory2

    https://monosnap.com/file/4hC783eJ2kLJNnYgLvtG8XOFkkDSBf
    File "screencast 2017-11-03 12-42-22.mp4"

    Monosnap — the best tool to take & share your screenshots.

  • https://t.me/clickhouse_ru
    @alexey_laptev #31172 10:09 AM, 03 Nov 2017
    Всем привет, что-то tabix не может подключится к БД, пару дней назад все работало - что-то поменялось?
  • https://t.me/clickhouse_ru
    @alexey_laptev #31173 10:10 AM, 03 Nov 2017
    БД работает, приложение с ним работает
  • https://t.me/clickhouse_ru
    @captainDino95 #31174 10:14 AM, 03 Nov 2017
    Такая же проблема
  • https://t.me/clickhouse_ru
    @alexey_laptev #31175 10:14 AM, 03 Nov 2017
    http://joxi.ru/82QQ0Qs1RYPy2d - на сервере ничего не менялось
  • А там в ip или ip:8123 ?
  • https://t.me/clickhouse_ru
    @alexey_laptev #31177 10:17 AM, 03 Nov 2017
    ip:8123
  • https://t.me/clickhouse_ru
  • @garikanet #31179 10:18 AM, 03 Nov 2017
    А версию сервера не помните ?
  • https://t.me/clickhouse_ru
    @captainDino95 #31180 10:20 AM, 03 Nov 2017
    у нас server version 1.1.54236.
  • @garikanet #31181 10:25 AM, 03 Nov 2017
    Спасибо - видимо из за этого, т/к в последних версиях появилось output_format_json_quote_denormals
    Поправлю скоро
  • https://t.me/clickhouse_ru
    @captainDino95 #31182 10:27 AM, 03 Nov 2017
    Спасибо, и огромное спасибо за сам инструмент, очень удобно работать)
  • @garikanet #31183 10:34 AM, 03 Nov 2017
    Обновил Tabix

    - Галка "Server < 1.1.54276" в настройках подключения
    - Вернул - сохраненные запросы
  • есть контакт) спасибо большое, инструмент огонь!)
  • @483905862 #31185 11:21 AM, 03 Nov 2017
    Joined.
  • @boommer #31186 11:28 AM, 03 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
  • @sr_maks1 ↶ Reply to #31187 #31188 11:36 AM, 03 Nov 2017
    😊 не срослось)
  • https://t.me/clickhouse_ru
    @388240071 #31189 11:54 AM, 03 Nov 2017
    Привет всех. Ктото пробывал запускать клик в kubernetes? Есть ли у когото опыт?
  • https://t.me/clickhouse_ru
    @mrphelko #31190 12:01 PM, 03 Nov 2017
    Kubernetes + docker =profit, а для докера есть image
  • https://t.me/clickhouse_ru
    @122870188 #31191 12:02 PM, 03 Nov 2017
    если хотите потерять данные то да )
  • https://t.me/clickhouse_ru
    @mrphelko ↶ Reply to #31191 #31192 12:03 PM, 03 Nov 2017
    Почему потерять?
  • https://t.me/clickhouse_ru
    @122870188 #31193 12:03 PM, 03 Nov 2017
    погуглите "docker aufs problem"
  • https://t.me/clickhouse_ru
    @122870188 #31194 12:05 PM, 03 Nov 2017
    лучше смотреть в сторону kubernetes + cri-o
  • https://t.me/clickhouse_ru
    @mrphelko #31195 12:05 PM, 03 Nov 2017
    Ну я на google cloud тестировал их систему с kubernetes, было все ок
  • https://t.me/clickhouse_ru
    @122870188 #31196 12:06 PM, 03 Nov 2017
    google cloud это совсем другое
  • https://t.me/clickhouse_ru
    @122870188 #31197 12:06 PM, 03 Nov 2017
    там от докера только название
  • https://t.me/clickhouse_ru
    @mrphelko #31198 12:07 PM, 03 Nov 2017
    Да и в Azure, именно в докере тоже все ок
  • https://t.me/clickhouse_ru
    @388240071 #31199 12:07 PM, 03 Nov 2017
    я не потерю данных, а кто работал и имеет опыт клика и куба?
  • https://t.me/clickhouse_ru
    @388240071 #31200 12:09 PM, 03 Nov 2017
    думаю поднмать сначало zookeeper а потом в него запускать клик, вот думаю как лучше сделать
  • https://t.me/clickhouse_ru
    @kshvakov #31201 12:11 PM, 03 Nov 2017
    Вы поиграться хотите с кластером ?
  • https://t.me/clickhouse_ru
    у нас клик в кубе, ничего необычного
  • https://t.me/clickhouse_ru
    @388240071 #31203 12:15 PM, 03 Nov 2017
    нашел вариант (https://github.com/count0ru/k8s-clickhouse) думаю попробывать чтото такое
    count0ru/k8s-clickhouse

    Deployments of Yandex Clickhouse for Kubernetes. Contribute to count0ru/k8s-clickhouse development by creating an account on GitHub.

  • https://t.me/clickhouse_ru
    @mvikharev #31204 12:16 PM, 03 Nov 2017
    интересно, но у нас свои деплойменты
  • https://t.me/clickhouse_ru
    @388240071 #31205 12:19 PM, 03 Nov 2017
    zook возьму https://github.com/kubernetes/contrib/tree/master/statefulsets/zookeeper. А образ клика вы сами собираете или используете официальный @mvikharev
    kubernetes-retired/contrib

    [EOL] This is a place for various components in the Kubernetes ecosystem that aren't part of the Kubernetes core. - kubernetes-retired/contrib

  • https://t.me/clickhouse_ru
    Свой, но основанный на базовом яндексовском
  • https://t.me/clickhouse_ru
    @mvikharev #31207 12:32 PM, 03 Nov 2017
    добавляем туда пару пакетов, конфиги словарей и подобное
  • @boommer #31208 12:37 PM, 03 Nov 2017
    Привет всем. У кого-то есть опыт работы с https://github.com/killwort/ClickHouse-Net ?
    GitHub - killwort/ClickHouse-Net: Yandex ClickHouse fully managed .NET client

    Yandex ClickHouse fully managed .NET client. Contribute to killwort/ClickHouse-Net development by creating an account on GitHub.

  • https://t.me/clickhouse_ru
    @Tanatos #31210 01:02 PM, 03 Nov 2017
    Клик в кубернетесе?
  • @alexandr_andrianov #31211 01:36 PM, 03 Nov 2017
    Парни, есть какой либо воркараунд для сохранения значения null?
  • @alexandr_andrianov #31212 01:39 PM, 03 Nov 2017
    В числовую колонку
  • не работает форматирование столбца
  • @3334085 ↶ Reply to #31211 #31214 01:48 PM, 03 Nov 2017
    Nullable(int) тип?
  • Просто int. Спасибо за наводку
  • Спасибо, работает!
  • Пока нет решения, т.к числа x64 - передаются в виде строк, чтобы поддерживать числа уровня "18017313154537368237" (((
    Может позже придумаю что то
  • хорошо
  • не критично
  • Есть, работает (причем с .net core 1). Там один момент, датаридер нада читать как multiple resultsets
  • @boommer ↶ Reply to #31220 #31221 02:15 PM, 03 Nov 2017
    Могу в личку обратиться?
  • Без проблем)
  • https://t.me/clickhouse_ru
    @apodsoblyaev #31223 02:28 PM, 03 Nov 2017
    В новом релизе есть способ партиционировать таблицу по дням. Есть ли / будет ли механизм альтера таблицы и смены партиционирования? Или по старинке - создаем новую таблицу рядом -> перегоняем все данные -> переключаемся -> удаляем первую?
  • @ztlpn #31225 02:29 PM, 03 Nov 2017
    Да, автоматического конвертирования не предусмотрено.
  • https://t.me/clickhouse_ru
    @apodsoblyaev #31226 02:29 PM, 03 Nov 2017
    Эх :(
  • @z001ev #31227 03:16 PM, 03 Nov 2017
    Подскажите плз, в чем принципиальное отличие при выполнении SELECTа в этих вариантов:
    1) куча MergeTree таблиц нарезанных по дням и доп критерию. Все OPTIMIZED FINAL и каждая из одного куска. Собраны вместе в одну Merge таблицу.
    2) одна таблица с новой фишкой "PARTITION BY", суммарно с таким же количеством кусков как в первом варианте.

    Ведь наверно CH сохраняет крайние значения колонок, по которому делается нарезка партиций и не обращается к лишним кускам?
    А что мешает это делать в таблицах в целом и с аналогичной скоростью выполнять запрос с Merge?

    По тестам выходит что с "PARTITION BY" в разы быстрее чем с нарезкой на отдельные таблицы.
  • https://t.me/clickhouse_ru
    @qweran ↶ Reply to #31227 #31228 03:32 PM, 03 Nov 2017
    Думаю что при использовании условия на _table будет так же быстро как и partition by
  • @ztlpn #31229 03:34 PM, 03 Nov 2017
    > Ведь наверно CH сохраняет крайние значения колонок, по которому делается нарезка партиций и не обращается к лишним кускам?

    Верно.

    > А что мешает это делать в таблицах в целом и с аналогичной скоростью выполнять запрос с Merge?

    Для обычных MergeTree с помесячным партиционированием условие на дату тоже используется для выбора кусков. Конечно, если вы партиционируете не только по дате, но и по чему-либо ещё, то второе условие будет использоваться только в таблице нового стиля.

    Скорее всего проблема с производительностью для Merge-таблицы связана со статическим распределением потоков выполнения. Предположим у вас max_threads=16 и для ровного счёта Merge-таблица над 16 MergeTree. Вы задаёте запрос с условием, под которое подпадают только данные одной таблицы. Получается они будут вычитываться в 1 поток. А для таблицы с PARTITION BY в 16 потоков.
  • https://t.me/clickhouse_ru
    @salttan #31230 05:02 PM, 03 Nov 2017
    У нас случилось интересное.
    Я делала detach partition, а в это время (как выяснилось) шел мерж. Они не поделили system.columns, и в результате во всех трех столбцах с размерами были цифры типа 18446744073709331264.
    1.1.54292
    Потом во время каждого мержа были ошибки типа
    <Error> <table_name> (Data): Possibly incorrect subtraction: 7621 - 170117 = 18446744073709389120, variable <column_name>.bin.file_size
  • https://t.me/clickhouse_ru
    @Shikhragimov #31231 05:02 PM, 03 Nov 2017
    Всем привет!
    вопрос прямой и простой. Можно ли как-то сделать так чтобы формат Pretty выводил не 10 000 строк, а большее количество?
  • https://t.me/clickhouse_ru
    @salttan #31232 05:05 PM, 03 Nov 2017
    select * from system.settings where value='10000'
  • https://t.me/clickhouse_ru
    @ivanpozd #31233 05:08 PM, 03 Nov 2017
    Joined.
  • @ztlpn #31234 05:08 PM, 03 Nov 2017
    Настройка output_format_pretty_max_rows
  • @z001ev ↶ Reply to #31229 #31235 05:09 PM, 03 Nov 2017
    Да кстати, я посылаю запрос в котором участвуют все таблицы, т.е. не ограничиваю его по дате или тому доп.критерию. Например запрос с like на одну из ~100 колонк. Поэтому и ожидаю, что такой запрос должен разойтись параллельно на все таблицы и выполниться за приблизительно одинаковое кол-во времени и там и там. А сладывается ощущение, что с Merge они действительно вычитываются в конце последовательно.

    —----------
    ### clickhouse-partition_by (1498 кусков)

    select count() from test_partition_by where column1 like '%test';
    1 rows in set. Elapsed: 0.914 sec. Processed 291.04 million rows, 6.97 GB (318.44 million rows/s., 7.63 GB/s.)

    select * from test_partition_by where column1 like '%test';
    88 rows in set. Elapsed: 15.183 sec. Processed 291.04 million rows, 7.76 GB (19.17 million rows/s., 511.41 MB/s.)

    —----------
    ### clickhouse-merge+mergeTree (1020 таблиц, состоящих из 1183 кусков) т.е. в основном все из одного куска.

    select count() from test_merge where column1 like '%test';
    1 rows in set. Elapsed: 1.031 sec. Processed 291.04 million rows, 6.97 GB (282.21 million rows/s., 6.76 GB/s.)

    select * from test_merge where column1 like '%test';
    61 rows in set. Elapsed: 120.695 sec. Processed 193.00 million rows, 252.44 GB (1.60 million rows/s., 2.09 GB/s.)

    (ps. в последнем результатов меньше так как в конфиге ограничили время до 120сек.)
  • https://t.me/clickhouse_ru
    @Shikhragimov #31236 05:10 PM, 03 Nov 2017
    Алекс, Татьяна, спасибо - очень помогли
  • https://t.me/clickhouse_ru
    @dovganich #31237 05:24 PM, 03 Nov 2017
    Joined.
  • @ztlpn ↶ Reply to #31235 #31238 05:28 PM, 03 Nov 2017
    Когда запрос читает из MergeTree в несколько потоков, используется work stealing - если один из потоков раньше закончил, он может выполнить часть работы за других потоков. Для Merge-таблицы этого нет.

    Ещё, для Merge отключается оптимизация "перенос условий в PREWHERE". Можно попробовать попереносить условия вручную.
  • @ztlpn ↶ Reply to #31230 #31239 05:32 PM, 03 Nov 2017
    Интересно... Заведёте issue?
  • https://t.me/clickhouse_ru
    @salttan #31240 05:39 PM, 03 Nov 2017
    ok
  • @z001ev ↶ Reply to #31238 #31241 05:41 PM, 03 Nov 2017
    Спасибо, попробую. А для Merge планируется такой механизм добавлять или такой случай слишком частный?
  • @z001ev #31242 05:43 PM, 03 Nov 2017
    Конечно с учетом наличия partition by в будущем он уже вроде и не актуален)
  • @ztlpn #31243 05:54 PM, 03 Nov 2017
    > А для Merge планируется такой механизм добавлять или такой случай слишком частный?

    Вообще, динамическое распределение работы чаще всего сильно оптимальнее статического :) Так что случай не частный, но добавить не так просто. Ну и мы рассчитываем, что с появлением PARTITION BY кейсов для Merge-таблиц станет меньше.
  • Это работает в точности так как задумано и совпадает по поведению с другими СУБД - прибавление месяца/года идёт "с насыщением". То есть, 31 октября + 1 месяц = 30 ноября.
  • Выглядит как дурацкий баг. К счастью, некорректная статистика по размеру столбцов не приводит к плохим последствиям. Если перезапустить сервер, то исправится само. Баг будем искать.
  • @AEDeveloper #31246 06:39 PM, 03 Nov 2017
    Привет, коллеги. Делаю бекап с помозью FREEZE PARTITION. Получиться ли нормальное сжатие, Если упаковать это в gzip ,
  • @AEDeveloper #31247 06:39 PM, 03 Nov 2017
    ?
  • @AEDeveloper #31248 06:41 PM, 03 Nov 2017
    или может посомветуете как лучше всего делать бекап базу?
  • @AEDeveloper #31249 06:41 PM, 03 Nov 2017
    базы*
  • Так как данные уже сжаты, то дополнительно сжатие с помощью gzip либо не даст результата, либо даст небольшой результат.
  • Вариант нормальный. FREEZE PARTITION, затем копирование получившегося бэкапа на удалённый сервер.
  • @milovidov_an #31252 06:47 PM, 03 Nov 2017
    Стоит иметь ввиду, что это только бэкап данных. Определения таблиц из metadata директории тоже не помешает на всякий случай скопировать.
  • @AEDeveloper #31253 06:53 PM, 03 Nov 2017
    спасибо
  • @AEDeveloper #31254 07:47 PM, 03 Nov 2017
    вот думаю как сделать, чтобы сделать фриз партишн сразу всех таблиц в одну shadow/папку
  • @milovidov_an #31255 07:56 PM, 03 Nov 2017
    Если я правильно помню, можно указать префикс. FREEZE PARTITION 2017
  • @AEDeveloper #31256 08:09 PM, 03 Nov 2017
    префикс я указал, но я говорю про разные таблицы
  • @AEDeveloper #31257 08:10 PM, 03 Nov 2017
    по сути щас я делаю 5 таблиц 5 запросов - получается 5 папок shadow/*
  • @milovidov_an #31258 08:10 PM, 03 Nov 2017
    Да, для разных таблиц нет.
  • @AEDeveloper #31259 08:10 PM, 03 Nov 2017
    я решил это скриптиком уже вприципе. после выполнения запроса делаю перемещение и по итогу после всех запросов делается норм папка.
  • @AEDeveloper #31260 08:11 PM, 03 Nov 2017
    Алексей, а сжатие, что в конфиге влияет на скорость работы селектов?
  • @milovidov_an #31261 08:12 PM, 03 Nov 2017
    На всякий случай ещё рекомендую - если версия меньше 54304, то надо обновить - в предыдущих версиях была проблема с тем, что бэкап мог быть неатомарным.
  • @AEDeveloper #31262 08:13 PM, 03 Nov 2017
    хм.
  • @AEDeveloper #31263 08:13 PM, 03 Nov 2017
    ClickHouse 1.1.54304
  • @AEDeveloper #31264 08:13 PM, 03 Nov 2017
    стоит
  • https://t.me/clickhouse_ru
    @valyala #31265 08:14 PM, 03 Nov 2017
    интересно, кликхаус указывает операционке, чтобы она не засоряла файловый кэш данными из смерживаемых кусков? В принципе, итоговый кусок тоже желательно не помещать в файловый кэш, т.к. он может не понадобиться в ближайших запросах. Это могло бы увеличить объем полезно закэшированных данных.
  • Да. Если данные сжаты сильнее (что значит - используется zstd вместо lz4), то SELECT-ы, которые не упираются в IO и используют не слишком сложные вычисления (то есть, для которых разжатие занимает существенную долю времени), будут работать медленнее.

    В целом разница до нескольких раз в худшем случае.
    Оценить можно так - запустить sudo perf top, если в топе LZ4_decompress_fast, то после перехода на zstd возможно заметное замедление.
  • Всё Ок.
  • @AEDeveloper #31268 08:15 PM, 03 Nov 2017
    спасибо большое
  • Поэтому в конфиге можно включить сильное сжатие только для старых данных. Там не очень удобные критерии для понимания - доля куска от всех данных и минимальный размер куска. Сжатие будет делаться при мерже в достаточно большой кусок.
  • Был план такое сделать. Специально добавили для этого поддержку O_DIRECT, причём, с AIO. Для мержей пока не осмелился попробовать включить - надо аккуратно пробовать. Действительно есть соображение, что они вымывают page cache. Но для мелких мержей включать нельзя, потому что есть большое преимущество в том, что они не сразу пишут на диск, а сразу только в dirty pages. Хотели включать по какому-то порогу.
  • https://t.me/clickhouse_ru
    @valyala #31271 08:26 PM, 03 Nov 2017
    можно для начала добавить настройку с минимальным размером куска, для которого использовать O_DIRECT, и выставить ее в 100500Тб по умолчанию, чтобы все работало как раньше. Тогда желающие могли бы потестить эту настройку в продакшн и подобрать оптимальное значение :)
  • @vstakhov #31272 08:26 PM, 03 Nov 2017
    с O_DIRECT там еще геморрой с выравниванием и размером записи
  • Да. И там уже аккуратно всё реализовали для этого.
  • https://t.me/clickhouse_ru
    @valyala #31274 08:32 PM, 03 Nov 2017
    > Специально добавили для этого поддержку O_DIRECT, причём, с AIO
    а для чего там может понадобиться AIO? Насколько я понимаю, мерж просиходит синхронно в один поток?
  • @milovidov_an #31275 08:35 PM, 03 Nov 2017
    Это добавлялось и для чтений и для записей.

    По той причине, что для чтений, в случае не AIO, работает prefetch, что позволяет перекрывать работу с диском и вычисления. В случае O_DIRECT такого нет - это выглядит так, что например, твоя программа 30% времени использует CPU, а 70% времени - диск. Для записей аналогично - запись идёт в кэш, а физически записывается на диск когда-нибудь позже, и вычисления тоже перекрываются с IO.
  • @milovidov_an #31276 08:36 PM, 03 Nov 2017
    Для мержа существенно менее полезно, чем для SELECT-ов. А сначала предполагалось использовать в основном для SELECT-ов - чтобы один класс запросов не портил работу других запросов.
  • @310303758 #31277 08:38 PM, 03 Nov 2017
    Joined.
  • @milovidov_an #31278 08:41 PM, 03 Nov 2017
    В итоге эту настройку не включили ни для каких SELECT-ов. Проблема оказалась в том, что в случае обычных чтений, всё работает магически, тогда как в случае с O_DIRECT, нужно тщательно подбирать размеры буферов, чтобы получить хотя бы такую же производительность. Для RAID-массивов приходится указывать очень большие буферы... (например, обычный размер буфера для чтения - 1 MB, но в случае O_DIRECT на RAID-массиве из 8 дисков с чанком 1 MB получается что оптимальный размер - что-то типа 30 МБ). Тем не менее, в случае холодных данных, при тщательном выборе настроек, удаётся сделать, чтобы O_DIRECT работал несколько быстрее, чем обычные чтения.
  • https://t.me/clickhouse_ru
    @valyala #31279 08:44 PM, 03 Nov 2017
    O_DIRECT для селектов не подходит, зато для мержей больших кусков должно быть то что надо )
  • @milovidov_an #31280 08:44 PM, 03 Nov 2017
    Да, надо попробовать включить на части серверов...
  • https://t.me/clickhouse_ru
    @maxlapshin #31281 08:45 PM, 03 Nov 2017
    короче, оказалось, что магия O_DIRECT слишком хрупкая?
  • Да. Если использовать по серьёзному, то надо писать userspace page cache.
  • https://t.me/clickhouse_ru
    @valyala #31283 08:51 PM, 03 Nov 2017
    мы сейчас выставили максимальный размер куска в 400Гб, на серваках 100Гб оперативки. Получается, что мержи кусков более 100Гб вымывают все полезные данные из файлового кэша, которые используются в наиболее частых селектах.
  • @milovidov_an #31284 08:52 PM, 03 Nov 2017
    Могут вымывать, но возможно, что в Linux всё-таки чуть более умный алгоритм вытеснения из кэша, который учитывает одноразовый sequential доступ?
  • https://t.me/clickhouse_ru
    @valyala #31285 08:53 PM, 03 Nov 2017
    может быть... интересно, как это проверить?
  • @milovidov_an #31286 08:53 PM, 03 Nov 2017
    Можно изучить закэшированность файлов с помощью программы vmtouch.
  • https://t.me/clickhouse_ru
    @valyala #31287 08:54 PM, 03 Nov 2017
    сейчас посмотрим ...
  • https://t.me/clickhouse_ru
    @valyala #31288 09:07 PM, 03 Nov 2017
    блин, vmtouch не входит в стандартную поставку убунты. Придется устанавливать из исходников (
    а пока есть мысли по поводу минимального размера куска для O_DIRECT по умолчанию:
    min_part_size_for_direct_merge = ram_size * (vm.dirty_ratio / 100)
    В убунте vm.dirty_ratio = 20, получается что на сервере со 100Гб оперативы O_DIRECT мерж включится для кусков больше 20Гб
  • @milovidov_an #31289 09:08 PM, 03 Nov 2017
    > блин, vmtouch не входит в стандартную поставку убунты. Придется устанавливать из исходников (

    К счастью, это очень простая утилита.

    > а пока есть мысли по поводу минимального размера куска для O_DIRECT по умолчанию

    Разумно, спасибо!
  • https://t.me/clickhouse_ru
    @valyala #31290 09:22 PM, 03 Nov 2017
    прямо сейчас мержится вот такой кусок:

    :) select source_part_names, result_part_name, total_size_bytes_compressed from system.merges\G

    SELECT
    source_part_names,
    result_part_name,
    total_size_bytes_compressed
    FROM system.merges

    Row 1:
    ──────
    source_part_names: ['20171102_20171103_38116342_38119529_5','20171103_20171103_38119530_38122811_5','20171103_20171103_38122812_38126119_5','20171103_20171103_38126120_38129163_5','20171103_20171103_38129164_38132266_5']
    result_part_name: 20171102_20171103_38116342_38132266_6
    total_size_bytes_compressed: 162198802986

    vmtouch показывает, что этот кусок полностью закэширован:

    $ sudo vmtouch /opt/clickhouse/data/default/events/tmp_merge_20171102_20171103_38116342_38132266_6
    Files: 12
    Directories: 1
    Resident Pages: 2752594/2752594 10G/10G 100%
    Elapsed: 0.35555 seconds
  • https://t.me/clickhouse_ru
    @valyala #31291 09:22 PM, 03 Nov 2017
    т.е. идет вымывание полезных данных из файлового кэша (
  • https://t.me/clickhouse_ru
    @valyala #31292 09:25 PM, 03 Nov 2017
    исходные куски тоже вытесняют из кэша полезные данные (

    $ sudo vmtouch /opt/clickhouse/data/default/events/20171102_20171103_38116342_38119529_5
    Files: 93
    Directories: 1
    Resident Pages: 1695862/8779728 6G/33G 19.3%
    Elapsed: 0.34444 seconds
  • @milovidov_an #31293 09:32 PM, 03 Nov 2017
    Хорошо, значит легко получить пользу.
  • https://t.me/clickhouse_ru
    @valyala #31294 09:33 PM, 03 Nov 2017
    ждем нового релиза :)
  • https://t.me/clickhouse_ru
    @valyala #31295 10:05 PM, 03 Nov 2017
    Минутка рекламы - вышла новая версия chproxy, где добавлена поддержка кэширования ответов - https://github.com/Vertamedia/chproxy/releases/tag/1.6.0

    В кэше есть защита от dogpile effect, предотвращающая одновременную отправку одинаковых запросов в кликхаус. Один запрос уйдет в кликхаус, а остальные будут ждать закэшированного ответа от первого запроса.

    Кэширование ответов может быть полезно при построении отчетов, когда пользователь перезагружает одни и те же отчеты много раз, как это часто происходит в системах аналитики. Например, почасовые отчеты "за сегодня" или отчеты "за текущую неделю/месяц" с разбивкой по дням.
    Vertamedia/chproxy

    chproxy - ClickHouse http proxy

  • 04 November 2017 (22 messages)
  • https://t.me/clickhouse_ru
    @den_crane #31296 03:39 AM, 04 Nov 2017
    Скорее всего все операции записи имеет смысл делать только o-direct через буфер размером 100*X Мб.
  • https://t.me/clickhouse_ru
    @kshvakov #31297 04:57 AM, 04 Nov 2017
    Мы тоже наблюдаем проблему с вымыванием кэша из-за мерджей и записи новых данных, и, я думаю, нам бы очень помогла "ручка" чтоб можно было настроить работу КХ с мерджами и записью через O_DIRECT
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31295 #31298 05:03 AM, 04 Nov 2017
    Звучит отлично, нужно будет попробовать на запросах от Графаны, там мы как раз видим проблему с одинаковыми запросами, но пока решение было: Nginx + возможность выставить round в плагине
  • @pavel_maksimow #31299 10:35 AM, 04 Nov 2017
    @garikanet транспонирование таблицы огонь
  • @ckrest #31300 12:09 PM, 04 Nov 2017
    Joined.
  • Да очень удобная ф-ция)
  • @3334085 ↶ Reply to #31301 #31302 02:55 PM, 04 Nov 2017
    А транспонирование где сейчас доступно?
  • @3334085 ↶ Reply to #31303 #31304 04:53 PM, 04 Nov 2017
    Круто но я уже подумал что это в ch появилось :(
  • https://t.me/clickhouse_ru
    @kshvakov #31305 07:11 PM, 04 Nov 2017
    А это действительно так сильно нужно в клиенте ?
  • Если вы про tabix, то мне это очень облегчает проводить анализ данных в широких таблицах
  • @61322181 ↶ Reply to #31183 #31307 08:10 PM, 04 Nov 2017
    хороший инструмент, но что с огнелисом?
  • Лиса не поддерживается, только хрониум : Chrome,opera,yabrowser

    Точнее так, а постараюсь поправить чтобы он запускался хотя бы, но будет большое красное предупреждение)
  • @61322181 ↶ Reply to #31308 #31309 08:19 PM, 04 Nov 2017
    я в общем то поэтому и спрашиваю ) каков её фатальный недостаток?
  • https://t.me/clickhouse_ru
    @shuttie #31310 08:26 PM, 04 Nov 2017
    Chrome is new IE6
  • Недостатка нет в самой лисе, недостаток и ошибка tabix изначально был выбран плохой framework - angular 1 (
    Получилось что в лисе очень медленно происходит обновление и рендеринг, т.е после нажатия на кнопку хром тратит 10мс, в лисе 100мс и это все очень заметно... просто "лагает" в ней)))

    В мечтах уйти на другой фреймфорк в табиксе)))

    А пока Requirements:
    Google Chrome version up 55 )
  • @61322181 ↶ Reply to #31311 #31312 08:28 PM, 04 Nov 2017
    Спасибо за развёрнутый ответ :)
  • https://t.me/clickhouse_ru
    @shuttie ↶ Reply to #31311 #31313 08:35 PM, 04 Nov 2017
    Кстати, а Firefox 57 пробовали? Там розовые пони какают бабочками так быстро, что даже на глаз заметно.
  • Да читал про него, что они все переписали в рендрере. Пока не пробовал, но попробую самому интересно - как этот старый и "весёлый" фремворк там себя проявит)))
    Кросбраузерность это вообще печаль и ресурсов просто "не ма" поддерживать что то кроме хрома в macos, баги и ошибки в других браузерах я правлю после жалоб юзеров : так заработало в Opera и YaBrowser. Скоро заведу FF
  • Обновил tabix
    Быстро потестил, теперь работает в FF 56, Safari, вроде и не лагает)
    Но хром онли))
  • @garikanet #31316 09:39 PM, 04 Nov 2017
    @milovidov_an на Highload планируете отдельный meetup по CH, как год назад?
  • @milovidov_an #31317 09:43 PM, 04 Nov 2017
    Да.

    Но я не стал ничего бронировать (аудитории маленькие и непонятно было с временем, чтобы не пересекалось с докладом).

    Поэтому надежда снова на то, чтобы в какой-то комнате вписать в расписание маркером.
  • 05 November 2017 (9 messages)
  • https://t.me/clickhouse_ru
    @degibenz #31319 10:56 AM, 05 Nov 2017
    Joined.
  • @alex13dgh #31320 05:25 PM, 05 Nov 2017
    Joined.
  • @pavel_maksimow #31321 05:40 PM, 05 Nov 2017
    Кто вкурсе, какой порядок аргументов в функции argMaxIf док-ии пока нет по ней
  • https://t.me/clickhouse_ru
    @feriat #31322 05:41 PM, 05 Nov 2017
    Как и все -If : сначала колонка по которой аргмакс брать, потом условие.
  • https://t.me/clickhouse_ru
    @trinitroturbotron #31323 05:51 PM, 05 Nov 2017
    Я говорю:
    CREATE MATERIALIZED VIEW if not exists mybase.zuzuzu ...

    А мне говорят:
    DB::Exception: Table mybase..inner.zuzuzu already exists..

    А дропнуть mybase.zuzuzu нельзя, её нет:
    DB::Exception: Table mybase.zuzuzu doesn't exist..

    Чё происходит-то? ) А этот иннер-то как дропать?
    Перед этим возможно админы жесточайше ребутнули сервак посреди выполнявшегося первого указанного в этом посте запроса.
  • https://t.me/clickhouse_ru
    @Sablast ↶ Reply to #31323 #31324 05:55 PM, 05 Nov 2017
    "Если где-то нет кого-то, значит кто-то где-то есть! Только где он, этот кто-то, и куда он мог залезть?"
    Поищите в SELECT * FROM system.tables, вдруг поможет
  • https://t.me/clickhouse_ru
    @trinitroturbotron #31325 05:56 PM, 05 Nov 2017
    Ну найду я там этот иннер. Но сделать-то с ним я ничего не могу.
  • https://t.me/clickhouse_ru
    @Sablast #31326 05:59 PM, 05 Nov 2017
    ну а кроме innera там есть основная таблица с именем zuzuzu и движком MaterializedView?
  • @ztlpn ↶ Reply to #31325 #31327 06:02 PM, 05 Nov 2017
    Почему? Если заквотировать обратными кавычками, то всё можно.
  • 06 November 2017 (79 messages)
  • https://t.me/clickhouse_ru
    @rboyko #31328 06:58 AM, 06 Nov 2017
    Ребят, подскажите пожалуйста, где почитать про partition by? Что то кроме тестов на гитхабе больше ничего найти не могу...
  • https://t.me/clickhouse_ru
    @kshvakov #31329 08:14 AM, 06 Nov 2017
    А что осталось непонятным ?
  • @ztlpn ↶ Reply to #31328 #31330 09:36 AM, 06 Nov 2017
    Нормальная документация скоро будет. Если есть вопросы, задавайте тут, отвечу 🙂
  • https://t.me/clickhouse_ru
    @kshvakov #31331 09:37 AM, 06 Nov 2017
    Яндекс уже использует кастомное партиционирование в продакшене ? :)
  • @ztlpn #31332 09:38 AM, 06 Nov 2017
    Насколько я знаю, нет :)
  • https://t.me/clickhouse_ru
    @rboyko ↶ Reply to #31330 #31333 09:44 AM, 06 Nov 2017
    Понял, спасибо! Просто увидел, что при создании таблицы с partition by нет дополнительных параметров в движке таблицы (индекс, ключ сэмплирования, размер блока). Не понятно куда их передавать...
  • @ztlpn #31334 09:51 AM, 06 Nov 2017
    Выражение индекса задаётся с помощью ORDER BY, ключ сэмплирования с помощью SAMPLE BY а размер блока вот так: SETTINGS index_granularity = 8192 (не обязательно). Ещё в SETTINGS теперь можно потаблично задавать разные тонкие настройки из https://github.com/yandex/ClickHouse/blob/master/dbms/src/Storages/MergeTree/MergeTreeSettings.h
  • https://t.me/clickhouse_ru
    @rboyko #31335 09:55 AM, 06 Nov 2017
    Спасибо! Это очень круто!
  • @romakoks #31336 11:17 AM, 06 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @cmdrosmium #31337 12:59 PM, 06 Nov 2017
    вопрос для любителей поиграться с логами: никого не интересует плагин для fluentd к кликхаусу?
  • https://t.me/clickhouse_ru
    @oZZyTOP #31338 01:00 PM, 06 Nov 2017
    шо по чем?
  • https://t.me/clickhouse_ru
    @cmdrosmium #31339 01:03 PM, 06 Nov 2017
    я намалевал плагин для отправки данных из fluentd в кликхаус по HTTP, и думаю, где его держать — в корпоративном репозитории или на гитхабе
  • https://t.me/clickhouse_ru
    @oZZyTOP #31340 01:04 PM, 06 Nov 2017
    с этого места подробнее
  • https://t.me/clickhouse_ru
    @oZZyTOP #31341 01:05 PM, 06 Nov 2017
    в каком виде данные на флюентд прилетать должны?
  • https://t.me/clickhouse_ru
    @openbsod ↶ Reply to #31337 #31342 01:07 PM, 06 Nov 2017
    очень!
  • https://t.me/clickhouse_ru
    я сейчас его тестирую на флюентовском @type http, но, как я понял, внутри самого флюента все логи становятся JSON'ами
  • https://t.me/clickhouse_ru
    @oZZyTOP #31344 01:11 PM, 06 Nov 2017
    а на фход подать можно простоплейн текст или все же надо тоже в json?
  • https://t.me/clickhouse_ru
    @oZZyTOP #31345 01:11 PM, 06 Nov 2017
    ну вообще нужное дело
  • https://t.me/clickhouse_ru
    @oZZyTOP #31346 01:11 PM, 06 Nov 2017
    а чем данные из кликхауса для визуализации забераете?
  • https://t.me/clickhouse_ru
    @cmdrosmium #31347 01:11 PM, 06 Nov 2017
    ты знаешь флюент? он полученные данные может сам парсить
  • https://t.me/clickhouse_ru
    @cmdrosmium #31348 01:12 PM, 06 Nov 2017
    я ещё не задумывался этим вопросом, для начала хочу складывать все логи с боевых серверов в одно место =)
  • https://t.me/clickhouse_ru
    @cmdrosmium #31349 01:12 PM, 06 Nov 2017
    а ELK не хочу брать по религиозным соображениям
  • https://t.me/clickhouse_ru
    @oZZyTOP ↶ Reply to #31347 #31350 01:13 PM, 06 Nov 2017
    это я в курсе, мне было интересно все стандартно или все же какие-то ограничения есть
  • https://t.me/clickhouse_ru
    @cmdrosmium #31351 01:14 PM, 06 Nov 2017
    по идее, ограничений никаких
  • https://t.me/clickhouse_ru
    @cmdrosmium #31352 01:14 PM, 06 Nov 2017
    через час закину на гитхаб со своими конфигами, там уже посмотрим
  • https://t.me/clickhouse_ru
    @oZZyTOP #31353 01:16 PM, 06 Nov 2017
    о супер
  • https://t.me/clickhouse_ru
    @oZZyTOP #31354 01:16 PM, 06 Nov 2017
    остался вопрос веб морды
  • https://t.me/clickhouse_ru
    @openbsod ↶ Reply to #31352 #31355 01:16 PM, 06 Nov 2017
    😍
  • https://t.me/clickhouse_ru
    @openbsod #31356 01:16 PM, 06 Nov 2017
    Что интересует конкретно, визуализация данных, хранящихся в CH?
  • https://t.me/clickhouse_ru
    @ajIeks ↶ Reply to #31343 #31357 01:18 PM, 06 Nov 2017
    там messagepack используется как стандартный способ сериализации, а на выходе уже то угодно
  • https://t.me/clickhouse_ru
    @cmdrosmium #31358 01:20 PM, 06 Nov 2017
    как я выяснил опытным путём, при попадании единицы лога вызывается функция плагина format(tag, time, record), внутри которой я сделал TSV плюс пара приколов
  • https://t.me/clickhouse_ru
    @cmdrosmium #31359 01:21 PM, 06 Nov 2017
    могу подробнее описать свои изыскания, но это уже оффтопик =)
  • https://t.me/clickhouse_ru
    @ajIeks #31360 01:21 PM, 06 Nov 2017
    ну и на вот это можно посмотреть https://github.com/flant/loghouse
    GitHub - flant/loghouse: Ready to use log management solution for Kubernetes storing data in ClickHouse and providing web UI.

    Ready to use log management solution for Kubernetes storing data in ClickHouse and providing web UI. - GitHub - flant/loghouse: Ready to use log management solution for Kubernetes storing data in C...

  • https://t.me/clickhouse_ru
    @cmdrosmium #31361 01:23 PM, 06 Nov 2017
    я смотрел на него, это было буквально в тот день, когда я сам загорелся идеей fluentd-clickhouse. но у них там целая система со всеми плюшками, а у меня только один плагин
  • https://t.me/clickhouse_ru
    @ajIeks ↶ Reply to #31358 #31362 01:23 PM, 06 Nov 2017
    а не def emit(tag, es, chain) ?
  • https://t.me/clickhouse_ru
    @cmdrosmium #31363 01:24 PM, 06 Nov 2017
    при этом там упор на кубернетис, я не смог разобраться, можно ли его перестроить под себя
  • https://t.me/clickhouse_ru
    https://docs.fluentd.org/v0.12/articles/plugin-development
    # This method is called when an event reaches to Fluentd.
    # Convert the event to a raw string.
    def format(tag, time, record)
    [tag, time, record].to_json + "\n"
    ## Alternatively, use msgpack to serialize the object.
    # [tag, time, record].to_msgpack
    end
    Writing plugins | Fluentd

    To install a plugin, please put the ruby script in the /etc/fluent/plugin directory.

  • https://t.me/clickhouse_ru
    @ajIeks #31365 01:25 PM, 06 Nov 2017
    может то что нужно? https://github.com/ento/fluent-plugin-out-http
    fluent-plugins-nursery/fluent-plugin-out-http

    A generic fluentd output plugin for sending logs to an HTTP endpoint. - fluent-plugins-nursery/fluent-plugin-out-http

  • @sr_maks1 #31366 01:25 PM, 06 Nov 2017
    Ребят подскажите, что то туплю user IN splitByChar(',', 'a1,a2'))

    Received exception from server:
    Code: 53. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Type mismatch in IN or VALUES section. Expected: String. Got: Array.
  • https://t.me/clickhouse_ru
    не знал про него! и я бы, наверное, сам перешёл на него, если б не тот момент, что он не поддерживает буфферизацию.
  • https://t.me/clickhouse_ru
    @cargeh ↶ Reply to #31366 #31368 01:32 PM, 06 Nov 2017
    Ну splitByChar возвращает массив, а IN ожидает String :)
  • @sr_maks1 #31369 01:32 PM, 06 Nov 2017
    сделал так arrayJoin(splitByChar(
  • @sr_maks1 ↶ Reply to #31368 #31370 01:32 PM, 06 Nov 2017
    )) повышаю вас до капитана)
  • https://t.me/clickhouse_ru
    @cargeh ↶ Reply to #31370 #31371 01:32 PM, 06 Nov 2017
    так а какой ответ вы ожидали?)
  • https://t.me/clickhouse_ru
    @ajIeks ↶ Reply to #31367 #31372 01:32 PM, 06 Nov 2017
    для буферизации есть плагин ) в конце на странице указано на него https://github.com/kazegusuri/fluent-plugin-bufferize
    kazegusuri/fluent-plugin-bufferize

    fluent-plugin-bufferize - A fluentd plugin that enhances existing non-buffered output plugin as buffered plugin.

  • https://t.me/clickhouse_ru
    @ajIeks #31373 01:34 PM, 06 Nov 2017
    ну или можно посмотреть как сделаны оба и сделать свой как хочется )
  • @ztlpn ↶ Reply to #31366 #31374 01:40 PM, 06 Nov 2017
    has(splitByChar(',', 'a1,a2'), user)
  • @sr_maks1 ↶ Reply to #31374 #31375 01:40 PM, 06 Nov 2017
    Круто!
  • https://t.me/clickhouse_ru
    а, я сразу полез в код =)
    тогда остаётся понять, как его сконфигурировать (выставить TSV или другой кликхаусный формат в body, как задать нужный URI etc), и можно пускать
  • https://t.me/clickhouse_ru
    @cmdrosmium #31377 01:41 PM, 06 Nov 2017
    но я для начала свой напишу
  • @sr_maks1 ↶ Reply to #31374 #31378 01:57 PM, 06 Nov 2017
    SELECT has(splitByChar(',', 'a1,a2'), user)

    Received exception from server:
    Code: 47. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Unknown identifier: user.
  • @sr_maks1 #31379 01:57 PM, 06 Nov 2017
    Кроме этого как написано
  • @sr_maks1 #31380 01:57 PM, 06 Nov 2017
    .....должен быть константой.
  • @sr_maks1 #31381 01:57 PM, 06 Nov 2017
    Ну то есть не подойдет
  • @ztlpn #31382 01:58 PM, 06 Nov 2017
    Да, действительно
  • @sr_maks1 #31383 02:03 PM, 06 Nov 2017
    Хотя если честно - финтить ушами чтобы из строки получить выражение для IN - занятие странное)) неужели нет готовых фич?)
  • @ztlpn ↶ Reply to #31380 #31384 02:14 PM, 06 Nov 2017
    Документация тут отстаёт - это уже давно не так :)
  • @ztlpn #31385 02:17 PM, 06 Nov 2017
    А ошибка Unknown identifier: user - значит нет такого столбца в таблице.
  • @sr_maks1 #31386 02:49 PM, 06 Nov 2017
    Кхм. Как я понял - has проверка наличия элемента. То есть во первых будет тип операции булевский, во вторых если брать конкретно эту строчку - то для таблицы будет осуществляться поиск всех user и сравниваться с полученным при сплите результатом. И первое и второе не подходит. Например
  • @sr_maks1 #31388 02:50 PM, 06 Nov 2017
    select * from my_table where id='e5ce8d13-54b7-4ec3-8966-e50a51847aa7' and user IN (select arrayJoin(splitByChar(',','test1,test2')));
  • @sr_maks1 #31389 02:50 PM, 06 Nov 2017
    точнее даже так
  • @sr_maks1 #31390 02:51 PM, 06 Nov 2017
    select * from my_table where id=:id and user IN (select arrayJoin(splitByChar(',',:users)));
  • @sr_maks1 #31391 02:51 PM, 06 Nov 2017
    где :id, :users - подстановка извне
  • @ztlpn #31392 02:55 PM, 06 Nov 2017
    > будет тип операции булевский

    Не понял, а какой нужен? Вы же в результат потом в булевском выражении используете.

    > будет осуществляться поиск всех user и сравниваться с полученным при сплите результатом

    А как бы хотелось? По индексу?
  • @sr_maks1 #31394 03:01 PM, 06 Nov 2017
    посмотрел еще раз. Все понял. По поводу индекса - не знаю. Все зависит от реализации has.
  • @ztlpn #31395 03:07 PM, 06 Nov 2017
    На самом деле ваш способ скорее всего лучше :) Если в :users много разных юзеров, IN будет эффективнее - так как поиск будет по хэш-таблице. Индекс для IN тоже может использоваться (если он есть) - но только в случае константных выражений, а не подзапросов. Так что если строка :users константная, имеет смысл её рассплитить на клиенте и уже так посылать в IN.
  • https://t.me/clickhouse_ru
    @cmdrosmium #31396 03:35 PM, 06 Nov 2017
    если кто-нибудь ещё интересуется плагином для fluentd, то вот https://github.com/kam1sh/fluent-plugin-clickhouse
    kam1sh/fluent-plugin-clickhouse

    Fluentd output plugin to Yandex ClickHouse. Contribute to kam1sh/fluent-plugin-clickhouse development by creating an account on GitHub.

  • https://t.me/clickhouse_ru
    @openbsod ↶ Reply to #31396 #31397 03:41 PM, 06 Nov 2017
    👍
  • https://t.me/clickhouse_ru
    @openbsod #31398 03:48 PM, 06 Nov 2017
    Эта ситуация с ISO и unixtime, похоже, является серьезным камнем преткновения. В свое время тоже пришлось избавляться от этого минуса довольно-таки топорным способом..
  • https://t.me/clickhouse_ru
    @openbsod #31399 03:49 PM, 06 Nov 2017
    Не сочтите, пожалуйста, за рекламу..
  • https://t.me/clickhouse_ru
    @openbsod #31400 03:49 PM, 06 Nov 2017
    openbsod/nginx2clickhouse

    Parsing and sending nginx logs to clickhouse db real-time - openbsod/nginx2clickhouse

  • https://t.me/clickhouse_ru
    @cmdrosmium #31401 04:17 PM, 06 Nov 2017
    там был какой-то баг с парсингом, как я помню, и вроде как он уже исправлен
  • https://t.me/clickhouse_ru
    @cmdrosmium #31402 04:18 PM, 06 Nov 2017
    это не так страшно, я сам всё мечтаю о возможности указать другую таймзону в HTTP-запросе
  • https://t.me/clickhouse_ru
    @openbsod #31403 04:21 PM, 06 Nov 2017
    Да, на тот момент полугодовой давности было актуально. Это не отменяет ужасного качества кода этой моей "утилиты", конечно.
  • @dr_gavrikov #31404 04:41 PM, 06 Nov 2017
    Коллеги, а можно как-то узнать количество строк в запросе КХ?
  • @dr_gavrikov #31405 04:41 PM, 06 Nov 2017
    ну то, Что внизу в результате запроса показывается вывести в отдельный столбец например
  • https://t.me/clickhouse_ru
    @burunduk3 #31406 05:27 PM, 06 Nov 2017
    Вроде как везде, SELECT COUNT(*) …
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31405 #31407 05:40 PM, 06 Nov 2017
    Если я правильно понял, в чем не уверен, то вывести те данные которые clickhouse-client пишет. Есть вот такой формат https://clickhouse.yandex/docs/en/formats/json.html в котором эти данные есть
  • @dr_gavrikov #31408 05:41 PM, 06 Nov 2017
    видимо да, сам только что нашел, спасибо
  • 07 November 2017 (101 messages)
  • @gtelegin #31409 05:58 AM, 07 Nov 2017
    Joined.
  • @k0dg1k #31410 07:36 AM, 07 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @voldemarkorenev #31411 08:15 AM, 07 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @the_real_jkee #31413 09:18 AM, 07 Nov 2017
    Перлы Лёши Миловидова с публичных выступлений в развлекательных целях :)
  • https://t.me/clickhouse_ru
    @kshvakov #31414 09:19 AM, 07 Nov 2017
    👍
  • https://t.me/clickhouse_ru
    @the_real_jkee #31415 09:19 AM, 07 Nov 2017
    В CH пока нет Update'ов. Но вы держитесь.
    В CH Update'ы будут!
  • https://t.me/clickhouse_ru
    @Shegloff #31416 09:19 AM, 07 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @kshvakov #31417 09:22 AM, 07 Nov 2017
    теперь я нашел объяснение для ряда наших задач Непонятно зачем мы так сделали, но вероятно в этом есть скрытый смысл )))
  • https://t.me/clickhouse_ru
    @Sfinks80 #31418 09:23 AM, 07 Nov 2017
    стикерпак нужен, обязательно!
  • https://t.me/clickhouse_ru
    @feriat ↶ Reply to #31418 #31419 09:23 AM, 07 Nov 2017
    команда работает над этим
  • https://t.me/clickhouse_ru
    @feriat ↶ Reply to #31417 #31420 09:24 AM, 07 Nov 2017
    Лёша говорит, что такого не говорил 😞
  • https://t.me/clickhouse_ru
    @feriat ↶ Reply to #31420 #31421 09:24 AM, 07 Nov 2017
    Однако в документик высказывание попало
  • https://t.me/clickhouse_ru
    @kshvakov #31422 09:25 AM, 07 Nov 2017
    Теперь придётся сказать )
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31423 09:38 AM, 07 Nov 2017
    Это не Миловидов, и я, каюсь, забыл имя и фамилию, но по-моему вполне достойно того канала
  • https://t.me/clickhouse_ru
    @archimed_shaman #31425 10:00 AM, 07 Nov 2017
    SELECT dictGetFloat64OrDefault('normalization', 'B', (toDate('2017-09-01'), 'fsdfds'), CAST(10. AS Float64))

    Received exception from server:
    Code: 368. DB::Exception: Received from server:9000, ip. DB::Exception: Bad cast from type N2DB11ColumnConstI13StrongTypedefISt6vectorINS_5FieldESaIS3_EENS_8TupleTagEEEE to N2DB11ColumnTupleE.
  • https://t.me/clickhouse_ru
    @archimed_shaman #31426 10:00 AM, 07 Nov 2017
    это баг или фича? :)
  • @milovidov_an #31427 10:10 AM, 07 Nov 2017
    Это Юра, замечательный разработчик из Метрики.
  • https://t.me/clickhouse_ru
    @ValarMorghuliis #31429 10:12 AM, 07 Nov 2017
    Всем привет, используем для изменяемых данных движок таблицы ReplacingMergeTree для автоматической дедупликации. Столбец с версией updateAt (dateTime)
    Заметил, что если делаем запрос LIMIT 1 то вытаскивается последняя именно запись, то есть нужная. Этому можно верить, или там вероятностная выборка и не гарантирует сортировку по колонки с версией?
  • https://t.me/clickhouse_ru
    @kshvakov #31430 10:16 AM, 07 Nov 2017
    Пользуясь случаем спрошу про "интересный алгоритм" работы алиасов, может его сделать еще интереснее, чтоб запросы вида
    SELECT
    SUM(imps) AS imps,
    SUM(imps + clicks) AS all
    FROM T

    работали
  • https://t.me/clickhouse_ru
    @kshvakov #31431 10:17 AM, 07 Nov 2017
    А ещё интересна судьба вот этих проблем:
    https://github.com/yandex/ClickHouse/issues/859
    https://github.com/yandex/ClickHouse/issues/971
    https://github.com/yandex/ClickHouse/issues/1087
    https://github.com/yandex/ClickHouse/issues/1164

    )
    Wrong query optimisation throws out required columns from subqueries. #859

    Query below works fine. SELECT * FROM ( SELECT learnerHash, passed - eventTime AS diff FROM statements GLOBAL ANY INNER JOIN ( SELECT learnerHash...

  • Ни то, ни другое. В случае словарей со сложным ключом, надо обернуть ключ в кортеж - например, написать tuple(10.0).
  • @milovidov_an #31433 10:20 AM, 07 Nov 2017
    Кто на Highload++ хочет встречаться сегодня? Мы можем захватить какую-нибудь переговорку. Предлагайте, какое удобное время?
  • https://t.me/clickhouse_ru
    попробую с другой стороны зайти - что должно быть четвертым аргументом? ключ? значение?
    если значение
    > SELECT dictGetFloat64OrDefault('normalization', 'B', (toDate('2017-09-01'), 'fsdfds'), tuple(CAST(10. AS Float64)))
    > Received exception from server:
    > Code: 43. DB::Exception: Received from server:9000, ip. DB::Exception: Illegal type Tuple(Float64) of fourth argument of function dictGetFloat64OrDefault, must be Float64..

    если ключ:
    > SELECT dictGetFloat64OrDefault('normalization', 'B', (toDate('2017-09-01'), 'fsdfds'), (toDate('2017-09-01'), ''))
    > Received exception from server:
    > Code: 43. DB::Exception: Received from server:9000, ip. DB::Exception: Illegal type Tuple(Date, String) of fourth argument of function dictGetFloat64OrDefault, must be Float64..
  • @renatko #31435 10:22 AM, 07 Nov 2017
    Было бы здорово. Любое время кроме обеденного будет ок, но оно у всех разное.
  • https://t.me/clickhouse_ru
    @archimed_shaman #31436 10:26 AM, 07 Nov 2017
    словарь ComplexKeyHashed, ключ (Date, String) три атрибута Float64
  • @milovidov_an #31437 10:26 AM, 07 Nov 2017
    А когда обеды заканчиваются? Я как будто ничего не выбрал.
  • Третий аргумент (ключ) - кортеж. Четвёртый (default) - Float64.
  • @milovidov_an #31439 10:28 AM, 07 Nov 2017
    Если так не работает - значит баг и надо смотреть подробнее.
  • @renatko ↶ Reply to #31437 #31440 10:28 AM, 07 Nov 2017
    Кажется 15:30-16:30 последние. Талончик на ресепшене надо было взять
  • https://t.me/clickhouse_ru
    ну в первом варианте я в третий аргумент передавал кортеж, в четвертый - Float64 как раз, и получал инвалид каст, причем по названиям судя, ощущение, что из плюсовых потрохов эксепшен
  • Могу в любое время
  • @AntonVedeneev #31443 11:01 AM, 07 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @SpicyCrack3r #31444 11:10 AM, 07 Nov 2017
    Привет, можно как то сделать регистронезависимый поиск?
  • @AntonVedeneev #31445 11:15 AM, 07 Nov 2017
    Joined.
  • @AntonVedeneev #31446 11:16 AM, 07 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @kenota ↶ Reply to #31444 #31447 11:16 AM, 07 Nov 2017
    Сделать lowerUTF8 на колонку?
  • @newffy ↶ Reply to #31433 #31448 11:19 AM, 07 Nov 2017
    Алексей, как вас найти на хайлоад?
  • https://t.me/clickhouse_ru
    @SpicyCrack3r #31449 11:21 AM, 07 Nov 2017
    Колонка с именами, так что перевести ее в нижний регистр не получается. Или lowerUTF8 во время выборки сделать можно?
  • https://t.me/clickhouse_ru
    @kenota ↶ Reply to #31449 #31450 11:22 AM, 07 Nov 2017
    Ну да, почему нет? SELECT * FROM myTable WHERE lowerUTF8(name) = 'вася'
  • https://t.me/clickhouse_ru
    @SpicyCrack3r #31451 11:23 AM, 07 Nov 2017
    Спасибо
  • @ztlpn #31452 11:33 AM, 07 Nov 2017
    Митап на HighLoad в 16-00
  • @ztlpn #31453 11:34 AM, 07 Nov 2017
    Место - рядом с залом Москва подняться на 2 этаж, там переговорки
  • Прямо сейчас - на обеде в кафетерре (там где с подносами).
  • https://t.me/clickhouse_ru
    @leidruid #31456 12:03 PM, 07 Nov 2017
    А в какой переговорке?
  • https://t.me/clickhouse_ru
    @leidruid #31457 12:03 PM, 07 Nov 2017
    Или прям в холле?
  • В 16 часов в одной из переговорок рдом с залом Москва. Там есть свободные... Надеюсь, сможем оккупировать.
  • https://t.me/clickhouse_ru
    @leidruid #31459 12:10 PM, 07 Nov 2017
    А сколько нас? На предыдущих митапах ощущалось острая нехватка места. Одновременно в этим видно, что кто-то проводил митап прямо в холле рядом с Москвой
  • @kolsys #31460 12:19 PM, 07 Nov 2017
    Кто-нибудь под Sierra побеждал эту ошибку?

    ClickHouse/contrib/libpoco/Foundation/include/Poco/AtomicCounter.h:196:9: error: 'OSAtomicIncrement32' is deprecated:
    first deprecated in macOS 10.12 - Use std::atomic_fetch_add_explicit(std::memory_order_relaxed) from <atomic> instead
    [-Werror,-Wdeprecated-declarations]
    return OSAtomicIncrement32(&_counter);
    ^
  • Не знаю. Будет много - выйдем в холл.
  • @ztlpn ↶ Reply to #31460 #31462 12:39 PM, 07 Nov 2017
    В новом stable обновили poco и проблема ушла. Или можно вставить pragma и отключить warning.
  • @milovidov_an #31463 12:58 PM, 07 Nov 2017
    Встреча на втором этаже.
  • https://t.me/clickhouse_ru
  • @pookieShmukie #31465 01:06 PM, 07 Nov 2017
    Можно же использовать такую конструкцию? select col as col.with.many.dots ?
  • @pookieShmukie #31466 01:06 PM, 07 Nov 2017
    Соответсвенно экранированные символами ``
  • @pookieShmukie #31467 01:07 PM, 07 Nov 2017
    Просто у меня почему то КХ ругается на них...54282 версия.
  • https://t.me/clickhouse_ru
    @orantius #31468 01:09 PM, 07 Nov 2017
    с некоторых пор видимо нет.
    select * from (select 1 as `a.b.c`)
  • @pookieShmukie #31469 01:10 PM, 07 Nov 2017
    Блиииииин (
  • @pookieShmukie #31470 01:10 PM, 07 Nov 2017
    Очень очень печально (
  • https://t.me/clickhouse_ru
    @alexey_konkov #31471 01:11 PM, 07 Nov 2017
    подскажите, пожалуйста, как ведёт себя SUM() по полю, где может быть NULL: в результате получаем NULL, или же NULL-значения при суммировании пропускаются?
  • https://t.me/clickhouse_ru
    @orantius #31472 01:13 PM, 07 Nov 2017
    select sum(x) from (select arrayJoin([1,null]) as x)
    ┌─sum(x)─┐
    │ 1 │
    └────────┘
  • https://t.me/clickhouse_ru
    @alexey_konkov #31473 01:14 PM, 07 Nov 2017
    спс
  • @kolsys #31474 01:36 PM, 07 Nov 2017
    Я правильно понимаю, что минимальная версия boost 1.65?
  • https://t.me/clickhouse_ru
    @ka_ktus #31475 02:09 PM, 07 Nov 2017
    Aliaksandr Подскажите, пожалуйста, в clickhouse-grafana, когда работаешь с шаблонами графаны (Templating) в query не поддерживаются "Global Built-in Variables" (http://docs.grafana.org/reference/templating/)? Насколько вижу, запросы улетают в кликхаус без интерполяции.
    Variables

    Templates and variables A variable is a placeholder for a value. You can use variables in metric queries and in panel titles. So when you change the value, …

  • https://t.me/clickhouse_ru
    Здравствуйте! Это не свзано с https://github.com/grafana/grafana/issues/1909 ? Опишите, плз, на примере что вам нужно получить. Так же вы можете создать issue на гитхабе.
    Time range from & to as template variables #1909

    Provide from & to time range as template variables. Useful when generating links in text panels.

  • https://t.me/clickhouse_ru
    @amoshi_san #31477 03:09 PM, 07 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @ka_ktus #31478 03:10 PM, 07 Nov 2017
    Возможно и оно, но странно, что в документации написано, что поддерживается.
    Из документации
    "The $timeFilter variable returns the currently selected time range as an expression."

    А хочу я следующее: в графане есть шаблоны (Templating). При следующем запросе я получаю ошибку. Запрос в кликхаус улетает без интерполяции переменной $timeFilter
  • https://t.me/clickhouse_ru
  • @3334085 #31480 03:11 PM, 07 Nov 2017
    Светлая графана

    Блендер_глаза.jpg
  • https://t.me/clickhouse_ru
    @hagen1778 #31481 03:12 PM, 07 Nov 2017
    Use time range filter in a template query #10

    Is it possible to use time range filter (i.e. $from, $to or $timeFilter) in template query? In Grafana documentation I see &quot;Set this only to On Time Range Change if your variable options query contains a time range filter or is dependent...

  • https://t.me/clickhouse_ru
    @ka_ktus #31482 03:13 PM, 07 Nov 2017
    Спасибо. Непонятно, почему они тогда в документации пишут, что оно есть.
  • https://t.me/clickhouse_ru
    @hagen1778 #31483 03:14 PM, 07 Nov 2017
    Возможно, ситуация успела поменятся - я не проверял это поведение с тех пор. Если Вы используете графану с другими датасорсами - там поддерживается такое поведение?
  • https://t.me/clickhouse_ru
    @hagen1778 #31484 03:16 PM, 07 Nov 2017
    И тут есть небольшая неувязка. При использовании КХ-датасорса на странице может быть несколько панелей. У каждой панели будут свои настройки $table, $database и т.д. Когда мы говорим о темлейте, то там нет конфигуратора - соотв. как понимать, во что должен раскрыться $timeFilter?
  • https://t.me/clickhouse_ru
    @hagen1778 #31485 03:18 PM, 07 Nov 2017
    Если Вам необходимо иметь актуальные данные в переменной, то можно использовать такой воркараунд:
    SELECT DISTINCT operator FROM gate.dir WHERE DateColumn >= today()-7
    т.е. за последние 7 дней
  • https://t.me/clickhouse_ru
    @ka_ktus #31486 03:19 PM, 07 Nov 2017
    Проверил в postgres источнике - да, тоже не работает, к сожалению.
  • https://t.me/clickhouse_ru
    @ka_ktus ↶ Reply to #31485 #31487 03:20 PM, 07 Nov 2017
    Так и делаю, но могут быть небольшие неувязки, если данные меняются (месяц назад были, а сейчас нет, при этом график строится по "месяц назад"). Но это относительно допустимо.
  • https://t.me/clickhouse_ru
    еще можно добавить новую переменную, в которую нужно вводить/выбирать из списка кол-во дней:
    $period
    SELECT DISTINCT operator FROM gate.dir WHERE DateColumn >= today()-$period
  • https://t.me/clickhouse_ru
    @hagen1778 #31489 03:22 PM, 07 Nov 2017
    как обычно поступают с $interval
  • https://t.me/clickhouse_ru
    @ka_ktus #31490 03:23 PM, 07 Nov 2017
    Первый вариант проще, чтобы интерфейс не перегружать лишними элементами :)
  • @200200555 #31491 03:32 PM, 07 Nov 2017
    Joined.
  • @200200555 #31492 03:33 PM, 07 Nov 2017
    Привет
  • @200200555 #31493 03:33 PM, 07 Nov 2017
    Чем кх лучше постгре?
  • https://t.me/clickhouse_ru
    @v2nek #31494 03:37 PM, 07 Nov 2017
    чем автомобиль лучше чем леопард?
  • @sunparallax #31495 03:37 PM, 07 Nov 2017
    Они предназначены для разных задач. Какую решаете вы?
  • @f4llou7 ↶ Reply to #31493 #31496 03:38 PM, 07 Nov 2017
    Колоночные СУБД — принцип действия, преимущества и область применения

    Середина 2000-х годов ознаменовалась бурным ростом числа колоночных СУБД. Vertica, ParAccel, Kognito, Infobright, SAND и другие пополнили клуб колоночных СУБД и...

  • https://t.me/clickhouse_ru
    @valyala #31497 04:16 PM, 07 Nov 2017
    @milovidov_an , можно ли как-то пофиксить добавление колонки при активных мержах? Сейчас alter table ... add column может висеть очень долго, если в это время идет большой мерж
  • https://t.me/clickhouse_ru
    @Romkart #31498 06:10 PM, 07 Nov 2017
    Правильно ли я понимаю что все фкнкции uniq всегда делают фулскан и разница только в объеме памяти?
  • https://t.me/clickhouse_ru
    @Romkart #31499 06:17 PM, 07 Nov 2017
    Тот же вопрос только сбоку.
    Можно ли хранить число (вероятностное) уникальных кортежей за единицу времени, а потом просто сложить гиперлоги за несколько интервалов и получить реалтайм?
  • https://t.me/clickhouse_ru
    @Romkart #31500 06:31 PM, 07 Nov 2017
    @podshumok ^
  • Есть для этого State
  • У меня на 6 ярдах строк мердж проходит примерно 2-3 мтнуты на replacing движке
  • https://t.me/clickhouse_ru
    @valyala ↶ Reply to #31502 #31503 07:04 PM, 07 Nov 2017
    У вас, наверное, ssd или очень много памяти. У нас мерж ограничен скоростью записи ~100мб/с на persistent disk storage в google cloud, а максимальный размер куска - 400Гб. Поэтому его мерж не может быть меньше 4000 секунд, а это больше часа
  • @pookieShmukie #31504 07:05 PM, 07 Nov 2017
    Ну да ) 96 гиг и 20 ядер ) и да, ссд
  • @3334085 #31505 07:40 PM, 07 Nov 2017
    Вот кстати я думал, что SSD даст прирост скорости, но вы удивитесь, но при моих задачах-запросах, прирост - 10%

    10% карл при SSD (!)
  • https://t.me/clickhouse_ru
    @qweran ↶ Reply to #31505 #31506 07:47 PM, 07 Nov 2017
    В процессор упирается?
  • ALTER прерывает выполняющиеся сейчас мержи. То есть, блокировка ALTER-а мержами вряд ли возможна - скорее дело в долго выполняющихся SELECT. Посмотрите SHOW PROCESSLIST, может быть надо убить какие-нибудь SELECT-ы.
  • Да, существует возможность хранить в столбце состояние агрегатной функции и потом мержить их. Обычно для этого используется AggregatingMergeTree, и агрегатные функции uniqState, uniqMerge.
  • Заытра переедем на емкие hdd ипосмотрим как просядем, но если честно, ио я сомневаюсь, что просядем по скорости селектов
  • @3334085 ↶ Reply to #31506 #31510 08:28 PM, 07 Nov 2017
    отличный вопрос - сейчас изучаем это
  • @3334085 ↶ Reply to #31509 #31511 08:29 PM, 07 Nov 2017
    может быть мой пример гипертрофирован конечно, тк у меня идет чтение 1/30 партиции (день) далее идет транспонирование (типа pivot) и далее 4 - 6 подзапросов...
  • https://t.me/clickhouse_ru
    @valyala ↶ Reply to #31507 #31512 10:22 PM, 07 Nov 2017
    Уже поздно смотреть, т.к. уже добавили новую колонку на все шарды. У нас селекты обычно выполняются не дольше пары минут, а alter'ы подвисали до получаса, причем только на шардах с большими мержами в момент алерта. И как только мержи заканчивались, alter'ы моментально завершались. В следующий раз посмотрю, выполняются ли в это время длинные запросы.
  • 08 November 2017 (160 messages)
  • https://t.me/clickhouse_ru
    @happy_yar #31513 06:26 AM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @AlexAkulov #31514 06:38 AM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @happy_yar #31515 06:55 AM, 08 Nov 2017
    Парни привет. не подскажете кто-то настраивал datagrip+clickhouse?
  • https://t.me/clickhouse_ru
    @mikhailq #31516 07:01 AM, 08 Nov 2017
    Пробовал, но чет успехом не увенчалось))
  • https://t.me/clickhouse_ru
    @mustiks #31517 07:20 AM, 08 Nov 2017
    Joined.
  • Возможно, что эта проблема была актуальна раньше.
  • https://t.me/clickhouse_ru
    @umaxfun ↶ Reply to #31515 #31519 07:35 AM, 08 Nov 2017
    Работает с JDBC-драйвером, c такой-то матерью, не особенно юзабельно было, когда в последний раз смотрел.
  • https://t.me/clickhouse_ru
    спасибо. значит можно попробовать еще)
  • @3334085 #31521 09:36 AM, 08 Nov 2017
    Чат а подскажите:
    Задача: сделать словари в ClickHouse. Источник данных - проприаритарна система которая хранит только моментальное состояние (без истории) а надо что бы была история.

    Я придумал следующую схему
    Система —> MYSQL (?) —> ClickHouse table —> ClickHouse dict

    В MySQL я планирую раз в день писать данные из «системы» и делать две даты:
    1) начало действия
    2) конец действия

    Конец по умолчанию NULL, а если же в новой выгрузке данных по объекту нет или данны изменились (адрес например)- писать дату окончания и далее уже грузить этот слепок раз в день в CH.

    Может есть лучше метод?
  • https://t.me/clickhouse_ru
    @kenota ↶ Reply to #31521 #31522 09:39 AM, 08 Nov 2017
    Clickhouse ведь вроде умеет напрямую за словарями в MySQL ходить? Сделать композитный ключ по id + диапазон дат, должно вроде сработать?
  • https://t.me/clickhouse_ru
    @blackrooty #31523 10:02 AM, 08 Nov 2017
    Joined.
  • @unknown6787 #31524 10:28 AM, 08 Nov 2017
    Подскажите, должна ли быть разница между like '%needle' и like '%needle%'? Думал, что '%needle' будет быстрее, но по моим тестам они оказалось равны
    Задача по оптимизации поиска по доменам
  • https://t.me/clickhouse_ru
    @kshvakov #31525 10:30 AM, 08 Nov 2017
    тогда храните домен отдельным полем и пихайте его в индекс
  • https://t.me/clickhouse_ru
    @kshvakov #31526 10:31 AM, 08 Nov 2017
    или вы лайком в самом домене ищите, а не в URL ?
  • @unknown6787 #31527 10:33 AM, 08 Nov 2017
    домен отдельное поле и в индексе
  • https://t.me/clickhouse_ru
    @kshvakov #31528 10:38 AM, 08 Nov 2017
    тогда, периодически вытаскивайте домены, например, в память, делайте поиск на стороне приложения и пихайте их в запрос в IN
  • @unknown6787 #31529 10:42 AM, 08 Nov 2017
    да, так и думали делать, но сначала хотели оптимизировать сам поиск
  • @unknown6787 #31530 10:43 AM, 08 Nov 2017
    в некоторых случаях можно отсекать % в конце, вопрос только есть ли смысл это делать
  • https://t.me/clickhouse_ru
    @kshvakov #31531 10:43 AM, 08 Nov 2017
    вообще в этом случае лучше хранить домены в ClickHouse интом, а не строкой
  • https://t.me/clickhouse_ru
    @alexey_konkov #31532 10:44 AM, 08 Nov 2017
    есть вариант добавить ещё поле, где хранить обращённый домен (т.е. для домена abc.ru хранить в этом поле ru.abc), тогда, имея индекс по обращённому домену можно делать like 'needle%' — а оно с индексом работает гораздо шустрее, чем like '%needle'
  • @unknown6787 #31533 10:52 AM, 08 Nov 2017
    ясно, спасибо
  • https://t.me/clickhouse_ru
    @dsyubaev #31534 11:20 AM, 08 Nov 2017
    Хай! Как мне залить CSV файл во временную таблицу с помощью питона?
  • https://t.me/clickhouse_ru
    @necrosisoff #31535 11:23 AM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @AndrewPerminov #31536 11:28 AM, 08 Nov 2017
    кто-нибудь заморачивался связкой fluentd - КХ?
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #31536 #31537 11:32 AM, 08 Nov 2017
    Могу ошибаться, но тут за последние 2 дня было два проекта для этого
  • https://t.me/clickhouse_ru
    @kenota ↶ Reply to #31536 #31538 11:32 AM, 08 Nov 2017
    Вчера в этом канале кто то выкладывал плагин и как раз обсуждали, поищите поиском)
  • https://t.me/clickhouse_ru
    @Civiloid #31539 11:32 AM, 08 Nov 2017
    постили линки
  • https://t.me/clickhouse_ru
    @AndrewPerminov #31540 11:33 AM, 08 Nov 2017
    спасибо, поищу)
  • https://t.me/clickhouse_ru
    @valyala ↶ Reply to #31524 #31541 11:37 AM, 08 Nov 2017
    только что проверил на выборке из 12 миллиардов строк - разница в скорости между '%needle%', 'needle%' и '%needle' составляет менее 10%, да и то это скорее всего погрешность.
    Если же сравнивать Domain like '%needle%' с Domain = 'foobar.needle.com', то второй вариант быстрее первого на процентов 20. Если что, то домен у нас не входит в ключ, т.е. по всем запросам идет full scan
  • https://t.me/clickhouse_ru
    @feriat #31542 11:44 AM, 08 Nov 2017
    Народ, а кто HighLoad? Можете плиз поискидывать, например, мне, классные высказывания Лёши для https://t.me/milovidov_perls ?
    Не тормозит

    Перлы Лёши

  • https://t.me/clickhouse_ru
    @feriat #31543 11:44 AM, 08 Nov 2017
    А то в телеграме нет "предложенных новостей" и никакой обратной связи у канала
  • https://t.me/clickhouse_ru
    @Shegloff ↶ Reply to #31541 #31544 11:46 AM, 08 Nov 2017
    у меня на 15 млрд вообще разницы нет, все 4 варианта 35-36 сек :)
  • https://t.me/clickhouse_ru
    @Shegloff #31545 11:47 AM, 08 Nov 2017
    тоже фуллскан
  • https://t.me/clickhouse_ru
    @mktums ↶ Reply to #31542 #31546 12:05 PM, 08 Nov 2017
    Про кликхауз и зону комфорта например :)
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31542 #31547 12:07 PM, 08 Nov 2017
    Вот сейчас что-то вроде: "'это оцтой, мы могли бы сделать нормально, но не сделали" )
  • https://t.me/clickhouse_ru
    @Civiloid #31548 12:07 PM, 08 Nov 2017
    https://www.youtube.com/watch?v=Ygfwwd490mk там как раз сейчас (-4 минуты) началась трансляция выступления Алексея про КХ
    Главный зал HighLoad++ 2017. 8 ноября

    Друзья, бесплатная трансляция главного зала конференции HighLoad++ 2017 (в расписании указан как Конгресс-холл) 8 ноября 10:00 / Как выбирать тимлидов на разных этапах роста компании / Евгений Потапов (ITSumma) 11:00 / Как я был тимлидом, а теперь – руководитель направления / Виталий Шароватов (Badoo) 12:00 / Контроль качества высоконагруженных систем / Андрей Дроздов (Avito) 13:00 / Почему ivi перешел со Sphinx на Elasticsearch / Евгений Россинский (Ivi) 14:00 / Жизнь после шардинга / Михаил Курмаев (Badoo) 15:00 / Эффективное использование ClickHouse / Алексей Миловидов (Яндекс) 16:00 / Как мы поддерживаем 100 разных версий клиентов в Badoo / Ярослав Голуб (Badoo) 17:00 / ElasticSearch и Heka: как мы учились просеивать слона через сито / Адель Сачков (Яндекс.Деньги) 18:00 / Почему оно не находится! / Андрей Аксенов (Sphinx) Расписание конференции: http://www.highload.ru/2017/schedule.html Трансляция остальных залов платная: http://www.highload.ru/2017/online Доставку и ускорение трансляции осуществляет…

  • https://t.me/clickhouse_ru
    @Civiloid #31549 12:08 PM, 08 Nov 2017
    (как будет полное видео - таймстемп примеро 4 часа от начала)
  • https://t.me/clickhouse_ru
    @leidruid #31550 12:11 PM, 08 Nov 2017
    Вот сервис, я его не смотрел, ничего гарантировать не могу. Впрочем, по ClickHouse - тоже
  • https://t.me/clickhouse_ru
    @leidruid #31551 12:11 PM, 08 Nov 2017
    :)
  • https://t.me/clickhouse_ru
    @gtbear #31553 12:11 PM, 08 Nov 2017
    Это уже было )))
  • https://t.me/clickhouse_ru
    @gtbear #31554 12:11 PM, 08 Nov 2017
    Видимо это на препрогоне было
  • https://t.me/clickhouse_ru
    @AlexAkulov #31555 12:17 PM, 08 Nov 2017
    @Civiloid А что там Прометеус второй умеет теперь в кликхаус писать?
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #31555 #31556 12:17 PM, 08 Nov 2017
    есть remote storage api :) можно написать конвертер
  • https://t.me/clickhouse_ru
    @Civiloid #31557 12:18 PM, 08 Nov 2017
    есть проект - https://github.com/Percona-Lab/PromHouse но в начале он был странным
    GitHub - Percona-Lab/PromHouse: PromHouse is a long-term remote storage with built-in clustering and downsampling for Prometheus 2.x on top of ClickHouse.

    PromHouse is a long-term remote storage with built-in clustering and downsampling for Prometheus 2.x on top of ClickHouse. - GitHub - Percona-Lab/PromHouse: PromHouse is a long-term remote storage ...

  • https://t.me/clickhouse_ru
    @AlexAkulov #31558 12:18 PM, 08 Nov 2017
    А у перконы что за тула? Как я понял это для архивов, а не как замена стораджу?
  • https://t.me/clickhouse_ru
    @Civiloid #31559 12:18 PM, 08 Nov 2017
    сейчас мб нет
  • https://t.me/clickhouse_ru
    @kshvakov #31560 12:19 PM, 08 Nov 2017
    На HL++ Алексей сказал про 5 (или 6 способов) правильной вставки, для КХ есть еще один способ "батчить", в Гошном драйвере можно открыть "транзакцию" и в цикле писать данные, он будет сбрасывать блоками по block_size,
    а на defer "повесить" commit )
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #31558 #31561 12:20 PM, 08 Nov 2017
    промхаус стал адекватнее сейчас. они по крайней мере теги больше не в массиве хранят)
  • https://t.me/clickhouse_ru
    @AlexAkulov #31562 12:20 PM, 08 Nov 2017
    Вы у себя не думаете на Прометес переходить?
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #31562 #31563 12:21 PM, 08 Nov 2017
    у нас системные метрики (под которые пром хорошо подходит) это 10% нагрузки
  • https://t.me/clickhouse_ru
    @Civiloid #31564 12:21 PM, 08 Nov 2017
    в нем вероятно медленно но верно перейдем
  • https://t.me/clickhouse_ru
    @AlexAkulov #31565 12:22 PM, 08 Nov 2017
    не понимаю, почему пром плохо подходит для метрик приложения?
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #31565 #31566 12:22 PM, 08 Nov 2017
    давай в церковь лучше, тут оффтоп это
  • https://t.me/clickhouse_ru
    @Civiloid #31567 12:22 PM, 08 Nov 2017
    или в личку)
  • https://t.me/clickhouse_ru
    @165386325 #31568 12:25 PM, 08 Nov 2017
    Кто ж послал этого человека на хайлоад? Всё очень плохо. Да и врёт при этом.
  • https://t.me/clickhouse_ru
    @kshvakov #31569 12:27 PM, 08 Nov 2017
    Какого?
  • https://t.me/clickhouse_ru
    Я думаю, можно пополнять 😬
  • https://t.me/clickhouse_ru
    @165386325 #31572 12:32 PM, 08 Nov 2017
    о как. Это ж Миловидов.
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31571 #31573 12:32 PM, 08 Nov 2017
    Понятно, с кем, будем считать что разобрались, а наврал-то он что ?
  • https://t.me/clickhouse_ru
    @165386325 #31574 12:33 PM, 08 Nov 2017
    ну, он так вскользь упомянул геоданные. Но мы в этом же чате выяснили, что там их нет.
  • https://t.me/clickhouse_ru
    @kshvakov #31575 12:34 PM, 08 Nov 2017
    Вы не правильно слышите или просто не хотите слышать, там, на сколько я могу судить, говорилось о хранении идентификатора региона
  • https://t.me/clickhouse_ru
    @165386325 #31576 12:35 PM, 08 Nov 2017
    Может он так сказал. Но тогда это уже не геоданные.
  • https://t.me/clickhouse_ru
    @kshvakov #31577 12:36 PM, 08 Nov 2017
    А что ?
  • https://t.me/clickhouse_ru
    @vradrus #31578 12:36 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    чары, стринги, инты, в случае численного представления. Но точно не геоданные.
  • https://t.me/clickhouse_ru
    @kshvakov #31580 12:46 PM, 08 Nov 2017
    Если вас так сильно "бомбит" по этому поводу, вы можете добавить нужный вам тип самостоятельно или можно объяснить разработчикам что он реально всем нужен
  • https://t.me/clickhouse_ru
    @degibenz #31581 12:46 PM, 08 Nov 2017
    На "Камчатке" сонное царство. Люди спят на докладе.
  • https://t.me/clickhouse_ru
    @Revkov #31582 12:48 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @umaxfun #31583 12:48 PM, 08 Nov 2017
    "В кликхаусе есть один такой, чуть ли не самый известный, недостаток — он не умеет апдейты. В некотором смысле это даже хорошо."
  • https://t.me/clickhouse_ru
    @Aleksandr_Sukhodko #31584 12:48 PM, 08 Nov 2017
    Joined.
  • @85356710 #31585 12:48 PM, 08 Nov 2017
    Joined.
  • @hellmany #31586 12:49 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @Nklya #31587 12:49 PM, 08 Nov 2017
    Joined.
  • @terrifilch #31588 12:49 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @nbsbbs #31589 12:49 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @ragartemiy #31590 12:49 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @zcoder #31591 12:50 PM, 08 Nov 2017
    Joined.
  • @ReRo26 #31592 12:50 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @461774893 #31593 12:50 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @mbIk0lo #31594 12:50 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @volyx #31595 12:51 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @symstriker #31596 12:51 PM, 08 Nov 2017
    очередная компания добавилась ))
  • https://t.me/clickhouse_ru
    @165386325 #31597 12:51 PM, 08 Nov 2017
    кажется, его только что послали прямо в зале
  • https://t.me/clickhouse_ru
    @165386325 #31598 12:51 PM, 08 Nov 2017
    гыг
  • https://t.me/clickhouse_ru
    @SLASH_CyberPunk #31599 12:51 PM, 08 Nov 2017
    с хайлоад
  • https://t.me/clickhouse_ru
    @stepanseliuk_ru #31600 12:52 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @t4rest #31601 12:54 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @nsk_1945 #31602 12:56 PM, 08 Nov 2017
    Joined.
  • @430134182 #31603 12:56 PM, 08 Nov 2017
    "Засуньте длинные строки куда-нибудь ещё"
  • @master_slave_controller #31604 12:57 PM, 08 Nov 2017
    Joined.
  • @terrifilch #31605 12:57 PM, 08 Nov 2017
    Joined.
  • @f4llou7 #31606 01:01 PM, 08 Nov 2017
    а записи будут докладов?
  • https://t.me/clickhouse_ru
    @SLASH_CyberPunk #31607 01:01 PM, 08 Nov 2017
    на ютубе главный зал
  • https://t.me/clickhouse_ru
    @SLASH_CyberPunk #31608 01:01 PM, 08 Nov 2017
    другие за денежку 🙁
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #31606 #31609 01:04 PM, 08 Nov 2017
    https://www.youtube.com/watch?v=Ygfwwd490mk - основной зал, доклад по КХ - примерно 4 часа от начала (или -1 час от текущего)
  • @ja_hghar #31610 01:12 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @a1exborisov #31611 01:30 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @zakharovag #31612 01:43 PM, 08 Nov 2017
    Joined.
  • @GradocuS #31613 01:50 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @trinitroturbotron #31614 02:02 PM, 08 Nov 2017
    Тупой вопрос. Делается запрос CREATE MATERIALIZED VIEW if not exists xx.bubu ENGINE = SummingMergeTree(date, (date, col1, col2), 8192, (cnt1, cnt2, cnt3)) POPULATE AS SELECT FROM xx.zuzu.

    Размер xx.zuzu — 18 млрд строк. В xx.zuzu постоянно втыкается ~500K строк раз в минуту. Где-то к 50-60% исполнения запроса, сервак начинает подыхать по диску. Все прочие запросы скапливаются в очередь и она достигает предела. Индикатор прогресса сабжевого запроса показывает постоянное снижение rows/s и MB/s. Далее всё доходит до того, что сервак перестаёт отвечать на пинги и его ребутают.
    Какими явлениями под капотом это обусловлено? Точнее, какими параметрами клиента что можно изменить, чтобы дело шло может быть и медленнее, но стабильнее?
  • https://t.me/clickhouse_ru
    @ragartemiy #31615 02:04 PM, 08 Nov 2017
    /stat@combot
  • https://t.me/clickhouse_ru
    @Sfinks80 #31617 02:14 PM, 08 Nov 2017
    про ручную репликацию:
    - Данные все-равно будут расходиться. Из-за каких-то особенностей в вашем коде..... Надеюсь что в вашем.
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31614 #31618 02:15 PM, 08 Nov 2017
    Можно не делать POPULATE, остановите запись и сделайте MATERIALIZED VIEW без POPULATE после чего пропробуйте залить в нее данные кусками через INSERT INTO xx.bubu SELECT * FROM xx.zuzu WHERE blabla= 'X' и запустите запись в xx.zuzu
  • https://t.me/clickhouse_ru
    @trinitroturbotron #31619 02:28 PM, 08 Nov 2017
    Запись хочется вести только в одну таблицу, из которой делалось populate. В этой таблице данных больше, а в этом создаваемом MV данные более саггрегированы.
  • https://t.me/clickhouse_ru
    @kshvakov #31620 02:31 PM, 08 Nov 2017
    populate нужен только для того, чтоб влить старые данные которые есть в таблице, причем в этом случае вы не сможете использовать в запросе WHERE (это бага), а также в MW не будут записанны данные которые ппадут в таблицу пока создается MW на нее. Вы можете создать MW без POPULATE и удобным для вас способом вогнать старые данные в MW
  • @3334085 ↶ Reply to #31522 #31621 03:34 PM, 08 Nov 2017
    Нет, у меня ключи составные + range словарь
  • https://t.me/clickhouse_ru
    @b0zar #31622 03:44 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    В каком именно запросе нельзя будет использовать WHERE? В SELECT в готовую MV ? Или в запросе который POPULATE AS SELECT?
  • https://t.me/clickhouse_ru
    @kshvakov #31624 04:05 PM, 08 Nov 2017
    в том который будет лить данные в MW (AS SELECT ....)
  • https://t.me/clickhouse_ru
    Ну это ладно, мне тупо нужно перелить всё. А вот то, что во время создания MV туда не поступают свежие данные - это жесточайше!
  • https://t.me/clickhouse_ru
    @ValarMorghuliis #31626 04:27 PM, 08 Nov 2017
    Всем привет, используем для изменяемых данных движок таблицы ReplacingMergeTree для автоматической дедупликации. Столбец с версией updateAt (dateTime)
    Заметил, что если делаем запрос LIMIT 1 то вытаскивается последняя именно запись, то есть нужная. Этому можно верить, или там вероятностная выборка и не гарантирует сортировку по колонки с версией?
  • @pavlov_m #31627 04:28 PM, 08 Nov 2017
    Добрый день, подскажите есть ли информация когда будет реализован функционал по использованию индекса для запросов вида field IN (SELECT id FROM dictionary WHERE ...), если field в индексе, а подзапрос из словаря?
  • https://t.me/clickhouse_ru
    @Shegloff ↶ Reply to #31626 #31628 04:38 PM, 08 Nov 2017
    Если селектить с FINAL, то по идее вообще проблем не будет, не?
  • @zigmundkz #31629 04:58 PM, 08 Nov 2017
    Joined.
  • @zigmundkz #31630 04:59 PM, 08 Nov 2017
    Добрый вечер.
    Сегодня обновили сервера с полугодичной версии 23x на последнюю 310 и получили такую картину...
  • @zigmundkz #31632 05:00 PM, 08 Nov 2017
    Несколько проектов, несколько кластеров кликхаус.
    Те, что кушали 2гига памяти, стали по 8 в течение нескольких часов кушать.
    Те, что 6 - стали 32. И так далее.
  • @zigmundkz #31633 05:01 PM, 08 Nov 2017
    А может и больше. Просто уперлись в память и ООМ выпилил.
  • https://t.me/clickhouse_ru
    @orantius #31634 05:02 PM, 08 Nov 2017
    поменялся дефолтный максимальный размер куска при мерже. возможно сервер решил перемержить большие куски в очень большие.
  • https://t.me/clickhouse_ru
    @orantius #31635 05:02 PM, 08 Nov 2017
    но вообще за полгода много чего менялось.
  • @zigmundkz #31636 05:03 PM, 08 Nov 2017
    Система - Убунта. Так же обновили ядро с 4.4 до 4.11.
    Сейчас откачу на паре машин ядро и посмотрю что из этого выйдет.
  • https://t.me/clickhouse_ru
    @valyala #31637 05:04 PM, 08 Nov 2017
    мержи больших кусков не должны кушать память - https://github.com/yandex/ClickHouse/issues/931
    Reduce memory usage during vertical merge · Issue #931 · yandex/ClickHouse

    Preface We tried increasing max_bytes_to_merge_at_max_space_in_pool from default 100Gb to 500Gb in order to reduce the number of parts for a huge table according to the suggestion from @alexey-milo...

  • https://t.me/clickhouse_ru
    @valyala #31638 05:05 PM, 08 Nov 2017
    у нас сейчас куски по 400гб, полет нормальный
  • @zigmundkz #31639 05:05 PM, 08 Nov 2017
    Около 20 машин разной конфигурации для 4 проектов - везде одно и то же.
  • @zigmundkz #31640 06:46 PM, 08 Nov 2017
    в репах яндекса только последние версии. если какой-нить вариант откатиться на ранние?
  • @zigmundkz #31641 06:47 PM, 08 Nov 2017
    и как поведет себя кх, если я с данными 310 откачусь на 213?
  • @zigmundkz #31642 06:59 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @kshvakov #31643 07:25 PM, 08 Nov 2017
    Как себя поведет чёрт его знает (хотя мы реплицируем со свежих версий в старые), но если есть свободная машина то можно попробовать на ней, возможно у вас старые версии остались в /var/cache/apt/archives/, мы просто подняли собственный репозиторий (чего и всем желаем) с https://www.aptly.info/ это достаточно удобно
  • Предыдущие собранные пакеты не хранятся. Можно собрать заново.

    > и как поведет себя кх, если я с данными 310 откачусь на 213?

    Если не использовались новые фичи, то откатится нормально.
  • @milovidov_an #31645 07:34 PM, 08 Nov 2017
    На всякий случай ещё посмотрите на другие метрики - количество одновременных запросов (Metrics.Query), мержей (Metrics.Merge), количество кусков (AsynchronousMetrics.MaxPartCountForPartition).

    Исходя из этого поймём, является ли проблема регрессией в одном из релизов (кстати, между 54213 и 54310 больше пол года разницы, что несколько усложняет поиск) или следствием изменения поведения системы при релизе, или следствием изменением каких-то настроек по-умолчанию.

    Также можно изучить зависимость потребления памяти от характера нагрузки. Временно отключить один из серверов от одного класса нагрузки и посмотреть, как это влияет на потребление оперативки.
  • https://t.me/clickhouse_ru
    @cmdrosmium #31646 07:39 PM, 08 Nov 2017
    у меня вопрос по поводу форматов вставки. Есть таблица exapmle ( Date Date DEFAULT toDate(DateTime), DateTime DateTime, tag String, Num Int32) ENGINE = MergeTree(Date, Date, DateTime, 8192), и я думал, что если вставлять в неё данные через CSVWithNames, опустив поле Date, то всё прокатит и поле подхватится из DateTime. но не прокатило =(

    так и должно быть или у меня какая-то корявая табличка или csv-шка?
  • https://t.me/clickhouse_ru
    @kenota #31647 07:40 PM, 08 Nov 2017
    Поменяйте на MATERIALIZED DEFAULT...
  • https://t.me/clickhouse_ru
    @kenota #31648 07:40 PM, 08 Nov 2017
    Колонку
  • https://t.me/clickhouse_ru
    @cmdrosmium #31649 07:41 PM, 08 Nov 2017
    спасибо!
  • Отдельные поля можно пропускать, если указать нужные поля явно в запросе INSERT:

    INSERT INTO table (c1, c2...) FORMAT CSVWithNames
  • https://t.me/clickhouse_ru
    @cmdrosmium #31651 07:43 PM, 08 Nov 2017
    запомню про оба способа. ещё раз спасибо
  • Всё-таки на 54213 откатываться не рекомендую, так как менялся формат записей в логе репликации. Возьмите хотя бы следующий stable. Сервер будет ругаться на новый формат при репликации.

    Если вы хотите, чтобы мы могли посмотреть на вашу проблему в живую, пишите в личку.
  • https://t.me/clickhouse_ru
    @konstantinkalinin #31653 07:56 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @diafour #31654 07:58 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @asidorovj #31655 08:16 PM, 08 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @iSanin #31656 08:34 PM, 08 Nov 2017
    Joined.
  • @110657893 #31657 08:53 PM, 08 Nov 2017
    нет ни у кого ссылки на полный доклад Алексея на HL++?
  • https://t.me/clickhouse_ru
    @Revkov ↶ Reply to #31657 #31658 08:55 PM, 08 Nov 2017
    Так их еще не выложили. Недели через 3
  • @110657893 #31659 08:55 PM, 08 Nov 2017
    за вчера просто все есть, а за сегодня половина только
  • https://t.me/clickhouse_ru
    @33966769 #31660 09:50 PM, 08 Nov 2017
    Joined.
  • Жаль, что вам не понравился доклад. Мне приходится использовать некоторый стиль подачи информации, который нравится не всем.

    Могу сказать точно, что никаких обманов в докладе не было. Про регионы, что имеется ввиду:

    - есть справочник вида id, parent_id, type, name,
    например
    213 225 6 Москва
    225 0 4 Россия
    и есть встроенные в ClickHouse функции:
    regionIn, regionToCity, regionToCountry, regionToContinent, regionHierarchy, regionToName...

    Подробнее смотрите в документации:
    https://clickhouse.yandex/docs/ru/dicts/internal_dicts.html
    https://clickhouse.yandex/docs/ru/functions/ym_dict_functions.html

    В докладе эта функциональность упоминается в качестве одного из примеров, когда нужно хранить вместо строк идентификаторы.

    Может быть, вы имели ввиду другие гипотетические возможности, такие как справочники ip range -> region или coordinates -> region; и таких справочников действительно нет.
  • Там видео трансляции обрезалось на последние 4 часа. Должно исправиться через некоторое время.
  • https://t.me/clickhouse_ru
    @Sunsh1ne #31663 11:17 PM, 08 Nov 2017
    у меня проблемы записи данных на диск кликхаусом. Скорость запись на диск в секунду кликхаусом более 2-3 Mb/s. Это влияет на загрузку всей системы. Как можно снизить нагрузку? Может писать пачками? Сейчас пишется реалтайм
  • спасибо за лекцию, одна из немногих причин не жалеть что потратил 2 дня на ЭТО
  • Писать пачками. Например, одна пачка в секунду - нормально.
  • https://t.me/clickhouse_ru
    @Sunsh1ne #31666 11:20 PM, 08 Nov 2017
    спасибо, попробую
  • https://t.me/clickhouse_ru
    @rheinx ↶ Reply to #31663 #31667 11:22 PM, 08 Nov 2017
    Посмотрите на мержи. Скорее всего от большого количества вставок приходится мержить часто и много кусков. Это может создавать нагрузку на диск.
  • @307875817 #31668 11:34 PM, 08 Nov 2017
    Доброй ночи, Алексей. Появилась странная проблема при вставке из выборки:
    После выполнения INSERT INTO table2 SELECT toDate('2017-01-01'), field2, field3, ... FROM table1 WHERE date = '2016-12-10'. Выполняю запрос SELECT count() from table2 (таблица изначально пуста) и получаю число около 15М записей, но это сильно меньше того, что должно получиться, проверяю запросом SELECT count() FROM (SELECT toDate('2017-01-01'), field2, field3, ... FROM table1 WHERE date = '2016-12-10') и получаю 395M, что и ожидаю. При этом при вставке прогресс показывает, что обработал как раз около 395M записей. Версия ClickHouse 1.1.54292.
  • А table2 - это что?
  • И table1 и table2 просто локальные таблицы, содержащие шардированные данные, структуры таблиц одинаковы, движки разные: ReplicatedReplacingMergeTree для table1 и ReplacingMergeTree для table2
  • @milovidov_an #31671 11:47 PM, 08 Nov 2017
    Можно посмотреть с двух сторон:

    Проверить, влияет ли Replacing, создав рядом обычную MergeTree и вставляя в неё.

    Посмотреть, какие именно данные вставились, а какие - нет, выбрав некоторое небольшое подмножество данных с помощью WHERE.

    Я пока не сталкивался с проблемой, чтобы с INSERT SELECT из каких-либо MergeTree в какие-либо MergeTree что-то было не так.
  • @307875817 #31672 11:48 PM, 08 Nov 2017
    Спасибо, сейчас попробую. Я раньше тоже не сталкивался, регулярно выбираю подмножества таким образом для тестов, сегодня в первый раз наткнулся.
  • https://t.me/clickhouse_ru
    @zcoder #31673 11:57 PM, 08 Nov 2017
    Алексей, спасибо за доклад.
  • @master_slave_controller #31674 11:58 PM, 08 Nov 2017
    Алексей, либо знающие люди, подскажите в каком направлении смотреть. На докладе слышал про возможность вычленить из строки домен - в каком модуле код искать?
  • @milovidov_an #31675 11:59 PM, 08 Nov 2017
    Функции:
    domain(str)
    domainWithoutWWW(str)
  • 09 November 2017 (203 messages)
  • @master_slave_controller #31677 12:00 AM, 09 Nov 2017
    спасибо
  • @master_slave_controller #31678 12:01 AM, 09 Nov 2017
    буду завтра исходники грепать
  • https://github.com/yandex/ClickHouse/blob/master/dbms/src/Functions/FunctionsURL.h

    Кстати, оно всё-таки оптимизировано не на 100%. Чтобы сделать лучше, надо добавить использование:

    https://github.com/yandex/ClickHouse/blob/master/libs/libcommon/include/common/find_first_symbols.h
    yandex/ClickHouse

    ClickHouse is a free analytic DBMS for big data.

  • @master_slave_controller #31680 12:08 AM, 09 Nov 2017
    мне прям стыдно, что Вы за меня в 3 часа ночи по исходникам ходите, спасибо
  • В данный момент
    metrics.Query: 11
    metrics.Merge: 3
    asynchronous_metrics.MaxPartCountForPartition: 26
  • @zigmundkz #31682 02:58 AM, 09 Nov 2017
    Я так понял, что MaxPartCountForPartition вычисляемое. Часто меняется в диапазоне 26~32.
  • @zigmundkz #31683 02:59 AM, 09 Nov 2017
    generic.heap_size и generic.current_allocated_bytes неуклонно растут.
  • https://t.me/clickhouse_ru
    @leidruid ↶ Reply to #31663 #31684 05:07 AM, 09 Nov 2017
    Кажется, у вас проблема с железом. 2-3 мб/с - даже на microsd не тормозит
  • @3334085 #31685 05:31 AM, 09 Nov 2017
    Коллеги, а видео будет выступления?
  • https://t.me/clickhouse_ru
    @kshvakov #31686 06:01 AM, 09 Nov 2017
    Можно так https://youtu.be/Ygfwwd490mk?t=5h2m14s посмотреть
    Главный зал HighLoad++ 2017. 8 ноября

    Друзья, бесплатная трансляция главного зала конференции HighLoad++ 2017 (в расписании указан как Конгресс-холл) 8 ноября 10:00 / Как выбирать тимлидов на раз...

  • @andrewkoryakin #31687 06:05 AM, 09 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @atis16 #31688 07:06 AM, 09 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @atis16 #31689 07:08 AM, 09 Nov 2017
    Hi, what exactly is "Shard" in clickhouse terminology? Is it like table slicing, or distributed query engine?

    I can also understand russian, writing is not that well
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #31689 #31690 07:12 AM, 09 Nov 2017
    @clickhouse_en English speaking channel :)

    https://clickhouse.yandex/docs/en/single/#replication

    TLDR; like in other databse, shard - one of the servers that have some portion of data. You can use distributed table to query all those servers in parallel and this table engine will combine results for you.
  • https://t.me/clickhouse_ru
    @cmdrosmium #31691 07:12 AM, 09 Nov 2017
    it's about tables
  • https://t.me/clickhouse_ru
    @atis16 #31692 07:18 AM, 09 Nov 2017
    А если я хочу создать таблицу с репликаций, но без разделения данних между серверами, что мне писать при CREATE TABLE?
  • https://t.me/clickhouse_ru
    @atis16 #31693 07:23 AM, 09 Nov 2017
    CREATE TABLE plexts_betaspike
    (
    guid FixedString(34),
    ts UInt64,
    dt Date,
    plextType String,
    categories UInt8,
    team Enum8('ALIENS' = 0, 'RESISTANCE' = 1),
    text String,
    markup_player String,
    markup_player_team Enum8('ALIENS' = 0, 'RESISTANCE' = 1),
    markup_player_guid FixedString(34),
    markup_text String,
    markup_portal_addr String,
    markup_portal_guid FixedString(34),
    markup_portal_latE6 Int32,
    markup_portal_lngE6 Int32,
    markup_portal2_addr String,
    markup_portal2_guid FixedString(34),
    markup_portal2_latE6 Int32,
    markup_portal2_lngE6 Int32
    )
    ENGINE = MergeTree(dt, (guid, dt), 8192)
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @agatsu #31695 07:26 AM, 09 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @atis16 ↶ Reply to #31694 #31696 07:27 AM, 09 Nov 2017
    Уже читал, не раз.. всётаки непонимаю параметров при созданиё
  • https://t.me/clickhouse_ru
    @atis16 ↶ Reply to #31694 #31697 07:28 AM, 09 Nov 2017
    Зачем там шард указать? Как мне указать если нехочу шардов?
  • https://t.me/clickhouse_ru
    @kshvakov #31698 07:31 AM, 09 Nov 2017
    Значит у вас будет 1 шард
  • https://t.me/clickhouse_ru
    @kshvakov #31699 07:33 AM, 09 Nov 2017
    shard - идентификатор шарда (в вашем случае, например, 01)
    replica - идентификатор машины внутри шарда, чтоб сервера понимали что у кого есть, можно просто вставлять хостнейм
  • https://t.me/clickhouse_ru
    @kshvakov #31700 07:34 AM, 09 Nov 2017
    Если у вас не будет шардирования, то можете забить на shard и не указывать его совсем, это нужно для уникальности внутри Зукипера
  • @61322181 #31701 07:36 AM, 09 Nov 2017
    Господа, доброго времени суток. у кого есть опыть с zetcd?
  • https://t.me/clickhouse_ru
    @atis16 #31702 07:37 AM, 09 Nov 2017
    Значит мне надо пробовать /clickhouse/tables/01-01/таблица или /clickhouse/tables/таблица ?
  • https://t.me/clickhouse_ru
    @kshvakov #31703 07:39 AM, 09 Nov 2017
    Можно так /clickhouse/tables/таблица
  • https://t.me/clickhouse_ru
    @Civiloid #31704 08:05 AM, 09 Nov 2017
    btw
    https://youtu.be/Ygfwwd490mk?t=18123 - с привязкой ко времени на начало выступления Леши про кликхаус
    Главный зал HighLoad++ 2017. 8 ноября

    Друзья, бесплатная трансляция главного зала конференции HighLoad++ 2017 (в расписании указан как Конгресс-холл) 8 ноября 10:00 / Как выбирать тимлидов на раз...

  • https://t.me/clickhouse_ru
    @dima_grig #31705 08:10 AM, 09 Nov 2017
    Joined.
  • @igor_matcko #31706 08:31 AM, 09 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31707 08:45 AM, 09 Nov 2017
    Мне казалось, что Алексей вчера упоминал про возможнсть кастомного партиционирования. Где можно почитать об этом?
  • https://t.me/clickhouse_ru
  • @fsite #31709 09:03 AM, 09 Nov 2017
    Подскажите, есть ли возможность при заливке данных через clickhouse-client --query="INSERT INTO xxx FORMAT TabSeparated" сконвертировать на лету столбец содержащий текстовые uuid ф-цией UUIDStringToNum?
  • https://t.me/clickhouse_ru
    Я подобное решаю с помощью default materialized, но приходится хранить обе копии
  • https://t.me/clickhouse_ru
    @pixelbender #31711 09:22 AM, 09 Nov 2017
    Подскажите, пожалуйста, есть ли легкий способ установить clickhouse на linux alpine без компиляции?
  • https://t.me/clickhouse_ru
    @122870188 #31712 09:22 AM, 09 Nov 2017
    контейнер?
  • @fsite ↶ Reply to #31710 #31713 09:23 AM, 09 Nov 2017
    спасибо!
  • https://t.me/clickhouse_ru
    @pixelbender #31714 09:23 AM, 09 Nov 2017
    Не, именно на alpine, не докер-образ clickhouse ) или быть может есть репозиторий apk где он есть собранный
  • https://t.me/clickhouse_ru
    @Valenvaryon #31715 09:29 AM, 09 Nov 2017
    Привет
    Весь лог завален ошибками вида "Unexpected file minmax_date.idx in data part" - это с чем связано?
  • @ztlpn #31716 09:36 AM, 09 Nov 2017
    Какая у вас текущая и предыдущая версии?
  • https://t.me/clickhouse_ru
    @pvl_wtf ↶ Reply to #31714 #31717 09:39 AM, 09 Nov 2017
    Если есть docker alpine образ clickhouse, то можно посмотреть как он собирается
  • https://t.me/clickhouse_ru
    @pixelbender #31718 09:39 AM, 09 Nov 2017
    Официальный на ubuntu
  • https://t.me/clickhouse_ru
    @pvl_wtf #31719 09:43 AM, 09 Nov 2017
    Если ты не хочешь компилировать, значит тебе надо где-то достать бинари. Либо через пакетный менеджер, либо где-то брать готовые бинарники. Я сомневаюсь, что в apk есть CH. Поэтому берёшь бинарники, копируешь куда надо и запускаешь
  • https://t.me/clickhouse_ru
    @pixelbender #31720 09:44 AM, 09 Nov 2017
    Попробую, спасибо ) тогда проще в deb-пакете подсмотреть что куда ставится
  • https://t.me/clickhouse_ru
    @pvl_wtf #31721 09:45 AM, 09 Nov 2017
    Можно один раз скомпилировать, а потом собрать результат в tar
  • https://t.me/clickhouse_ru
    @pvl_wtf #31722 09:46 AM, 09 Nov 2017
    И распаковывать куда надо
  • @fsite #31723 09:48 AM, 09 Nov 2017
    Еще вопрос по индексу. Какой вариант организации колонки с битовой маской будет выгоднее, если по ней надо фильтровать и она является частью индекса в mergetree таблице. Сделать ее с типом Array, заливать фцией bitmaskToArray, а искать при помощи has?
    Или оставить ее просто int-ом и искать битовыми функциями?
  • https://t.me/clickhouse_ru
    @kshvakov #31724 10:02 AM, 09 Nov 2017
    Оба варианта должны быть одинаково не рабочие, но можно попробовать )
  • @35739667 #31725 10:11 AM, 09 Nov 2017
    Joined.
  • @fsite #31726 10:11 AM, 09 Nov 2017
    не рабочий по какой причине? )
  • @dmitry_rebus #31727 10:12 AM, 09 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    Нет так подробно, как исходниках тестов, но основая суть и примеры синтаксиса:

    https://www.altinity.com/blog/2017/11/8/custom-partitioning-in-clickhouse-1154310
    Custom partitioning in ClickHouse 1.1.54310 — Altinity

    Nov 8, 2017    ClickHouse introduced a new major feature in version 1.1.54310 - it is a custom partitioning for tables with MergeTree engine. Before it enforced to use Date field for partitioning and the only choice to partition by month. The new version allows much more flexibil

  • https://t.me/clickhouse_ru
    Спасибо!
  • @pashugan #31730 10:50 AM, 09 Nov 2017
    Joined.
  • Можно упомянуть в статье, что старый синтаксис эквивалентен партиционированию по toYYYYMM(FlightDate). Также важно иметь ввиду, что разница в размере таблиц получается за счёт хранения временных данных в течение нескольких минут после вставки.
  • https://t.me/clickhouse_ru
    @alexanderzaitsev #31732 11:01 AM, 09 Nov 2017
    Про эквивалентность старого синтаксиса я добавил. Насчет компрессии -- надо посмотреть
  • https://t.me/clickhouse_ru
    @alexanderzaitsev #31733 11:02 AM, 09 Nov 2017
    Там все же маленькие кусочки по дням получаются, обязаны хуже сжиматься.
  • https://t.me/clickhouse_ru
    @Shegloff #31734 11:09 AM, 09 Nov 2017
    У меня за сутки в таблице примерно 10-15 млн строк, движок ReplicatedReplacingMergeTree, одни инты, очень было бы удобно сделать партиции по суткам, так как часто приходится перезаливать данные из источника MySQL. Есть противопоказания к этому?
  • https://t.me/clickhouse_ru
    @Shegloff #31735 11:15 AM, 09 Nov 2017
    судя по всему, из плохого, только место на диске увеличивается
  • https://t.me/clickhouse_ru
    @kshvakov #31736 11:16 AM, 09 Nov 2017
    У вас всего 10мл строк, там места не так уж и много должно быть
  • https://t.me/clickhouse_ru
    @Shegloff #31737 11:17 AM, 09 Nov 2017
    ну так да, места мало, заюзаю эту фичу, будет круто
  • https://t.me/clickhouse_ru
    @kshvakov #31738 11:18 AM, 09 Nov 2017
    насколько мало,у вас очень "широкая" таблица ? При таких объемах оно меряется парой гигабайт за год
  • https://t.me/clickhouse_ru
    @Shegloff #31739 11:22 AM, 09 Nov 2017
    места мало занимает эта таблица :) мне главное чтобы производительность из-за этого сильно не проседала из-за всяких мержей
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31740 11:23 AM, 09 Nov 2017
    Подскажите, пожалуйста, почему optimize table patition final отрабатывает и не схлопывает данные?
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31741 11:23 AM, 09 Nov 2017
    Я где-то не так понял документацию?
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31742 11:24 AM, 09 Nov 2017
    Если я правильно понимаю, то после optimize, count() == uniqExact(primary key) должно быть
  • https://t.me/clickhouse_ru
    @Shegloff #31743 11:24 AM, 09 Nov 2017
    вот как раз это использую часто, optimize table patition final, для своей ReplicatedReplacingMergeTree, всегда схлопывается
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31744 11:24 AM, 09 Nov 2017
    Вот у меня тоже самое, но не схлопывается
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31745 11:25 AM, 09 Nov 2017
    Правда у меня просто ReplacingMergeTree
  • https://t.me/clickhouse_ru
    @Shegloff #31746 11:25 AM, 09 Nov 2017
    у вас без Distributed? Может быть, данные на разных шардах лежат?
  • https://t.me/clickhouse_ru
    @Shegloff #31747 11:26 AM, 09 Nov 2017
    чтобы схлопывалось, нужно чтоб они на 1 шарде лежали
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31748 11:27 AM, 09 Nov 2017
    У меня 1 машина с 1 КХ
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31749 11:28 AM, 09 Nov 2017
    @milovidov_an Алексей, помогите, пожалуйста
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31750 11:28 AM, 09 Nov 2017
    Вот такая беда(
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31751 11:30 AM, 09 Nov 2017
    Вот create table
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31739 #31752 11:37 AM, 09 Nov 2017
    С вашими объемами не о чем беспокоиться
  • @konstantin_mitjurin #31753 11:43 AM, 09 Nov 2017
    Добрый день! Возможно многие из вас в курсе, про сегодняшнюю проблему в OVH, так вот, наш кластер КХ как раз там, не смотря на то, что все ноды были разнесены по разным ДЦ - сегодня накрыло все 😕 пока мы в ожидании поднятия серверов, хотел бы понять, чем это обернется для кластера? Что будет если ноды войдут в строй в разное время? Из плюсов данный момент - мы остановили скрипты, которые выгружали в данные в КХ.
  • @129259204 #31754 11:45 AM, 09 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @donhenarcho #31755 11:45 AM, 09 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @kshvakov #31756 11:46 AM, 09 Nov 2017
    Ну, на какое-то время у вас в репликах будут разные данные, потом все должно нормализоваться
  • https://t.me/clickhouse_ru
    @Shegloff ↶ Reply to #31749 #31757 11:49 AM, 09 Nov 2017
    А селект с FINAL что покажет?
  • https://t.me/clickhouse_ru
    А что такое селект с final?
  • https://t.me/clickhouse_ru
    Нашёл. отработал хорошо, корректно
  • https://t.me/clickhouse_ru
    @Shegloff #31760 11:51 AM, 09 Nov 2017
    из доки - Модификатор FINAL может быть использован только при SELECT-е из таблицы типа CollapsingMergeTree. При указании FINAL, данные будут выбираться полностью “сколлапсированными”.

    но для Replacing оно тоже работает
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @Shegloff #31762 11:51 AM, 09 Nov 2017
    select ... from table FINAL where ...
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31763 11:51 AM, 09 Nov 2017
    Но это какие-то костыли и несоответствие документации..
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31764 11:52 AM, 09 Nov 2017
    Но спасибо за подсказку!
  • https://t.me/clickhouse_ru
    @Shegloff #31765 11:53 AM, 09 Nov 2017
    с FINAL все ок, но OPTIMIZE их не схлопывает - хз дальше, есть мысль только про ключ для сэмплирования, у меня его нет, и все работает
  • https://t.me/clickhouse_ru
    @gtbear #31766 11:53 AM, 09 Nov 2017
    OPTIMIZE с FINAL еще есть
  • https://t.me/clickhouse_ru
    @Shegloff ↶ Reply to #31766 #31767 11:54 AM, 09 Nov 2017
    Он так и делает
  • https://t.me/clickhouse_ru
    @Shegloff ↶ Reply to #31763 #31768 11:55 AM, 09 Nov 2017
    Мне кажется, вы ключ для сэмплирования указали не в соответствии с докой :) там про него ничего нет для движка ReplacingMergeTree
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31769 12:02 PM, 09 Nov 2017
    Не очевидно, если честно. Т.е. да, в разделе про ReplacingMergeTree нет ни слова про сэмплирование, но 1) оно есть в описание семейства движков 2) оно же создалось!
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31770 12:03 PM, 09 Nov 2017
    "Движок таблиц отличается от MergeTree тем, что выполняет удаление дублирующихся записей с одинаковым значением первичного ключа." И нету "и отсутсвием возможности сэмплирования"
  • @ztlpn #31771 12:05 PM, 09 Nov 2017
    У вас наверно один кусок в партиции остался? Особенность OPTIMIZE FINAL в том, что для одного куска никаких дополнительных действий не предпринимает. Кстати, наверно это поправить надо.
  • https://t.me/clickhouse_ru
    @vladimirmyuge #31772 12:07 PM, 09 Nov 2017
    Наверное да, но 1) не понятно как это получилось, раз записи должны были схлопуться, и 2) не понятно что теперь с этим делать (
  • https://t.me/clickhouse_ru
    @andrey_konyaev #31773 12:38 PM, 09 Nov 2017
    Товарищи, как сделать rename колонки в таблице?
    Не нашёл такой alter в доке.
  • https://t.me/clickhouse_ru
    @Shegloff #31774 12:46 PM, 09 Nov 2017
    я конечным юзерам всегда говорю юзать FINAL, потому что они могут наткнутться на момент когда появились дубли, но еще не схлопнулись
  • https://t.me/clickhouse_ru
    @deniszh #31775 12:49 PM, 09 Nov 2017
    Доброго дня всем! А кто подскажет куда и в каком виде вставить в конфиг флаг для произвольного партиционирования? Который experimental_allow_extended_storage_definition_syntax ?
  • https://t.me/clickhouse_ru
    @Civiloid #31776 12:50 PM, 09 Nov 2017
    вангую что в users.xml надо воткнуть <experimental_allow_extended_storage_definition_syntax>1</experimental_allow_extended_storage_definition_syntax>
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31774 #31777 12:50 PM, 09 Nov 2017
    FINAL медленно, GROUP BY лучше
  • https://t.me/clickhouse_ru
    @Shegloff #31778 12:50 PM, 09 Nov 2017
    а с group by разве дублей не будет*
  • https://t.me/clickhouse_ru
    @kshvakov #31779 12:53 PM, 09 Nov 2017
    Для CollapsingMergeTree нет
  • @ztlpn ↶ Reply to #31775 #31780 12:54 PM, 09 Nov 2017
    Можно просто сделать SET в сессии, которая создаёт таблицу. В users.xml тоже можно.
  • https://t.me/clickhouse_ru
    @deniszh ↶ Reply to #31780 #31781 12:55 PM, 09 Nov 2017
    А, т.е. оно только для создания? для работы сервера не нужно?
  • @ztlpn #31782 12:55 PM, 09 Nov 2017
    Да
  • https://t.me/clickhouse_ru
    @deniszh #31783 12:59 PM, 09 Nov 2017
    @ztlpn : А, а для GraphiteMergeTree не работает еще?
  • https://t.me/clickhouse_ru
    @deniszh #31784 12:59 PM, 09 Nov 2017
    :) CREATE TABLE graphite_xui (
    :-] Path String,
    :-] Value Float64,
    :-] Time UInt32,
    :-] Date Date,
    :-] Timestamp UInt32
    :-] ) ENGINE = GraphiteMergeTree PARTITION BY Date ORDER BY (Path, Time);

    CREATE TABLE graphite_xui
    (
    Path String,
    Value Float64,
    Time UInt32,
    Date Date,
    Timestamp UInt32
    )
    ENGINE = GraphiteMergeTree
    PARTITION BY Date
    ORDER BY (Path, Time)

    Received exception from server:
    Code: 42. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: With extended storage definition syntax storage GraphiteMergeTree requires 1 parameters:
    'config_element_for_graphite_schema'
  • @ztlpn #31785 01:00 PM, 09 Nov 2017
    Элемент конфига все равно указывается в скобках после движка.
  • https://t.me/clickhouse_ru
    @deniszh #31786 01:01 PM, 09 Nov 2017
    А, точно, роллап потерял.
  • @ztlpn #31787 01:02 PM, 09 Nov 2017
    Должно работать для всех вариантов MergeTree + Replicated
  • https://t.me/clickhouse_ru
    @deniszh #31788 01:06 PM, 09 Nov 2017
    @ztlpn : типа ENGINE = GraphiteMergeTree PARTITION BY Date ORDER BY (Path, Time) SETTINGS config_element_for_graphite_schema='graphite_rollup'; ?
  • https://t.me/clickhouse_ru
    @deniszh #31789 01:06 PM, 09 Nov 2017
    не берет 🙁
  • @ztlpn #31790 01:07 PM, 09 Nov 2017
    GraphiteMergeTree(‘graphite_rollup’)
  • https://t.me/clickhouse_ru
    @deniszh #31791 01:08 PM, 09 Nov 2017
    A, параметр движка. Спасибо!
  • @igorl86 #31792 01:09 PM, 09 Nov 2017
    подскажите пожалуйста, а поддержка массивов двойной вложенности в MergeTree — ее просто не успели сделать и возможно появится или есть принципиальные причины почему их нет и не будет ?
  • https://t.me/clickhouse_ru
    @EKbfh #31793 01:15 PM, 09 Nov 2017
    Joined.
  • @zheleboba #31794 01:59 PM, 09 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @ValarMorghuliis #31795 02:37 PM, 09 Nov 2017
    Всем привет! А можно ли сделать второй раз один и тот же запрос, и при этом игнорировать кеш кликхауса? Для сверки производительности.
  • @lexa_work #31796 02:40 PM, 09 Nov 2017
    думается, у самого CH нет кэша и он пологается на файловый OS
  • @lexa_work #31797 02:40 PM, 09 Nov 2017
    или я путаю что-то )
  • https://t.me/clickhouse_ru
    @kshvakov #31798 02:42 PM, 09 Nov 2017
    Можно так SET min_bytes_to_use_direct_io=1, merge_tree_uniform_read_distribution=0
  • https://t.me/clickhouse_ru
    @ValarMorghuliis #31799 02:42 PM, 09 Nov 2017
    наверно думается) второй один и тот же запрос срабатывает в разы быстрее. Если первый 20 секунд - то второй за 10мс
  • @lexa_work #31800 03:01 PM, 09 Nov 2017
    дык файловый кэш
  • @lexa_work #31801 03:01 PM, 09 Nov 2017
    прогрелся
  • @lexa_work #31802 03:01 PM, 09 Nov 2017
    первый запрос читал с дисков, второй уже из памяти
  • https://t.me/clickhouse_ru
    @rboyko #31803 03:14 PM, 09 Nov 2017
    Ребят, подскажите пожалуйста кто работал с CH из Tableau: при любой попытке поработать с интовой колонкой в Tableau в сторону CH через ODBC кидается SQL вида: "SELECT SUM({fn CONVERT(test_tableau.i, SQL_BIGINT)}) AS sum_i_ok FROM test_tableau HAVING (COUNT(1) > 0)". И естественно получаю syntax error. Может кто сталкивался?
  • Да, сталкивались. Вы используете последнюю версию драйвера? Она должна преобразовывать CONVERT.
  • https://t.me/clickhouse_ru
    @rboyko #31805 03:35 PM, 09 Nov 2017
    Да, последнюю - 54310
  • @milovidov_an #31806 03:37 PM, 09 Nov 2017
    Releases · ClickHouse/clickhouse-odbc

    ODBC driver for ClickHouse. Contribute to ClickHouse/clickhouse-odbc development by creating an account on GitHub.

  • @solhov #31807 03:41 PM, 09 Nov 2017
    Joined.
  • @solhov #31808 03:41 PM, 09 Nov 2017
    Алексей, последняя версия тоже падает
  • https://t.me/clickhouse_ru
    @rboyko #31809 03:42 PM, 09 Nov 2017
    Да, релиз odbc брал от 2017-11-07
  • https://t.me/clickhouse_ru
    @rboyko #31810 03:52 PM, 09 Nov 2017
    Ок, спасибо за инфу
  • Жаль, значит недоделали escape последовательности.
  • @solhov ↶ Reply to #31811 #31812 03:57 PM, 09 Nov 2017
    54304 версия, если быть точным
  • @solhov #31813 03:57 PM, 09 Nov 2017
    Не знаю есть ли более последняч
  • От сервера не зависит. Это недостающая функциональность в драйвере.
  • @milovidov_an #31815 04:11 PM, 09 Nov 2017
    Митап в Нижнем Новгороде 24 ноября: https://events.yandex.ru/events/meetings/24-nov-2017/
  • None
  • @garikanet #31817 04:15 PM, 09 Nov 2017
    Трансляция планируется?
  • @vsushko #31818 04:17 PM, 09 Nov 2017
    Joined.
  • Нет - в Нижнем Новгороде без трансляции.
    Потом будет митап в Москве, скорее всего с трансляцией.
  • @solhov ↶ Reply to #31814 #31820 04:26 PM, 09 Nov 2017
    В драйвере чего?
  • Это недоработка в ODBC драйвере.
  • @solhov #31822 04:58 PM, 09 Nov 2017
    А разве кликхаус сам с собой через одбц драйвер работает?
  • @danton0v ↶ Reply to #31803 #31823 05:01 PM, 09 Nov 2017
    если в кастомизации подключения табло к КХ прописать <customization name='SQL_CONVERT_FUNCTIONS' value='2' />, то он будет вместо CONVERT использовать CAST
  • @182117026 #31824 05:03 PM, 09 Nov 2017
    Joined.
  • В запросе фрагмент {fn CONVERT(test_tableau.i, SQL_BIGINT)} - это некая escape последовательность, предназначенная для ODBC драйвера. Драйвер должен заменить её на что-нибудь понятное перед отправкой в сервер.
  • @solhov ↶ Reply to #31825 #31826 05:28 PM, 09 Nov 2017
    Это не мой случай. У меня 1360 на гитхабе
  • @qwertmax #31827 05:31 PM, 09 Nov 2017
    Joined.
  • Действительно, перепутал ваш вопрос с другим. Buffer таблицы будем смотреть. Далее можно в почте (clickhouse-feedback@yandex-team.com), если будет удобнее.
  • @3334085 ↶ Reply to #31819 #31829 05:49 PM, 09 Nov 2017
    т.е если я из Москвы то мне стоит подождать события в Москве? я уже формул даже заполнил на регистрации в Ни-Но но почту еще не подтвердил
  • @f1yegor #31830 05:54 PM, 09 Nov 2017
    @qwertmax добро пожаловать!
  • @qwertmax #31831 06:00 PM, 09 Nov 2017
    @f1yegor спасибо! и всем привет
  • В Москве и Н.Н. разные программы мероприятия. Если есть возможность и не жалко денег на поезд, то лучше и туда, и туда.

    Разумеется, в Н.Н. масштаб несколько меньше.
  • https://t.me/clickhouse_ru
    @gtbear #31833 06:12 PM, 09 Nov 2017
    на митап в мск где записываться?
  • @3334085 ↶ Reply to #31832 #31834 06:13 PM, 09 Nov 2017
    Спасибо, подтвердил адрес, только вопросы не отправил к сожалению (VDI меня печалит), буду надеятся что попаду на встречу =)
  • @milovidov_an #31835 06:13 PM, 09 Nov 2017
    > на митап в мск где записываться?
    Пока нигде, формочку ещё не открыли. Чуть позже.
  • https://t.me/clickhouse_ru
    @gtbear #31836 06:19 PM, 09 Nov 2017
    а когда хоть будет?
  • @milovidov_an #31837 06:20 PM, 09 Nov 2017
    В начале декабря, примерно 10 +-3 дня.
  • https://t.me/clickhouse_ru
    @milovidov_an Алексей, а можете по optimize partition final для ReplacingMergeTree подсказать? Почему-то не схлопывается..
  • Посмотрите вывод SELECT * FROM system.parts WHERE active AND table = '...' AND partition = 'интересующая партиция'
    а также SELECT * FROM system.merges

    Насколько я понял, вы запускаете OPTIMIZE TABLE ... PARTITION ... FINAL, но мерж не производится.

    Это возможно в следующих ситуациях:
    - в партиции уже только один кусок;
    - куски уже мержатся в данный момент;
    - куски нельзя мержить сейчас (для них уже назначен мерж в очереди репликации; между кусками зарезервирован номер для вставки другой репликой...)
  • А в Москве про CatBoost будет?
  • Будет, но не на нашем митапе, а на другой встрече. Встреча ещё не анонсирована, наверное на днях будет анонс.
  • @garikanet #31842 06:29 PM, 09 Nov 2017
    Спасибо!
  • https://t.me/clickhouse_ru
    SELECT * FROM system.merges пустой. В партиции 6 кусков, не понимаю, мержатся ли они прямо сейчас.

    Обидно, что optimize final вроде срабатывает и пишет Ok. , но на самом деле данные остаются задублированные(
  • Также мерж не назначается, если на диске нет места для мержа с некоторым запасом.
  • @konstantin_mitjurin #31845 07:18 PM, 09 Nov 2017
    Добрый вечер! Сегодня я уже писал, про OVH, b xnj e vtyznfv rkfcnth
  • @konstantin_mitjurin #31846 07:19 PM, 09 Nov 2017
    у меня там кластер
  • @konstantin_mitjurin #31847 07:19 PM, 09 Nov 2017
    4 ноды
  • @konstantin_mitjurin #31848 07:19 PM, 09 Nov 2017
    2 шарда
  • @konstantin_mitjurin #31849 07:19 PM, 09 Nov 2017
    по 2 реплики
  • https://t.me/clickhouse_ru
    @hitmaker ↶ Reply to #31845 #31850 07:19 PM, 09 Nov 2017
    забудь до завтра про ovh. там до сих пор трясёт всё. консистентность разъехалась, dns упали
  • @konstantin_mitjurin #31851 07:20 PM, 09 Nov 2017
    у нас паблик клауд
  • @konstantin_mitjurin #31852 07:20 PM, 09 Nov 2017
    он уже поднялся
  • https://t.me/clickhouse_ru
    @hitmaker #31853 07:20 PM, 09 Nov 2017
    мы даже умудрились сертификатов потерять
  • @konstantin_mitjurin #31854 07:20 PM, 09 Nov 2017
    у нас поднялось по 1-й реплике на каждом шарде
  • @konstantin_mitjurin #31855 07:21 PM, 09 Nov 2017
    2 остальные сыпят ошибками
  • @konstantin_mitjurin #31856 07:22 PM, 09 Nov 2017
    2017.11.09 22:14:43.502643 [ 1 ] <Error> Application: DB::Exception: Cannot create table from metadata file /var/lib/clickhouse/metadata/default//%2Einner%2Eoverall_grouped2.sql, error: DB::Exception: The local set of parts of table .inner.overall_grouped2 doesn't look like the set of parts in ZooKeeper. There are 88 unexpected parts (44 of them is not just-written), 0 unexpectedly merged parts, 0 missing obsolete parts, 23 missing parts, stack trace:
  • По инструкции, ставьте флаг force_restore_data и запускайте.
  • @konstantin_mitjurin #31858 07:23 PM, 09 Nov 2017
    Алексей, спасибо! буду пробовать
  • @konstantin_mitjurin #31859 07:27 PM, 09 Nov 2017
    Вопроснемного глуповат
  • @konstantin_mitjurin #31860 07:27 PM, 09 Nov 2017
    Для запуска восстановления, создайте в ZooKeeper узел /path_to_table/replica_name/flags/force_restore_data с любым содержимым
  • @konstantin_mitjurin #31861 07:27 PM, 09 Nov 2017
    но как это делается?
  • https://t.me/clickhouse_ru
    @baltazorbest #31862 07:27 PM, 09 Nov 2017
    Костя привет 🙂
  • @konstantin_mitjurin #31863 07:27 PM, 09 Nov 2017
    О Саш
  • @konstantin_mitjurin #31864 07:27 PM, 09 Nov 2017
    привет :)
  • @konstantin_mitjurin #31865 07:27 PM, 09 Nov 2017
    Вас ОВХ тоже потряс сегодня?
  • https://t.me/clickhouse_ru
    @baltazorbest #31866 07:27 PM, 09 Nov 2017
    не, все стабильно
  • https://t.me/clickhouse_ru
    @salttan ↶ Reply to #31860 #31867 07:29 PM, 09 Nov 2017
    Не обязательно в ZooKeeper
    можно sudo -u clickhouse touch /var/lib/clickhouse/flags/force_restore_data
  • @konstantin_mitjurin #31868 08:01 PM, 09 Nov 2017
    Спасибо! Вроде все прошло удачно, данные сходятся на всех 4-х нодах
  • https://t.me/clickhouse_ru
    @raspavel #31869 08:47 PM, 09 Nov 2017
    Привет! Как можно узнать размер таблицы/всей базы?
  • https://t.me/clickhouse_ru
    @cmdrosmium #31870 08:51 PM, 09 Nov 2017
    где-то в системных табличках должна быть инфа, если вы не про du -sh /var/lib/clickhouse/db
  • https://t.me/clickhouse_ru
    @Revkov #31871 08:52 PM, 09 Nov 2017
    А где можно прочитать для каких задач был сделан CH? И для чего желательно его использовать?
  • https://t.me/clickhouse_ru
    @Shegloff #31872 08:55 PM, 09 Nov 2017
    в доке
  • https://t.me/clickhouse_ru
    @kshvakov #31873 08:55 PM, 09 Nov 2017
    прям на лендинге https://clickhouse.yandex/
    ClickHouse DBMS

    ClickHouse is a fast open-source column-oriented database management system that allows generating analytical data reports in real-time using SQL queries

  • https://t.me/clickhouse_ru
    @Shegloff #31874 08:55 PM, 09 Nov 2017
    в самом начале
  • Мотивация, почему сделали:
    https://habrahabr.ru/company/yandex/blog/273305/
    То же самое на английском:
    http://highscalability.com/blog/2017/9/18/evolution-of-data-structures-in-yandexmetrica.html
    Зачем решили открыть в open-source:
    https://habrahabr.ru/company/yandex/blog/303282/
    Эволюция структур данных в Яндекс.Метрике

    Яндекс.Метрика сегодня это не только система веб-аналитики, но и AppMetrica — система аналитики для приложений. На входе в Метрику мы имеем поток данных — событи...

  • @dveim ↶ Reply to #31875 #31876 09:25 PM, 09 Nov 2017
    любопытно, а как выглядел момент, когда решили написать CH?
    "задолбали все эти левые базы, дорогое и медленное, давайте свое запилим"?
  • @110657893 #31877 10:54 PM, 09 Nov 2017
    а есть запись вопросов/ответов после доклада?
  • @solhov #31878 11:15 PM, 09 Nov 2017
    в конференц-зале или около москвы?
  • 10 November 2017 (68 messages)
  • В общем, по нашей проблеме...
    На одном из серверов версию понизил до 1.1.54282 и память перестала утекать.
  • @zigmundkz #31881 04:00 AM, 10 Nov 2017
    Сейчас еще один сервак попилю для верности, но пока похоже, что есть регрессия между 1.1.54282 и 1.1.54310
  • https://t.me/clickhouse_ru
    @leidruid #31883 06:50 AM, 10 Nov 2017
    Пожскажите, как правильно сдампить бинарные данные в csv ?
    Сейчас при экспорте расставляются переносы строк
  • https://t.me/clickhouse_ru
    @leidruid #31884 06:51 AM, 10 Nov 2017
    Сейчас одна запись выглядит вот так:
    https://i.gyazo.com/9a08ab9f522a13e45a30207f185cc973.png
  • https://t.me/clickhouse_ru
    @alexander_trofimov #31885 07:46 AM, 10 Nov 2017
    Всем доброе утро и хорошего дня!
    Подскажите, пожалуйста, как посмотреть запрос, который вызывает ошибку записи в базу?
    ] <Error> executeQuery: Code: 26, e.displayText() = DB::Exception: Cannot parse JSON string: expected opening quote: (at row 14)

    куда-то пишется лог?
  • https://t.me/clickhouse_ru
    @mikhailq ↶ Reply to #31885 #31886 07:47 AM, 10 Nov 2017
    system.queries табличка или какое-то похожее название :)
  • https://t.me/clickhouse_ru
    @alexander_trofimov #31887 07:58 AM, 10 Nov 2017
    посмотрел - system.processes, но там просто написано JSONEachRow - мне бы сам этот запрос кривой поймать как-то..
  • https://t.me/clickhouse_ru
    @kshvakov #31888 08:01 AM, 10 Nov 2017
    Вот тут надо смотреть system.query_log
  • https://t.me/clickhouse_ru
    @kshvakov #31889 08:03 AM, 10 Nov 2017
    Для юзера от которого идут запросы должен быть включен лог <log_queries>1</log_queries>
  • @solhov ↶ Reply to #31828 #31890 08:51 AM, 10 Nov 2017
    временно лучше наверное через какой-то мессанджер, возможно. я сейчас собираю с дебагом. как нормально собрать с бандлееными либами я пока не знаю, но не думаю что проблема в них (хотя буст конечно может гадить)
  • https://t.me/clickhouse_ru
    @akisin #31891 09:02 AM, 10 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @ImAvtandil #31892 09:14 AM, 10 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @tshepitko #31893 10:17 AM, 10 Nov 2017
    Joined.
  • около москвы
  • @solhov #31895 10:24 AM, 10 Nov 2017
    нет, запись не велась, разве что кто тайком на диктофон
  • @layershifter #31896 10:26 AM, 10 Nov 2017
    У CH есть какая-то возможность узнать общее число строк до LIMIT?

    Пример запроса:
    SELECT
    S_DEVICE_TYPE,
    count()
    FROM pr_106.views
    GROUP BY S_DEVICE_TYPE
    WITH TOTALS
    LIMIT 2

    Он вернет две строки. А сколько всего строк?
  • @solhov #31897 10:27 AM, 10 Nov 2017
    что, не count()?
  • https://t.me/clickhouse_ru
    @orantius #31898 10:28 AM, 10 Nov 2017
    format json, rows_before_limit_at_least
  • https://t.me/clickhouse_ru
    @orantius #31899 10:29 AM, 10 Nov 2017
    limit без order by - по возможности избегайте этого.
  • @layershifter #31900 10:30 AM, 10 Nov 2017
    Коллеги, благодарю. В документации то это было описано (rows_before_limit_at_least) :)
  • @bkrols #31901 10:40 AM, 10 Nov 2017
    Ребят, а не подскажете как передавать Enum в RowBinary?
    Как String, FixedString или вовсе Int?
  • https://t.me/clickhouse_ru
    @kshvakov #31902 10:42 AM, 10 Nov 2017
    Ну,в native оно передается как Int8/Int16
  • @bkrols #31903 10:48 AM, 10 Nov 2017
    Спасибо, значит для подтверждения стоит сходить в исходники)
    Но, похоже, да, передается как Int
  • @103164043 #31904 10:51 AM, 10 Nov 2017
    Ребят, на конфе услышал о наличие движа spritelog. но нигде его описание найти не могу. я что то не так записал?
  • https://t.me/clickhouse_ru
    @orantius #31905 10:51 AM, 10 Nov 2017
    stripelog ?
  • @103164043 #31906 10:54 AM, 10 Nov 2017
    похоже на то, спасибо
  • @103164043 #31907 11:04 AM, 10 Nov 2017
    more exactly, we are using StripeLog tables. They are not documented right now. They differs from TinyLog in one way: all columns are stored in one file in "striped" form, so there are less files when working with many small tables.
  • @103164043 #31908 11:05 AM, 10 Nov 2017
    может пригодится кому
  • @pookieShmukie #31909 12:02 PM, 10 Nov 2017
    Не первый раз сталкиваюсь с ошибкой Sizes of nested arrays do not match. У меня в таблице несколько nested колонок и непонятно в какой проблема ( Есть возможность как то уточнять в какой колонке несовпадение? )
  • https://t.me/clickhouse_ru
    @orantius #31910 12:04 PM, 10 Nov 2017
    если не совпадают длины двух массивов, то проблема может быть в любом из них.
  • https://t.me/clickhouse_ru
    @trinitroturbotron #31913 12:26 PM, 10 Nov 2017
    Говорят что пока идёт запрос CREATE MATERIALIZED VIEW foo AS SELECT ... FROM bar;, то вставляющиеся в bar данные не попадают в foo пока данный CREATE выполняется. Но после завершения CREATE что будет, данные попадут? А какая именно часть вставляющихся в bar данных не попадёт в foo? При начале работы CREATE фиксируется некий "конец" bar, до которого проработает POPULATE SELECT или нет этогй "фиксации конца" и SELECT выгребет данные вплоть до тех данных, которые были вставлены когда сабжевый CREATE запрос уже работал? Хочется развёрнутый ответ, спасибо!
  • https://t.me/clickhouse_ru
    @trinitroturbotron #31914 12:41 PM, 10 Nov 2017
    (2) Есть большая таблица на N терабайт, которую надо перетащить на новый физический сервер (диск кончился). Копировать её настолько долго, что собираемые за такое время данные не хочется потерять. Поднять мгновенно реплику к этой таблице и получить на новом серваке живую копию нельзя - таблицу даже через перезапуск сервера вроде как нельзя преобразовать в replicated. Что же делать? Прокатит ли такой фокус: переименовываем старую жирную таблицу, потом на том же сервере создаём новую replicated со старым именем старой и делаем некий аттач старой в хвост этой новой, чтобы ВСЕ наши данные стали принадлежать этой replicated таблице и могли быть среплицированы вживую на тот новый сервер?
  • Хотя бы название родительской колонки, например nested goals
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31914 #31916 12:45 PM, 10 Nov 2017
    Да. прокатит, по структуре и движку должны полностью совпадать
  • https://t.me/clickhouse_ru
    @Shegloff #31917 12:46 PM, 10 Nov 2017
    pavel, вы пересказали пункт доки "Преобразование из MergeTree в ReplicatedMergeTree" :)
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31913 #31918 12:47 PM, 10 Nov 2017
    Без POPULATE вью создается сразу и начинает писать во вью попадают только новые данные, если делаете POPULATE то выполняется указаный запрос на уже имеющихся данных и пишет во вью, пока идет запрос новые данные идут "мимо"
  • @dr_gavrikov #31919 12:52 PM, 10 Nov 2017
    Коллеги, а как в КХ можно массив [90530,90531,90532,90533,90534,90535,14382443,14947448] типо такого, преобразовать к tuple?
  • https://t.me/clickhouse_ru
    @yuyugame ↶ Reply to #31914 #31920 12:55 PM, 10 Nov 2017
    Можно и без replicated, наверное. Переименовать большую таблицу в OLD, создать пустую такую же с тем же именем. Потом сделать detach для OLD, скопировать detached файлы на новый сервер и там приаттачить. Потом на новом сервере вкачать свежие данные , например, через INSERT SELECT * FROM remote(...)
  • https://t.me/clickhouse_ru
    А что если сделать без POPULATE, получив "живой" materialized view, а потом запустить POPULATE на него? Т.е. получим что он "с хвоста" заполняется старыми данными и с "головы" новыми, а посередине будет постепенно уменьшающийся пробел в данных. Это реальность?
  • https://t.me/clickhouse_ru
    @kshvakov #31922 01:08 PM, 10 Nov 2017
    Да, создаете MATERIALIZED VIEW без POPULATE, засекаете до какого момента лить старые данные и делаете INSERT INTO MV SELECT ... FROM T WHERE , в общем инсертите с тем же запросом что и вью создавали, но навешиваете на него условия чтоб данные сильно не задублировать
  • https://t.me/clickhouse_ru
    @trinitroturbotron #31923 01:28 PM, 10 Nov 2017
    Т.е. данные в "mv1" (MATERIALIZED VIEW), созданный без POPULATE могут поступать свежие (из связанной с ней другой таблицы, в которую кто-то вставляет) и одновременно в этот "mv1" может выполняться большой INSERT INTO mv1 SELECT ... из OLD таблицы?
  • https://t.me/clickhouse_ru
    @kshvakov #31924 01:40 PM, 10 Nov 2017
    Да, там "под капотом" обычная таблица создаётся
  • https://t.me/clickhouse_ru
    Спасибо. SummingMergeTree vs MergeTree на уровне хранения (на диске) - это одно и то же, разница только в том что SMT при мердже блоков суммирует столбцы и аггрегирует ключу, а MT этого не делает? Можно ли сказать что если вставляются только уникальные ключи, то в производительности вставлялки разницы нет?
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31925 #31926 01:57 PM, 10 Nov 2017
    Не должно быть разницы при вставке
  • https://t.me/clickhouse_ru
    @trinitroturbotron #31927 02:01 PM, 10 Nov 2017
    Ещё вопрос. Допустим есть MergeTree и SummingMergeTree. Мы хотим туда вставить данные из другой таблицы (INSERT SELECT), проаггрегировав по одним столбцам и просуммировав по другим. В случае с MergeTree мы пишем INSERT SELECT col1, col2, sum(col3), sum(col4) GROUP BY, т.е. используем явный GROUP BY и явные sum... Для SMT такого можно не делать, оно само умеет агрегировать и суммировать. Но наш запрос для MergeTree всё время падал по памяти на 98% даже со всякими памяте-ограничивающими параметрами в консоли (может они быле не те, ага). В случае с SMT всё хорошо, но мы дохли на IO, диск как-то конски жрался непонятно пока кем, видимо процессами суммирования блоков. Но если потерпеть, до запрос выполнялся.
    Хочется где-то прочитать в чём разница между этими двумя "пайплайнами" и что лучше юзать при подобных махинациях с терабайтными таблицами.
  • https://t.me/clickhouse_ru
    @ajIeks #31928 02:07 PM, 10 Nov 2017
    в первом случае скорее всего падали на group by, SMT же выполняет это в фоне, насилуя лишь диски (собственно что и видели)
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31927 #31929 02:13 PM, 10 Nov 2017
    Ну, про то что одна задача в фоне, а другая нет уже написали. Про то что запросы падали надо смотреть конкретные запросы, терабайты КХ обрабатывает неплохо

    SELECT *
    FROM
    (
    SELECT
    publisher_id,
    count() AS c
    FROM events
    GROUP BY publisher_id
    )
    ORDER BY c ASC
    LIMIT 5

    ┌─publisher_id─┬──c─┐
    │ 4014 │ 1 │
    │ 3851 │ 2 │
    │ 5213 │ 7 │
    │ 3785 │ 12 │
    │ 3827 │ 14 │
    └──────────────┴────┘

    5 rows in set. Elapsed: 15.958 sec. Processed 51.40 billion rows, 205.61 GB (3.22 billion rows/s., 12.88 GB/s.)
  • https://t.me/clickhouse_ru
    @Romkart #31930 02:43 PM, 10 Nov 2017
    max_bytes_before_external_sort

    почемуто не помогает когда есть сортировка и limit 1 by a,b
  • @f0x1clone #31931 02:50 PM, 10 Nov 2017
    Подскажите, насколько валидно - удалить партицию а потом вставлять туда данные заново?
  • @ztlpn #31932 03:05 PM, 10 Nov 2017
    Полностью валидно.
  • https://t.me/clickhouse_ru
    @Shegloff #31933 03:07 PM, 10 Nov 2017
    всегда так делаю
  • https://t.me/clickhouse_ru
    @maxstakes #31934 03:54 PM, 10 Nov 2017
    Joined.
  • @f0x1clone #31935 04:08 PM, 10 Nov 2017
    У нас после удаления, партиция не создается при вставке старых данных, с чем это может быть связано?
  • https://t.me/clickhouse_ru
    @asteglor #31936 04:23 PM, 10 Nov 2017
    Joined.
  • @f0x1clone #31937 04:30 PM, 10 Nov 2017
    Нашел баг, он уже на гитхабе
    Что при drop partition не чистятся /blocks/ в zookeeper
  • @f0x1clone #31938 04:31 PM, 10 Nov 2017
    Видимо это мой случай
  • https://t.me/clickhouse_ru
    @byte_word #31939 05:20 PM, 10 Nov 2017
    Подскажите, можно ли каким хитрым запросом сделать разрежение time series метрик, как делает GrafiteTreeMerge?
    То есть есть метрики (таблица с колонками Metric, Value, TImestamp) с поминутными значениями, а хочется выборку с часовым разрешением?
  • https://t.me/clickhouse_ru
    @mvikharev #31940 05:34 PM, 10 Nov 2017
    Коллеги, а есть ли существенная разница в производительности между SELECT FINAL и SELECT?
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31940 #31941 06:28 PM, 10 Nov 2017
    Да, на порядок, бывает больше
  • @ab31337 #31942 07:42 PM, 10 Nov 2017
    Joined.
  • Это делается с помощью обычного GROUP BY по округлённому времени. Например, SELECT toStartOfHour(t) AS rounded_time, avg(metric) FROM metrics WHERE ... GROUP BY rounded_time...
  • SELECT FINAL работает очень медленно.
  • @milovidov_an #31945 07:48 PM, 10 Nov 2017
    Выложена презентация с HighLoad++:
    https://clickhouse.yandex/presentations/highload2017/

    (нажимаете на первый слайд, дальше стрелками вправо/влево)
  • https://t.me/clickhouse_ru
    @Shegloff ↶ Reply to #31935 #31946 07:55 PM, 10 Nov 2017
    оу, точно, у меня была такая хрень, после дропа партиций не вставлялись данные, отбрасываясь как дубли
  • https://t.me/clickhouse_ru
    @Shegloff #31947 07:55 PM, 10 Nov 2017
    недавно обновился на 1.1.54304 версию, вроде как проблема ушла
  • https://t.me/clickhouse_ru
    @Shegloff #31948 07:56 PM, 10 Nov 2017
    последний раз все залилось четко
  • @milovidov_an #31949 08:05 PM, 10 Nov 2017
    Нет, проблема ещё актуальна.

    Для дедупликации запоминается по-умолчанию последние 100 блоков данных. Если были новые вставки, то старые блоки перестанут быть запомненными и данные перестанут дедуплицироваться. Поэтому со второго раза, в вашем случае, всё Ок.

    Алексей @ztlpn сейчас решает эту проблему.
  • 11 November 2017 (25 messages)
  • https://t.me/clickhouse_ru
    @Shegloff #31950 07:18 AM, 11 Nov 2017
    Хм, да,точно, я октябрь перезаливал, ноябрь не трогал
  • https://t.me/clickhouse_ru
    @Slaffko #31951 07:23 AM, 11 Nov 2017
    Joined.
  • @dmi88 #31952 09:22 AM, 11 Nov 2017
    Всем привет. С чем может быть связана ошибка Code: 252. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Too much parts. Merges are processing significantly slower than inserts..
    Вставляем записи раз в секунду, пачки небольшие порядка нескольких десятков тысяч. Впервые вылетела такая ошибка за год использования. Нормальных ответов не нашел в интернете.
  • Поиск по чату, были советы
  • @dmi88 #31954 10:11 AM, 11 Nov 2017
    да забыл про него (поиск по чату) сначала, уже почитал, спасибо
  • https://t.me/clickhouse_ru
    @kshvakov #31955 10:50 AM, 11 Nov 2017
    @milovidov_an Привет, сегодня случилось странное на ClickHouse 1.1.54284
    Началось все с https://gist.github.com/kshvakov/062efe6d1328b987f23d0bde256bd6e2 и в часть таблиц на шарде, по ощущениям, данные как-то рандомно задублировались, в 3 утра по UTC все спали и руками шард не трогали, примерно в 5 по UTC должна была выполниться задача на пересчет статистики, она выполнилась и сделала атач партиций с данными в таблицы и вот часть этих данных, слегка, странная
  • @RomanYx #31956 02:00 PM, 11 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @kshvakov #31957 03:02 PM, 11 Nov 2017
    Там местами получилось что действительно как-то рандомно, но в основном это посто дубли данный x2/x3/x4...
  • @konstantin_mitjurin #31958 03:28 PM, 11 Nov 2017
    Добрый вечер! Перестали записываться данные в КХ. Начали смотреть логи, а там: Failed: HttpCode:500 ; ;Code: 999, e.displayText() = zkutil::KeeperException: connection loss, path: /clickhouse/tables/01/overall_grouped2/temp/abandonable_lock-, e.what() = zkutil::KeeperException
  • @konstantin_mitjurin #31959 03:34 PM, 11 Nov 2017
    обнаружил, что на зукипере - disk full
  • @konstantin_mitjurin #31960 03:35 PM, 11 Nov 2017
    как это лечится? надо что-то подчистить или это чревато потерей данных?
  • @konstantin_mitjurin #31961 04:02 PM, 11 Nov 2017
    Народ, есть кто?
  • @konstantin_mitjurin #31962 04:02 PM, 11 Nov 2017
    почистили логи с помощью zkCleanup
  • @konstantin_mitjurin #31963 04:02 PM, 11 Nov 2017
    и очень большая проблема
  • @konstantin_mitjurin #31964 04:02 PM, 11 Nov 2017
    начали бешено дуплицироваться данные
  • @konstantin_mitjurin #31965 04:05 PM, 11 Nov 2017
    хотя, я понял в чем проблема....
  • @konstantin_mitjurin #31966 04:06 PM, 11 Nov 2017
    скрипт который выгружает данные в КХ - хранит их в редисе и в случае ошибок на стороне КХ - он не удаляет их из редиса для их же сохранности
  • @konstantin_mitjurin #31967 04:07 PM, 11 Nov 2017
    так вот, скрипт постоянно выгружал одни и те же данные в КХ, тот возвращал ошибку, НО видимо сохранял где-то у себя в памяти
  • @konstantin_mitjurin #31968 04:07 PM, 11 Nov 2017
    и когда заработал зукипер, он это все засинкал...
  • @konstantin_mitjurin #31969 04:42 PM, 11 Nov 2017
    еще вопрос
  • @konstantin_mitjurin #31970 04:46 PM, 11 Nov 2017
    на нодах в кластере стоят небольшие диски - по 400 Гб, вопрос можно ли как-то в КХ добавить еще дискового пространства при добавлении? Допустим как в постгресе - можно добавить новый tablespace, который будет располагаться на новом диске.
  • https://t.me/clickhouse_ru
    @shuttie ↶ Reply to #31970 #31971 05:00 PM, 11 Nov 2017
    Если диски под lvm, то это плевое дело. Иначе можно сгородить костылей с софт-линками: сделал детач, перенёс партишн, сделал на него линк, сделал аттач
  • @sr_maks1 #31972 07:05 PM, 11 Nov 2017
    подскажите в http dictionary как экранируется URL
  • @sr_maks1 #31973 07:35 PM, 11 Nov 2017
    подскажите - для http словаря можно ли указать формат JSON для input и если да, то как. Сейчас ругается на это. Выход видно только один - загонять JSON и обратно выдавать tabsepareted,
  • @sr_maks1 #31974 07:35 PM, 11 Nov 2017
    Code: 85, e.displayText() = DB::Exception: Format JSON is not suitable for input,
  • 12 November 2017 (75 messages)
  • В случае разрыва соединения с ZK возможно неатомарное добавление кусков в рабочий набор в оперативке и в ZK. Ситуация такая - мы ещё не знаем, добавлен ли кусок в ZK, клиент, выполняющий запрос ATTACH, получил сообщение об ошибке, но кусок уже добавлен в рабочий набор и доступен для чтения. Если фактически кусок не был добавлен в ZK, то он удалится после перезапуска.

    Эту проблему исправили в версии 1.1.54310.
  • Да, для серверов ZK надо обязательно настроить периодическую очистку логов. По-умолчанию её нет и это "бомба".
  • Есть возможность указать любой формат для данных.

    <http>
    <!-- Host. -->
    <url>http://[::1]/os.tsv</url>
    <!-- Which format to use for reading answer and making POST. -->
    <format>TabSeparated</format>
    </http>

    Вот тут прописываете JSONEachRow вместо TabSeparated и можете выгружать данные в JSON-ах на каждой строке.
  • JSON - где все записи в одном объекте + метаданные - не подходит для приёма данных. Вместо этого передавайте в JSONEachRow.
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31976 #31980 04:50 AM, 12 Nov 2017
    Вчера перезапуск сервера помог только для избавления от ошибок zkutil::KeeperException: invalid zhandle state, эти ошибки были только на 1-м сервере из 3-х в шарде, при ATTACH партиции, насколько я помню, ошибок не было (по крайней мере пишущий воркер их не зафиксировал), завтра ещё раз проверю. Данные пришлось восстанавливать, т.к. на всех серверах шарда данные были невалидны, но одинаковы, репликация отработала как надо )
  • https://t.me/clickhouse_ru
    @EKbfh #31981 07:33 AM, 12 Nov 2017
    Приветы. А почему нет нативного репозитория под debian? Пользоваться убунтовским?
  • @sr_maks1 #31982 07:37 AM, 12 Nov 2017
    Ребята привет! поправьте документацию
  • @sr_maks1 #31984 07:38 AM, 12 Nov 2017
    здесь cache вроде должен быть указан в <dictionary> ************** </dictionary>
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31981 #31985 07:49 AM, 12 Nov 2017
    Потому что в Яндексе Ubuntu )
  • https://t.me/clickhouse_ru
    @EKbfh ↶ Reply to #31985 #31986 08:42 AM, 12 Nov 2017
    Понятно, но деб не так далёк. Все остальные свои репы держат?
  • https://t.me/clickhouse_ru
    @cmdrosmium #31987 08:54 AM, 12 Nov 2017
    если лень компилировать, то напоминаю про образы докера
  • cache - это именно layout - никакой ошибки.
  • Сейчас наши .deb пакеты сделаны так, что их можно установить на Debian (должно работать на любой версии; можно взять, например, пакет от Xenial).
  • Возможно, повторный ATTACH одних и тех же данных.
  • https://t.me/clickhouse_ru
    @EKbfh ↶ Reply to #31989 #31991 09:06 AM, 12 Nov 2017
    Я так и пользуюсь, но это без гарантий, так?
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #31990 #31992 09:07 AM, 12 Nov 2017
    C нашей стороны ATTACH был один
  • https://t.me/clickhouse_ru
    @kshvakov #31993 09:07 AM, 12 Nov 2017
    и не все таблицы заафектило
  • @sr_maks1 ↶ Reply to #31988 #31994 09:25 AM, 12 Nov 2017
    Странно, так как в layot ругается.
  • @milovidov_an #31995 09:34 AM, 12 Nov 2017
    layout
    (проверьте на опечатки)
  • https://t.me/clickhouse_ru
    @terletskyi_oleksandr #31997 02:52 PM, 12 Nov 2017
    Joined.
  • @zotovvs #31998 04:42 PM, 12 Nov 2017
    Joined.
  • @3334085 #31999 05:26 PM, 12 Nov 2017
    коллеги а как лучше проверять и заменять Nan на NULL ?
  • думаю как то так isNaN(column) ? NULL : column
  • @pookieShmukie #32001 05:51 PM, 12 Nov 2017
    Поправил опечатку, последняя тоже большая
  • @vstakhov #32003 05:52 PM, 12 Nov 2017
    интересно, а result != result тоже будет работать?
  • @vstakhov #32004 05:53 PM, 12 Nov 2017
    isnan вообще избыточная функция
  • @pookieShmukie #32005 05:55 PM, 12 Nov 2017
    Ну если нужно NaN заменить на NULL, то варианта лучше я не вижу в рамках КХ
  • @pookieShmukie #32006 05:56 PM, 12 Nov 2017
    Хм...result != result работает
  • @milovidov_an #32008 05:59 PM, 12 Nov 2017
    isNaN почему-то медленнее работает чем x != x, и это нехорошо.
  • @vstakhov #32009 06:01 PM, 12 Nov 2017
    если ты его зовешь в libm - это ожидаемо
  • @vstakhov #32010 06:01 PM, 12 Nov 2017
    function call вместо одной ассемблерной инструкции
  • @vstakhov #32011 06:04 PM, 12 Nov 2017
    хотя нет, в gcc это давно сделали builtin: The isinf and isnan built-in functions appear both with and without the __builtin_ prefix.
  • @3334085 #32012 06:26 PM, 12 Nov 2017
    странное поведение:
    SELECT replaceAll(toString(NULL), 'NULL', '22')

    ┌─replaceAll(toString(NULL), \'NULL\', \'22\')─┐
    │ \N │
    └──────────────────────────────────────────────┘
  • @3334085 #32013 06:27 PM, 12 Nov 2017
    а вот так работает:
  • @3334085 #32014 06:27 PM, 12 Nov 2017
    SELECT replaceAll('NULL', 'NULL', '22')

    ┌─replaceAll(\'NULL\', \'NULL\', \'22\')─┐
    │ 22 │
    └────────────────────────────────────────┘
  • @3334085 #32015 06:31 PM, 12 Nov 2017
    а нельзя как-то сделать что бы CH выдавал null а не NULL - графана не может с NULL работать =(
  • @solhov #32016 06:35 PM, 12 Nov 2017
    а что значит "не может"? а то у меня тоже графана и хотелось бы знать какие особенности именно этим вызваны
  • @3334085 ↶ Reply to #32016 #32017 06:37 PM, 12 Nov 2017
    это значит, что NULL графана интерпритирует как 0, а вот 'null' - как действительно пустоту и можно задать, что бы она игнорировала эти данные
  • @solhov #32018 06:38 PM, 12 Nov 2017
    есть такое, а я все гадал какого хера
  • @3334085 #32019 06:39 PM, 12 Nov 2017
    это по идее надо фиксить в плагине графаны, что бы NULL становился null, либо в CH заменяя на что-то, но в CH у меня это сделать не получилось - в чате выше мои попытки
  • @3334085 ↶ Reply to #32002 #32020 06:43 PM, 12 Nov 2017
    а такой же конструкций логический NULL на строку содержащую "null" заменить не получится?
  • К сожалению на строку скорее всего не получится, если только результат не преобразовать к toString, т.к. в случае с null будет String, а в случае с корректным числом будет Int или UInt и пр., в таком случае и слева и справа в условии должен быть один тип
  • @3334085 ↶ Reply to #32021 #32023 06:53 PM, 12 Nov 2017
    я похоже освоил кунг-фу - вот так у меня работает и для NULL и для числа на входе
  • @3334085 #32024 06:54 PM, 12 Nov 2017
    if(isNull(value), toString('null'), toString(value))
  • https://t.me/clickhouse_ru
    @ka_ktus #32025 07:03 PM, 12 Nov 2017
    Использую в графане запросы вида status IS NOT NULL AND status = 0.
  • @3334085 ↶ Reply to #32025 #32026 07:15 PM, 12 Nov 2017
    не всем подходит, у меня NULL - отсутствие данных, и это надо визуализировать
  • https://t.me/clickhouse_ru
    @ka_ktus #32027 07:19 PM, 12 Nov 2017
    Если такое бывает нужно, делаю график с status IS NULL.
  • https://t.me/clickhouse_ru
    @ka_ktus #32028 07:20 PM, 12 Nov 2017
    То есть визуализация как бы обратная. График растёт, если много NULL.
  • https://t.me/clickhouse_ru
    @ka_ktus #32029 07:22 PM, 12 Nov 2017
    Но вообще, наверное да - я не понял юзкейза (сам, на практике, не сталкивался с недостатками интерпретации NULL, разве что если хочется выбрать нулевые значения и приходится дописывать условие IS NOT NULL).
  • @solhov #32030 07:36 PM, 12 Nov 2017
    графана это визуализирует как разрыв в графике и именно так и хочется продолжать его визуализировать дальше.
  • @k1rk_t #32031 07:38 PM, 12 Nov 2017
    ребята, подскажите вопрос
  • @k1rk_t #32032 07:38 PM, 12 Nov 2017
    есть replicated replacing merge tree
  • @k1rk_t #32033 07:39 PM, 12 Nov 2017
    делаю select получаю слишком много данных
  • @k1rk_t #32034 07:39 PM, 12 Nov 2017
    делаю optimize table а потом селект тоже самое
  • @k1rk_t #32035 07:39 PM, 12 Nov 2017
    делаю select final получаю правильное число, но медленее (что ожидаемо)
  • @k1rk_t #32036 07:40 PM, 12 Nov 2017
    разве мануальный optimize не должен это лечить
  • @vludv ↶ Reply to #32036 #32037 07:54 PM, 12 Nov 2017
    Он не гарантирует, что все данные схлопнутся
  • @vludv #32038 07:56 PM, 12 Nov 2017
    Может быть что он вобще ничего не станет мержить, например если размер куска больше 100 Гб
  • @k1rk_t #32039 08:24 PM, 12 Nov 2017
    хм, а кто как решает вопрос отсутвия дубликатов?
  • @3334085 #32040 08:48 PM, 12 Nov 2017
    Придумал тут как можно было бы безболезнено решить вопрос транспонирования таблицы в стиле ClickHouse Way: Это должен быть движок таблицы, который (дополнение к MergeTree) На вход он должен принимать доп параметр - стобец по которому нужно делать транспонирование.

    При поступлении данных - движок должен искать есть ли уже нужные колонки куда записать данные (из указанной колонки при создании) если же нет - происходит Alter таблицы для создания нужных колонок и уже последующий insert.

    Эх, жалко я не на c++ пишу, но вдруг кому-то тоже будет интересен ClickHouse way функции Pivot из Oracle и кто-то решит это реализовать =)
  • https://t.me/clickhouse_ru
    @kshvakov #32041 08:55 PM, 12 Nov 2017
    Дело не в движке, тут можно кастомный output сделать, это решаемо, но есть одно "но", ClickHouse отдает данные блоками и, если взглянуть на clickhouse-client, возможна ситуация когда он нарисует несколько таблиц, но это можно будет пофиксить дополнительной сортировкой
  • https://t.me/clickhouse_ru
    @kshvakov #32042 09:02 PM, 12 Nov 2017
    А вообще интересная задача чтоб покапаться во внутренностях ClickHouse )
  • https://t.me/clickhouse_ru
    @kshvakov #32043 09:06 PM, 12 Nov 2017
    Кстати, нет желающих потестировать ещё один иструмент для миграций https://github.com/pressly/goose/pull/81 ? )
  • https://t.me/clickhouse_ru
    @akisin ↶ Reply to #32043 #32044 09:12 PM, 12 Nov 2017
    Ммм, можно поковрять)
  • @vludv ↶ Reply to #32039 #32045 10:37 PM, 12 Nov 2017
    Если есть задача единорозово почистить все дубликаты, то можно попробовать OPTIMIZE PARTITION. Она всегда все куски партиции смерживает в один (и соотвественно дедуплицирует)
  • @vludv #32046 10:38 PM, 12 Nov 2017
    Но такое имеет смысл делать например раз в месяц для старых данных. В общем случае клиент должен быть готов к дублям, либо использовать FINAL
  • https://t.me/clickhouse_ru
    @cargeh ↶ Reply to #32039 #32047 10:55 PM, 12 Nov 2017
    сегодня тоже задался этим вопросом :)

    Храню логи сообщений и в какой то момент обнаружил, что возникает дубликат пары (chat_id, msg_id) в момент записи. Попробовал сделать ReplacingMergeTree с кортежем (chat_id, msg_id), но он вообще все схлопывал и не писал :)

    Поэтому присоединяюсь к вопросу: как схлопывать одинаковые записи, где "одинаковые" - если сходятся два столбца?
  • @k1rk_t ↶ Reply to #32045 #32048 10:56 PM, 12 Nov 2017
    Хм, спасибо. пробую
  • @k1rk_t ↶ Reply to #32047 #32049 10:57 PM, 12 Nov 2017
    ну у меня тоже по кортежу ключей, но схлопывает корректно, просто не всегда схлопывает
  • @k1rk_t ↶ Reply to #32045 #32050 11:07 PM, 12 Nov 2017
    хм, спасибо. это уже лучше
  • https://t.me/clickhouse_ru
    @cargeh ↶ Reply to #32049 #32051 11:11 PM, 12 Nov 2017
    надо завтра ещё раз попробовать :)
  • 13 November 2017 (161 messages)
  • https://t.me/clickhouse_ru
    @easya #32052 05:08 AM, 13 Nov 2017
    Joined.
  • @pookieShmukie #32053 05:56 AM, 13 Nov 2017
    Если бы Алексей увидел для чего я использую это движок, мне кажется он бы был в шоке )
  • https://t.me/clickhouse_ru
    @orantius #32054 05:58 AM, 13 Nov 2017
    какой "этот"
  • Replacing Merge Tree
  • @pookieShmukie #32056 07:10 AM, 13 Nov 2017
    Скажем так, в таблице не больше 50 000 строк, и порядка 40 колонок из которых с десяток Nested
  • @pookieShmukie #32057 07:11 AM, 13 Nov 2017
    Делаю много селектов, длинных запросов, но работают они молниеносно
  • @pookieShmukie #32058 07:12 AM, 13 Nov 2017
    А еще я использовал движок чисто что бы залить порядка 100 миллиардов строк и схлопнуть дубликаты до 6 миллиардов ) ничего быстрее я еще не видел
  • @3334085 #32059 07:13 AM, 13 Nov 2017
    А когда подтверждение на нижний должно придти? (Что бы Билеты взять успеть) ?
  • https://t.me/clickhouse_ru
    @kmarenov #32060 07:27 AM, 13 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @Mblpz0r #32061 07:52 AM, 13 Nov 2017
    Добрый день господа
    Timeout exceeded while receiving data from client кто-то сталкивался с таким при заливке данных?
    как решали? повышали таймауты?
  • @cosmokit #32062 07:53 AM, 13 Nov 2017
    всем привет! такой вопрос - есть КХ, который в минуту пишет 20к строк и его нужно обновить. Не опасная ли затея?
  • @cosmokit #32063 07:54 AM, 13 Nov 2017
    Переживаю за целостность данных
  • https://t.me/clickhouse_ru
    @BloodJazMan #32064 07:55 AM, 13 Nov 2017
    кликхаус на одной ноде? не кластер?
    движок таблицы ReplicatedMergeTree?
  • https://t.me/clickhouse_ru
    @maxlapshin #32065 07:55 AM, 13 Nov 2017
    У нас ровно такая же нагрузка. Фронт сервер умеет аккумулировать данные и если кликхаус не справился, то запишет позже
  • https://t.me/clickhouse_ru
    @BloodJazMan #32066 07:56 AM, 13 Nov 2017
    а что такое "фронт-сервер"? мне кажется у топикстартера такого объекта нет в системе =)
  • @cosmokit #32067 07:57 AM, 13 Nov 2017
    да, это отдельный сервак и девелоперы решили использовать КХ как основное хранилище.
  • @cosmokit #32068 07:57 AM, 13 Nov 2017
    сейчас попробую
  • https://t.me/clickhouse_ru
    @maxlapshin #32069 08:03 AM, 13 Nov 2017
    В кликхаус кто пишет то?
  • https://t.me/clickhouse_ru
    @maxlapshin #32070 08:03 AM, 13 Nov 2017
    Не браузеры клиентов ведь :)
  • @cosmokit #32071 08:13 AM, 13 Nov 2017
    Err http://repo.yandex.ru/clickhouse/trusty/ stable/main clickhouse-server-common amd64 1.1.54245
    404 Not Found [IP: 2a02:6b8::183 80]
  • @cosmokit #32072 08:13 AM, 13 Nov 2017
    нежданчик
  • @cosmokit ↶ Reply to #32070 #32073 08:13 AM, 13 Nov 2017
    там и браузеры, и гео, клики, конверсии и тд
  • https://t.me/clickhouse_ru
    @Mblpz0r ↶ Reply to #32061 #32074 08:16 AM, 13 Nov 2017
    запиню еще разочек
    сори
  • @cosmokit ↶ Reply to #32071 #32075 08:20 AM, 13 Nov 2017
    май бэд... сорри.
  • @cosmokit #32076 08:20 AM, 13 Nov 2017
    обновился без проблем.
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @Mblpz0r ↶ Reply to #32077 #32078 08:22 AM, 13 Nov 2017
    нет, cli
  • @boommer ↶ Reply to #32061 #32080 08:29 AM, 13 Nov 2017
    Добрый. Да, на прошлой неделе то же было с миграцией данных в кх. По непонятным причинам сервер кх терялся (в одной локале сервер-клиент). писал балком по 100 строк через драйвер .net. Увеличивал таймауты - не помогло, грешил на сеть (так как нагрузки на сервере кх не было). Затем переписал код и все заработало. Идея - может проблема в клиенте?
  • https://t.me/clickhouse_ru
    @Mblpz0r ↶ Reply to #32080 #32081 08:30 AM, 13 Nov 2017
    вот тоже на одной локела
    переписали код чего?
    возможно проблема в клиенте
  • @boommer ↶ Reply to #32081 #32082 08:31 AM, 13 Nov 2017
    Приложение брало данные из Монги и ложило в кх в нужной модели
  • https://t.me/clickhouse_ru
    @Mblpz0r #32083 08:31 AM, 13 Nov 2017
    а сейчас
  • @boommer ↶ Reply to #32083 #32084 08:33 AM, 13 Nov 2017
    тестовая виртуалка кх на одной ноде, не кластер / MergeTree
  • https://t.me/clickhouse_ru
    @Mblpz0r ↶ Reply to #32080 #32085 08:48 AM, 13 Nov 2017
    но проблема в том что до какого-то момента все работало а потом перестало
  • @boommer ↶ Reply to #32085 #32086 08:50 AM, 13 Nov 2017
    >Timeout exceeded while receiving data from client
    а архитектура какая? что за клиент?
  • https://t.me/clickhouse_ru
    @Mblpz0r ↶ Reply to #32086 #32087 08:59 AM, 13 Nov 2017
    clickhouse-client в консоли
  • @pookieShmukie #32088 09:19 AM, 13 Nov 2017
    Блин, очень мешает отсутствие возможности толстый запрос толкнуть через POST при наличии передаваемых файлов (
  • @3334085 #32089 09:38 AM, 13 Nov 2017
    Коллеги, а что такое caseWithoutExpr у меня обычные Case вот в эти преообразуются при запросе
  • @boommer ↶ Reply to #32087 #32090 09:42 AM, 13 Nov 2017
    А RAM на кх сервере не забивается?
  • https://t.me/clickhouse_ru
    @Mblpz0r ↶ Reply to #32090 #32091 09:43 AM, 13 Nov 2017
    неа(
  • @boommer ↶ Reply to #32091 #32092 09:58 AM, 13 Nov 2017
    может тут https://groups.google.com/forum/#!topic/clickhouse/SLlMNwIOtmY или тут https://groups.google.com/forum/#!topic/clickhouse/zqn-GjuOT_Y
    что то дельное для решения найдете?
  • https://t.me/clickhouse_ru
    @windoozatnick #32093 10:03 AM, 13 Nov 2017
    Коллеги, а про "Применение моделей CatBoost внутри ClickHouse" не планируется в Мск рассказывать, в ближайшее время?
  • https://t.me/clickhouse_ru
    @windoozatnick #32094 10:03 AM, 13 Nov 2017
    Тема интересная, кажется
  • https://t.me/clickhouse_ru
    @Mblpz0r ↶ Reply to #32092 #32095 10:23 AM, 13 Nov 2017
    да это все смотрели
    спасибо за помощь
  • https://t.me/clickhouse_ru
    @asteglor #32096 10:48 AM, 13 Nov 2017
    Code: 47. DB::Exception
  • https://t.me/clickhouse_ru
    @asteglor #32097 10:49 AM, 13 Nov 2017
    как боротся с этой ошибкой?
  • https://t.me/clickhouse_ru
    @orantius ↶ Reply to #32089 #32098 10:50 AM, 13 Nov 2017
    большинство операторов из синтаксиса запросов выполняются в виде вызовов некоторых функций, caseWithoutExpr это одна из них.
  • https://t.me/clickhouse_ru
    @asteglor #32099 10:51 AM, 13 Nov 2017
    пытаюсь создать таблицу MergeTree, из Log, и сталкиваюсь с такой ошибкой
  • https://t.me/clickhouse_ru
    @orantius #32100 10:53 AM, 13 Nov 2017
    Unknown identifier?
  • Подтверждение придёт на днях, можете уже покупать билеты :)
  • https://t.me/clickhouse_ru
    @andrey208 #32102 11:34 AM, 13 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    У нас сообщения хранятся в файликах. К каждому сообщению доклеивается имя файла, и номер строки в нём. Файл может быть безлимитного размера, но вставляем из него max 1M строк. При рестарте приложения смотрим max(position) where filename = $file, и скипаем всё, что меньше.
    Вариант не очень быстрый, поэтому есть дополнительная оптимизация. Есть материализованная вьюха, в которой хранится select maxState(position) from events group by filename. При рестарте вычитываем из неё, а для файлов, которые не нашлись - из исходной таблицы с эвентами.
    Имхо, такой подход работал бы даже при чтении, например, из Kafka. Вместо filename - имя топика, вместо position - Kafka offset.
  • https://t.me/clickhouse_ru
    @patrakovdg #32104 11:46 AM, 13 Nov 2017
    всем привет! подскажите плиз, а как правильно переезжать на новый зукипер в существующей инсталляции КХ?
  • @sunsingerus #32105 12:49 PM, 13 Nov 2017
    Joined.
  • @sunsingerus #32106 12:50 PM, 13 Nov 2017
    @prll добрый день, я по поводу сборки CH для CentOS
  • https://t.me/clickhouse_ru
    @PsyDebug ↶ Reply to #32106 #32107 12:52 PM, 13 Nov 2017
    поделитесь потом пакетом)
  • @sunsingerus #32108 12:53 PM, 13 Nov 2017
    @PsyDebug вот тут https://packagecloud.io/altinity/clickhouse есть предыдущие версии
  • @sunsingerus #32109 12:53 PM, 13 Nov 2017
    54310 пока не осилил
  • https://t.me/clickhouse_ru
    @PsyDebug #32110 12:54 PM, 13 Nov 2017
    о, отлично, благодарю
  • @sunsingerus #32111 12:55 PM, 13 Nov 2017
    @PsyDebug потом srpm тоже выложу
  • https://t.me/clickhouse_ru
    @easya #32112 12:57 PM, 13 Nov 2017
    Всем привет! Скажите, а есть где-нибудь детальное описание метрик, отправляемых инстансом кликхауса в графит? Метрики берутся из табличек в system, но их описания в документации нет. Спасибо!
  • https://t.me/clickhouse_ru
    @Mike_Er #32113 01:05 PM, 13 Nov 2017
    https://packagecloud.io/altinity/clickhouse тут есть 310 под центос
  • https://t.me/clickhouse_ru
    @Mike_Er #32114 01:06 PM, 13 Nov 2017
    а если самому собрать хочется то там теперь немного танцев с сабмодулями, но в целом ничего сложного
  • https://t.me/clickhouse_ru
    @Civiloid #32115 01:06 PM, 13 Nov 2017
    ха, они решили просто openssl пересобрать
  • https://t.me/clickhouse_ru
    @Civiloid #32116 01:06 PM, 13 Nov 2017
    но мне такая идея не нравится (
  • https://t.me/clickhouse_ru
    @Mblpz0r #32117 01:22 PM, 13 Nov 2017
    а никто не подскажет
    23 треда для заливки в КХ эт нормально? или лучше использовать поменьше?
  • @dvahram #32118 01:23 PM, 13 Nov 2017
    не подскажите, как лучше всего хранить время с timezone? DateTime и UInt8 или UInt32 для UTC offset, или же есть вариант получше?
  • @kochetovnicolai #32119 01:32 PM, 13 Nov 2017
    Функции для работы с датой и временем поддерживают часовые пояса, так что можно хранить все в UTC, а если нужна еще и timezone, добавить колонку UInt8. Лучше хранить UInt8, чем UIn32
  • @dvahram #32120 01:35 PM, 13 Nov 2017
    Спасибо Николай! :)
  • @TanVD #32121 01:38 PM, 13 Nov 2017
    Привет :) А кто может подсказать — зачем в Clickhouse-Jdbc используется PoolingHttpClient? Насколько я понимаю единовременно JdbcConnection в любом случае будет использовать всегда одно HTTP соединение
  • https://t.me/clickhouse_ru
    @kshvakov #32122 01:43 PM, 13 Nov 2017
    Всем привет, меня тут попросили добавить поддержку Nested структур в гошный драйвер, но т.к. я достаточно ленив чтоб сразу ползти в код или пытаться разобраться спрошу тут. Что они из себя представляют в нативном протоколе ? Может ли быть массив nested-структур, а Nullable они могут быть ? Заранее спасибо )
  • https://t.me/clickhouse_ru
    @orantius #32123 01:44 PM, 13 Nov 2017
    в некоторых случаях можно считать что это просто набор массивов одинаковой длины с одинаковым префиксом до точки в имени.
  • Array(Nested(...)) структур не бывает, Nullable(Nested(...)) тоже. Только наоборот.
  • https://t.me/clickhouse_ru
    @kshvakov #32125 01:48 PM, 13 Nov 2017
    Понятно, а по структуре они там как выглядят, т.е. как там имена/пипы столбцов и данные передаются ? Пойду исходники читать
  • @milovidov_an #32126 01:58 PM, 13 Nov 2017
    Передаются как отдельные массивы с именами через точку.
  • @milovidov_an #32127 01:59 PM, 13 Nov 2017
    Вроде там даже длины массивов передаются много раз (что не оптимально).
  • https://t.me/clickhouse_ru
    @jbenua #32128 02:01 PM, 13 Nov 2017
    Привет, отчего может быть так, что я в таблицу с движком JOIN добавляю записи, а в результате при джойне с другой таблицей строк становится меньше? Думала на подгрузку данных при старте сервера, но рестарт не помог
  • https://t.me/clickhouse_ru
    @jbenua #32129 02:02 PM, 13 Nov 2017
    Join у меня ALL, INNER
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #32126 #32130 02:03 PM, 13 Nov 2017
    CREATE TABLE (
    F Uint8
    Nested (
    ID Int8
    Name String
    )
    )
    передаем как блок
    F,Nested.ID,Nested.Name <- названия
    Uint8,Int8,String <- Типы
    Количество колонок
    Количество строк
    данные Uint8 для F
    Массив Int8 для Nested.ID
    Массив String для Nested.Name

    Как-то понедельник туго идет )
  • @kochetovnicolai #32131 02:04 PM, 13 Nov 2017
    типы, наверное, UInt8, Array(Int8), Array(String)
  • https://t.me/clickhouse_ru
    @kshvakov #32132 02:05 PM, 13 Nov 2017
    ОК, спасибо
  • @DeamonMV #32133 02:51 PM, 13 Nov 2017
    Доброго времени суток
    подскажите по какой причине может обрыватся соединение. Скажем вот такой кейс - select с одной ноды, а в другую insert, все в одной консольке. Через какоето время получаю вот такое
    Code: 210. DB::NetException: Connection reset by peer while writing to socket (192.168.1.143:9000)
    Раза четыре уже повтарял селек-инсерт и каждый раз оно падало. Неприятно( после каждого не успешного селект-инсерта приходилось чистить партицию на принимающей стороне и перезапускать.
    В конечно счете переделал запросы с рабивкой по дню, и оно както начло справилятся с задачей. Но потом все равно отпало.

    В логах вот такое часто встречается

    2017.11.13 14:34:45.983461 [ 300523 ] <Error> ServerErrorHandler: Code: 210, e.displayText() = DB::NetException: Connection reset by peer: while reading from socket (192.168.1.149:37037), e.what() = DB::NetException, Stack trace:

    0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x3419e66]
    1. clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x1f) [0x343e81f]
    2. clickhouse-server(DB::ReadBufferFromPocoSocket::nextImpl()+0x239) [0x343e449]
    3. clickhouse-server(DB::TCPHandler::runImpl()+0x84d) [0x14ffc1d]
    4. clickhouse-server(DB::TCPHandler::run()+0x2b) [0x150055b]
    5. clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x3ae7c5f]
    6. clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0xad) [0x3aecead]
    7. clickhouse-server(Poco::PooledThread::run()+0x86) [0x3a1bad6]
    8. clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x38) [0x39facf8]
    9. clickhouse-server() [0x4290b0f]
    10. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7f9bbc7f26ba]
    11. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f9bbbe133dd]

    версия КХ на всех серверах
    "Revision 54310"
  • Возможно много причин, смотрите на системные метрики - CPU, диск, сеть; проверьте аптайм clickhouse-server: SELECT uptime() на всякий случай.
  • @DeamonMV #32135 03:19 PM, 13 Nov 2017
    Я тогда заведу тикет на гит хабе. Возможно что то будет полезно из моего опыта.
    Спасибо.
  • Только если удастся получить подробности. Ведь по одному симптому "во время вставки рвётся соединение" трудно что-то диагностировать.
  • https://t.me/clickhouse_ru
    @bloodrain777 #32137 03:42 PM, 13 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @bloodrain777 #32138 03:42 PM, 13 Nov 2017
    Мужики, всем привет, пытаюсь побороть этого зверя :)
  • https://t.me/clickhouse_ru
    @bloodrain777 #32139 03:42 PM, 13 Nov 2017
    Вопрос в чем - можно ли импортить данные в tar.gz иили только в csv?
  • https://t.me/clickhouse_ru
    @bloodrain777 #32140 03:43 PM, 13 Nov 2017
    У меня есть таблички 2 одна 7ггб вторая 2 ггб хз как их загнать в кликхаус
  • https://t.me/clickhouse_ru
    @orantius #32141 03:46 PM, 13 Nov 2017
    что такое ггб
  • https://t.me/clickhouse_ru
    @EKbfh ↶ Reply to #32141 #32142 03:55 PM, 13 Nov 2017
    ГиГаБайт
  • https://t.me/clickhouse_ru
    @windoozatnick #32143 03:55 PM, 13 Nov 2017
    просто гб
  • https://t.me/clickhouse_ru
    @EKbfh #32144 03:55 PM, 13 Nov 2017
    Я хз, мопед не мой :)
  • https://t.me/clickhouse_ru
    @BloodJazMan #32145 03:57 PM, 13 Nov 2017
    отвечая на вопрос
    1) вместо tar.gz используй просто gz
    2) да можно через HTTP интерфейс в clickhouse грузануть твой CSV
    curl -H "Content-encoding:gzip" -XPOST "http://hostname:8123/?query=INSERT INTO table(field1,field2, ... field N) FORMAT CSV" --data-binary= @your_file.gz
  • https://t.me/clickhouse_ru
    спасибо! я, в своё время, не нашёл в документации, как отправлять кликхаусу данные в HTTP gzip, буду знать
  • https://t.me/clickhouse_ru
    @BloodJazMan #32147 04:05 PM, 13 Nov 2017
    clickhouse post gzip
    гуглится на раздва =)
  • @dveim #32148 04:07 PM, 13 Nov 2017
    я правильно понимаю, что
    1) все "внутренние" передачи данных КХ гоняет по tcp
    2) для построения ответа ему иногда нужно собирать набор из N колонок (полученных из tcp) в tsv ?
    3) хттп ответ строится поверх tsv из предыдущего пункта?
  • https://t.me/clickhouse_ru
    @cmdrosmium #32149 04:09 PM, 13 Nov 2017
    для построения ответа кликхаус выполняет запрос, когда вы от него это просите, и только по тем колонкам, которые скажете, которые он форматирует как скажете
  • https://t.me/clickhouse_ru
    @BloodJazMan #32150 04:09 PM, 13 Nov 2017
    > для построения ответа ему иногда нужно собирать набор > из N колонок (полученных из tcp) в tsv ?
    а откуда такая мысль в голове?
    данные по внутреннему протоколу между нодами...
  • https://t.me/clickhouse_ru
    @cmdrosmium #32151 04:09 PM, 13 Nov 2017
    tsv это не протокол, а просто формат вывода =)
  • https://t.me/clickhouse_ru
    @Shegloff #32152 04:13 PM, 13 Nov 2017
    Native - именно этот формат используется в родном интерфейсе - при межсерверном взаимодействии, при использовании клиента командной строки, при работе клиентов, написанных на C++.
  • https://t.me/clickhouse_ru
  • @dveim ↶ Reply to #32150 #32154 04:17 PM, 13 Nov 2017
    сейчас смотрю на select * from test limit 1000000 из таблицы с String
    гошная нативная реализация отрабатывает за 600 мс, питонячья вообще за вечность, а вот java-jdbc-http за 200 мс
    гошная реализация читает по 1 стрингу из инпута, а jdbc — "построчно" из tsv ответа (насколько это применимо к tsc формату)
    чтение дататайпа с фиксированной длиной (Int32) проходит намного быстрее, что обьяснимо буферизацией
    из чего делаю вывод, что для хттп ответа набор колонок как-то особо шустро превращается в tsv, и интересует пункт "особо шустро", как это сделано — возможно, я не прав (например, из-за того, что колонки читаются из памяти и тут же транспонируются; тестирую на одном сервере)

    (код КХ не читал, почти не знаю плюсы, но, похоже, придется)
  • https://t.me/clickhouse_ru
    @cmdrosmium #32155 04:26 PM, 13 Nov 2017
    в смысле, вам интересно, какой формат лучше всех по соотношению удобство-скорость?
  • https://t.me/clickhouse_ru
    @cmdrosmium #32156 04:27 PM, 13 Nov 2017
    в чём вопрос?
  • https://t.me/clickhouse_ru
    @cmdrosmium #32157 04:27 PM, 13 Nov 2017
    как сделано форматирование в TSV?
  • @dveim ↶ Reply to #32156 #32158 04:37 PM, 13 Nov 2017
    как именно происходит формирование tsv из набора колонок на стороне КХ
  • @milovidov_an #32159 04:44 PM, 13 Nov 2017
    Все преобразования делаются потоково. Получаем поток результата, выводим поток tsv... Форматирование tsv внутри ClickHouse весьма оптимизировано, но не полностью - есть способ сделать быстрее. Например, сейчас для всех строчных форматов есть виртуальный вызов на каждое значение.
  • https://t.me/clickhouse_ru
    yandex/ClickHouse

    ClickHouse is a free analytic DBMS for big data.

  • @dveim ↶ Reply to #32159 #32161 04:49 PM, 13 Nov 2017
    а как создается "поток результата" ?

    проблема в том, что, читая N колонок из tcp, невозможно отдать первую строку, пока не прочитается первое значение из последней колонки
    это справедливо для формирования "потока результата" в КХ ?
  • @dveim ↶ Reply to #32160 #32162 04:50 PM, 13 Nov 2017
    покурю, спасибо!
  • @milovidov_an #32163 04:56 PM, 13 Nov 2017
    Данные в конвейере обработки запроса идут блоками - такие кусочки таблицы на не очень большое и не очень маленькое количество строк.

    Как потом блоки выводятся по строкам:

    https://github.com/yandex/ClickHouse/blob/v1.1.54310-stable/dbms/src/DataStreams/BlockOutputStreamFromRowOutputStream.h

    https://github.com/yandex/ClickHouse/blob/v1.1.54310-stable/dbms/src/DataStreams/BlockOutputStreamFromRowOutputStream.cpp
    ClickHouse/ClickHouse

    ClickHouse® is a free analytics DBMS for big data. Contribute to ClickHouse/ClickHouse development by creating an account on GitHub.

  • @dveim #32164 05:00 PM, 13 Nov 2017
    понял, логично, спасибо!
  • @f0x1clone #32165 05:12 PM, 13 Nov 2017
    Добрый день, у меня в логах наблюдаются такие вещи:
    {"log":"2017.11.13 17:09:16.474280 [ 38 ] \u003cTrace\u003e bfg.Grade (StorageReplicatedMergeTree): Executing log entry to merge parts 20170824_20170824_19021_19041_5, 20170824_20170824_19042_19042_0, 20170824_20170824_19043_19043_0, 20170824_20170824_19044_19044_0, 20170824_20170824_19045_19045_0, 20170824_20170824_19046_19046_0 to 20170824_20170824_19021_19046_6\n","stream":"stderr","time":"2017-11-13T17:09:16.474374042Z"}
    {"log":"2017.11.13 17:09:16.474293 [ 38 ] \u003cWarning\u003e bfg.Grade (StorageReplicatedMergeTree): Part 20170824_20170824_19021_19041_5 is covered by 20170824_20170824_19021_19045_6 but should be merged into 20170824_20170824_19021_19046_6. This shouldn't happen often.\n","stream":"stderr","time":"2017-11-13T17:09:16.474401249Z"}
    {"log":"2017.11.13 17:09:16.474300 [ 38 ] \u003cDebug\u003e bfg.Grade (StorageReplicatedMergeTree): Don't have all parts for merge 20170824_20170824_19021_19046_6; will try to fetch it instead\n","stream":"stderr","time":"2017-11-13T17:09:16.474408801Z"}
    {"log":"2017.11.13 17:09:16.475846 [ 102 ] \u003cWarning\u003e bfg.Grade (StorageReplicatedMergeTree, PartCheckThread): Checking part 20170824_20170824_19021_19046_6\n","stream":"stderr","time":"2017-11-13T17:09:16.475945161Z"}
    {"log":"2017.11.13 17:09:16.475861 [ 38 ] \u003cInformation\u003e bfg.Grade (StorageReplicatedMergeTree): DB::Exception: No active replica has part 20170824_20170824_19021_19046_6 or covering part\n","stream":"stderr","time":"2017-11-13T17:09:16.475958639Z"}
    {"log":"2017.11.13 17:09:16.476468 [ 102 ] \u003cWarning\u003e bfg.Grade (StorageReplicatedMergeTree, PartCheckThread): Checking if anyone has part covering 20170824_20170824_19021_19046_6.\n","stream":"stderr","time":"2017-11-13T17:09:16.476567544Z"}
    {"log":"2017.11.13 17:09:16.477967 [ 102 ] \u003cWarning\u003e bfg.Grade (StorageReplicatedMergeTree, PartCheckThread): Found all blocks for missing part 20170824_20170824_19021_19046_6. Will wait for them to be merged.\n","stream":"stderr","time":"2017-11-13T17:09:16.478095014Z"}

    с чем это может быть связано и чем опасно?
  • Не опасно. Тем не менее, это сообщение является следствием старого бага при назначении мержей и будет повторяться в логах, если не предпринять некоторых действий вручную.
  • @f0x1clone #32167 05:41 PM, 13 Nov 2017
    Спасибо! После обновления, я так понимаю, должно пройти?
  • @milovidov_an #32168 05:46 PM, 13 Nov 2017
    Сообщения в логах останутся, зато исчезнет причина возникновения таких ошибок.
  • https://t.me/clickhouse_ru
    @vladimirmyuge #32169 05:49 PM, 13 Nov 2017
    Подскажите, пожалуйста. Поменял конфиг, пытаюсь запустить сервис сервера и получаю Job for clickhouse-server.service failed because the control process exited with error code. See "systemctl status clickhouse-server.service" and "journalctl -xe" for details. Куда копать?
  • @milovidov_an #32170 05:50 PM, 13 Nov 2017
    Пишете
    sudo service clickhouse-server start
    что выводит?
  • https://t.me/clickhouse_ru
    @vladimirmyuge #32171 05:51 PM, 13 Nov 2017
    Вот это и выводит(
  • https://t.me/clickhouse_ru
  • @milovidov_an #32173 05:52 PM, 13 Nov 2017
    Нам буквально только что в репозиторий добавили скрипт для systemd. Наверное зря. @Civiloid поможешь?
  • @milovidov_an #32174 05:57 PM, 13 Nov 2017
    Также можете написать так:
    sudo /etc/init.d/clickhouse-server start
  • https://t.me/clickhouse_ru
    @Civiloid #32175 05:59 PM, 13 Nov 2017
    Собственно systemctl status бы увидеть
  • https://t.me/clickhouse_ru
    @excitoon #32176 05:59 PM, 13 Nov 2017
    А что же там в логе?
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @vladimirmyuge #32178 06:01 PM, 13 Nov 2017
    Я написал вот так и проблема локализовалась!
  • https://t.me/clickhouse_ru
    @vladimirmyuge #32179 06:01 PM, 13 Nov 2017
    Это был лишний, случайно поставленный символ в конфиге
  • https://t.me/clickhouse_ru
    @vladimirmyuge #32180 06:03 PM, 13 Nov 2017
    А вот и лог
  • https://t.me/clickhouse_ru
    @Myafk ↶ Reply to #32166 #32181 06:25 PM, 13 Nov 2017
    А вот где можно почитать про эти самые ручные действия?
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #32180 #32182 06:28 PM, 13 Nov 2017
    Ну это по прежнему жалоба на конфиг
  • Посмотреть в лог реплики в ZooKeeper и аккуратно удалить оттуда соответствующую запись на мерж.
  • https://t.me/clickhouse_ru
    @Myafk #32184 06:29 PM, 13 Nov 2017
    Окей, спасибо)
  • https://t.me/clickhouse_ru
    Да, это после того, как я выполнил sudo /etc/init.d/clickhouse-server start увидел жалобу, поправил конфиг и запустил
  • https://t.me/clickhouse_ru
    Если просто sudo service clickhouse-server start - то не гооврит, что ошибка в конфиге
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #32186 #32187 06:30 PM, 13 Nov 2017
    А это кстати бага, да
  • https://t.me/clickhouse_ru
    @Civiloid #32188 06:31 PM, 13 Nov 2017
    В смысле в случаи системд лог должен быть в стдаут
  • https://t.me/clickhouse_ru
    @Civiloid #32189 06:31 PM, 13 Nov 2017
    А стоп
  • https://t.me/clickhouse_ru
    @Civiloid #32190 06:32 PM, 13 Nov 2017
    Так ты статус так и не показал в момент когда сервис не запустился
  • https://t.me/clickhouse_ru
    @Civiloid #32191 06:32 PM, 13 Nov 2017
    В статусе должен быть текст ошибки
  • https://t.me/clickhouse_ru
    @Civiloid #32192 06:32 PM, 13 Nov 2017
    Или в крайнем случаи journalctl -u clickhouse-server -f
  • https://t.me/clickhouse_ru
    @vladimirmyuge #32193 06:35 PM, 13 Nov 2017
    Сейчас попробую воспроизвести
  • https://t.me/clickhouse_ru
    @catless #32194 06:36 PM, 13 Nov 2017
    привет, в документации написано:
    Пользователь, который используется для обмена информацией между серверами, объединенными в кластер, не должен иметь существенных ограничений или квот - иначе распределённые запросы сломаются.

    я могу разрешить этому пользователю только чтение? ничего не случится (писать я буду, конечно же, из-под запароленного пользователя)?
  • Можете.
  • https://t.me/clickhouse_ru
    Да, есть, но, конечно, было бы удобнее сразу его получать, но это уже придирки
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #32196 #32198 06:37 PM, 13 Nov 2017
    Это системд так решил
  • https://t.me/clickhouse_ru
    @Civiloid #32199 06:38 PM, 13 Nov 2017
    В смысле Поттеринг
  • https://t.me/clickhouse_ru
    @Civiloid #32200 06:38 PM, 13 Nov 2017
    Увы
  • https://t.me/clickhouse_ru
    @Civiloid #32201 06:38 PM, 13 Nov 2017
    На уровне юнита поправить нельзя
  • https://t.me/clickhouse_ru
    @Civiloid #32202 06:38 PM, 13 Nov 2017
    Кстати это автосделанный юнит, а не родной
  • https://t.me/clickhouse_ru
    @bulgakovmisha #32203 07:35 PM, 13 Nov 2017
    Joined.
  • @462884504 #32204 08:11 PM, 13 Nov 2017
    Joined.
  • @sunsingerus #32205 08:40 PM, 13 Nov 2017
    Для тех, кто интересовался RPM-ками
    ClickHouse 54310 RPM packages для CentOS 7 и Fedora 26 есть вот тут
    https://packagecloud.io/altinity/clickhouse
  • https://t.me/clickhouse_ru
    @quagway #32206 08:43 PM, 13 Nov 2017
    Более того, они рекомендованы официально: https://groups.google.com/forum/m/#!topic/clickhouse/DdaTsjjEneA
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #32154 #32207 08:51 PM, 13 Nov 2017
    Гошная нативная на чтение работает достаточно долго, отчасти это из за database/sql, но можно немножко попинать https://github.com/golang/go/issues/22544 и тогда, в 1.10 оно может стать значительно шустрее. Про то что ответы приходят блоками ниже уже написали, если делать просто SELECT * FROM table то, обычно, размер блока 65к строк, при группировках/сортировках он может быть больше (возможно хотелось бы иметь "ручку" на стороне сервера чтоб можно было управлять размером отсылаемого блока), с учетом буферизации как соединения, так и небольшой очереди из уже разобранных блоков можно расчитывать на то, что данные будут доступны для обработки (rows.Scan уже вернет значения) до того как от сервера придут все данные.
    proposal: database/sql: value converter interface for rows.Scan · Issue #22544 · golang/go

    Starting with Go 1.8 database/sql have an interface driver.ColumnConverter for convert value. I think it will be better to provide the interface for Scan too. Currently, row.Scan using convertAssig...

  • @dveim ↶ Reply to #32207 #32208 09:00 PM, 13 Nov 2017
    а откуда число 65к ?
    в моих экспериментах, обычно куда больше (в разы, ну и да, зависит от разных group by)
    ручку на стороне КХ искал, не нашел, может, плохо смотрел

    угу, основная задержка в чтении из сети, сейчас экспериментирую с вычитыванием ответа "наперед", огромными чанками (типа java.io.BufferedInputStream, но с константным размером буфера)
  • https://t.me/clickhouse_ru
    @bulgakovmisha #32209 09:01 PM, 13 Nov 2017
    /stat@combot
  • https://t.me/clickhouse_ru
    @n_e0h #32211 09:33 PM, 13 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @degibenz #32212 10:12 PM, 13 Nov 2017
    Всем добрый вчечер. Задам глупый вопрос про ORM.
    infi.clickhouse_orm кто-нибудь уже использовал? Какие ощущения/впечетления?
  • https://t.me/clickhouse_ru
    @openbsod ↶ Reply to #32212 #32213 10:40 PM, 13 Nov 2017
    Видел обзорную статью

    https://habrahabr.ru/company/itsumma/blog/341598/
    Кибер-оракул: поиск аномалий в данных мониторинга с помощью нейросети

    Количество данных, которые получает наш мониторинг выросло настолько, что для их обработки мощности только человеческого разума уже не хватает. Поэтому мы надрес...

  • https://t.me/clickhouse_ru
    @catless ↶ Reply to #32212 #32214 10:42 PM, 13 Nov 2017
    не умеет распределенные таблицы, понадобилось допилить
  • 14 November 2017 (159 messages)
  • https://t.me/clickhouse_ru
    @emakarov ↶ Reply to #32212 #32215 02:34 AM, 14 Nov 2017
    ощущения неплохие, код написан понятно
    автор активно отвечает на вопросы и принимает обоснованные пул реквесты
  • https://t.me/clickhouse_ru
  • @444276190 #32217 06:22 AM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @komex #32218 07:05 AM, 14 Nov 2017
    Joined.
  • @DeamonMV #32219 07:54 AM, 14 Nov 2017
    доброго времени суток.
    подскажите пожалуйста, может ли слияние кусков так долго происходить?
    Row 3:
    ──────
    database: test1
    table: schema_left_tag_local
    elapsed: 4350.583019391
    progress: 0.4058780428273565
    num_parts: 9
    source_part_names: ['20170916_20170916_16164_16828_4','20170916_20170916_16830_16974_3','20170916_20170916_16976_17132_3','20170916_20170916_17134_17936_4','20170916_20170916_17938_18082_3','2017
    0916_20170916_18084_18216_3','20170916_20170916_18218_18930_4','20170916_20170916_18932_19534_3','20170916_20170916_19536_20206_4']
    result_part_name: 20170916_20170916_16164_20206_5
    total_size_bytes_compressed: 47525423484
    total_size_marks: 36632
    bytes_read_uncompressed: 136245375663
    rows_read: 300037112
    bytes_written_uncompressed: 104693161393
    rows_written: 300037112
    columns_written: 37
    memory_usage: 63842304
    thread_number: 12

    Row 2:
    ──────
    database: test1
    table: schema_left_tag_local
    elapsed: 4352.126732025
    progress: 0.7101679007289964
    num_parts: 15
    source_part_names: ['20170916_20170916_25182_25242_2','20170916_20170916_25244_25254_1','20170916_20170916_25256_25266_1','20170916_20170916_25268_25414_3','20170916_20170916_25416_25642_3','2017
    0916_20170916_25644_25782_3','20170916_20170916_25784_25962_3','20170916_20170916_25964_26002_2','20170916_20170916_26004_26036_2','20170916_20170916_26038_26154_2','20170916_20170916_26156_26354_3','20170
    916_20170916_26356_26430_2','20170916_20170916_26432_26452_2','20170916_20170916_26454_26516_2','20170916_20170916_26518_26548_2']
    result_part_name: 20170916_20170916_25182_26548_4
    total_size_bytes_compressed: 15525738131
    total_size_marks: 12360
    bytes_read_uncompressed: 67101743329
    rows_read: 101188467
    bytes_written_uncompressed: 66298108129
    rows_written: 101188467
    columns_written: 60
    memory_usage: 56924160
    thread_number: 9

    а есть вот такое
  • @DeamonMV #32220 07:54 AM, 14 Nov 2017
    Row 1:
    ──────
    database: test1
    table: schema_left_tag_local
    elapsed: 4695.688001124
    progress: 0.041131550989239984
    num_parts: 7
    source_part_names: ['20170915_20170915_0_2026_4','20170915_20170915_2028_4082_4','20170915_20170915_4083_6146_4','20170915_20170915_6148_8232_4','20170915_20170915_8234_10316_4','20170915_2017091
    5_10318_12282_4','20170915_20170915_12284_12492_3']
    result_part_name: 20170915_20170915_0_12492_5
    total_size_bytes_compressed: 146001164772
    total_size_marks: 113231
    bytes_read_uncompressed: 110227357621
    rows_read: 927553442
    bytes_written_uncompressed: 77931888565
    rows_written: 927553442
    columns_written: 5
    memory_usage: 35907584
    thread_number: 5

    Всего на этой ноде три слияния проходит.
    Они указаны выше двумя кусочками.

    Это размеры этих кусков

    27G tmp_merge_20170915_20170915_0_12492_5
    29G tmp_merge_20170916_20170916_16164_20206_5
    12G tmp_merge_20170916_20170916_25182_26548_4
  • https://t.me/clickhouse_ru
    @kshvakov #32221 07:55 AM, 14 Nov 2017
    @milovidov_an Доброе утро, тут уже кто-то жаловался на увеличение расхода памяти в 1.1.54310, у нас есть сервер с метриками, он тоже после обновления стал отъедать память , по идее он не особо нагружен идут insert запросы ~15к строк в секудну, есть пара материализованых вью и реплика
    ┌─metric────────────────────────────────────┬─value─────┐
    │ tcmalloc.transfer_cache_free_bytes │ 5.34 MiB │
    │ tcmalloc.central_cache_free_bytes │ 30.61 MiB │
    │ tcmalloc.current_total_thread_cache_bytes │ 29.35 MiB │
    │ generic.heap_size │ 45.18 GiB │
    │ generic.current_allocated_bytes │ 41.27 GiB │
    │ ReplicasMaxRelativeDelay │ 0 │
    │ tcmalloc.pageheap_unmapped_bytes │ 1.90 GiB │
    │ ReplicasMaxAbsoluteDelay │ 0 │
    │ ReplicasSumMergesInQueue │ 0 │
    │ MarkCacheFiles │ 567465 │
    │ tcmalloc.thread_cache_free_bytes │ 29.35 MiB │
    │ MaxPartCountForPartition │ 15 │
    │ UncompressedCacheBytes │ 0 │
    │ ReplicasMaxQueueSize │ 0 │
    │ tcmalloc.pageheap_free_bytes │ 1.94 GiB │
    │ UncompressedCacheCells │ 0 │
    │ ReplicasMaxInsertsInQueue │ 0 │
    │ ReplicasMaxMergesInQueue │ 0 │
    │ Uptime │ 1034808 │
    │ MarkCacheBytes │ 333743584 │
    │ ReplicasSumInsertsInQueue │ 0 │
    │ ReplicasSumQueueSize │ 0 │
    └───────────────────────────────────────────┴───────────┘
  • @DeamonMV #32222 07:57 AM, 14 Nov 2017
    @kshvakov а можите поделится запросом? не могу быстро сообразить откуда это
  • https://t.me/clickhouse_ru
    @kshvakov #32223 07:58 AM, 14 Nov 2017
    SELECT
    metric,
    caseWithoutExpression((metric LIKE '%bytes') OR (metric LIKE '%heap%'), formatReadableSize(value), CAST(value AS String)) AS value
    FROM system.asynchronous_metrics
  • https://t.me/clickhouse_ru
    @kshvakov #32224 08:00 AM, 14 Nov 2017
    Т.к. памяти ему совсем маловато, он еще и в swap ушел
    total used free shared buffers cached
    Mem: 31G 30G 942M 1.8M 136M 3.0G
    -/+ buffers/cache: 27G 4.1G
    Swap: 31G 21G 10G
  • @DeamonMV #32225 08:01 AM, 14 Nov 2017
    спасибо
  • https://t.me/clickhouse_ru
    @akisin #32226 08:10 AM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @komex #32227 08:20 AM, 14 Nov 2017
    Ребят, подскажите, кто нибудь запускал КХ на проде в kubernates или хотя бы в docker? Как он себя чувствует в контейнере?
  • https://t.me/clickhouse_ru
    @v2nek #32228 08:21 AM, 14 Nov 2017
    да вроде неплохо
  • https://t.me/clickhouse_ru
    @komex ↶ Reply to #32228 #32229 08:25 AM, 14 Nov 2017
    А не проводили сравнение с голым железом? Большая просадка?
  • https://t.me/clickhouse_ru
    @v2nek #32230 08:26 AM, 14 Nov 2017
    не должно быть просадки, не проводил
  • https://t.me/clickhouse_ru
    @v2nek #32231 08:26 AM, 14 Nov 2017
    бОльшая просадка будет от плохих дисков или цпу
  • @f0x1clone #32232 08:33 AM, 14 Nov 2017
    Также - держим в докере, вроде все ок
  • @76915579 #32233 09:07 AM, 14 Nov 2017
    Добрый день, может кто подскажет: вылетает ошибка
    Code: 241, e.displayText() = DB::Exception: Memory limit (for query) exceeded: would use 9.40 GiB (attempt to allocate chunk of 268435456 bytes), maximum: 9.31 GiB
    Настройка для использования внешней памяти стоит
    distributed_aggregation_memory_efficient 1
    max_bytes_before_external_group_by 4500000000
    max_bytes_before_external_sort 4500000000
    max_memory_usage 10000000000
    версия ClickHouse 1.1.54304. Выполняется на одной машине.
  • Я удалил ноду из зк
    ROOT / clickhouse / tables / 1 / Grade / replicas / srv011 / queue / queue-0000027768

    но ошибки продолжают сыпатся, я что то упустил?
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #32233 #32236 09:11 AM, 14 Nov 2017
    Стоит, но не применилась. Может не туда вписали, может не для того юзера вписали, что говорит select * from system.settings where name = 'max_bytes_before_external_group_by';
  • @76915579 #32237 09:12 AM, 14 Nov 2017
    я от туда и скопировал
  • @76915579 #32238 09:13 AM, 14 Nov 2017
    вписал в users.xml в раздел default
  • @76915579 #32239 09:14 AM, 14 Nov 2017
    причем сначала ругалась при order by, но добавление max_bytes_before_external_sort помогло
  • @76915579 #32240 09:16 AM, 14 Nov 2017
    может они как-то суммируются? У меня выполняется запрос типа
    select .. from (select .. from .. order by limit by) group by
  • https://t.me/clickhouse_ru
    @kshvakov #32241 09:17 AM, 14 Nov 2017
    max_memory_usage поднимите
  • @76915579 #32242 09:20 AM, 14 Nov 2017
    спасибо, помогло.
  • https://t.me/clickhouse_ru
    @alexey_konkov #32243 09:20 AM, 14 Nov 2017
    день добрый!
    отчего запрос
    SELECT
    splitByChar('|', ifNull(stringField, '|||')) AS a,
    arrayStringConcat([a[1], a[3], a[4]], ',') AS subString,
    count() AS count
    FROM Table
    GROUP BY subString
    даёт ошибку
    Code: 215. DB::Exception: Received from xxx.xxx.xxx.xxx:9000. DB::Exception: Column stringField is not under aggregate function and not in GROUP BY..
    ?

    как лечить?

    добавление в селект any(stringField) не помогает
  • https://t.me/clickhouse_ru
    @alexey_konkov #32244 09:22 AM, 14 Nov 2017
    если завернуть в ANY(splitByChar('|', ifNull(stringField, '|||')) AS a) — то ли это будет по смыслу?
  • Вам нужно группинг по stringField добавить в запрос
  • https://t.me/clickhouse_ru
    @alexey_konkov #32246 09:24 AM, 14 Nov 2017
    нет, мне не нужно группинг по stringField :О)
    мне нужна группировка по части этой строки
  • https://t.me/clickhouse_ru
    Тогда вам нужно сделать подзапрос с разбивкой stringField в массив, а уже во внешнем взять части и сгруппировать только по ним
  • https://t.me/clickhouse_ru
    @alexey_konkov #32248 09:26 AM, 14 Nov 2017
    ясно. спасибо.
  • @kochetovnicolai #32249 09:32 AM, 14 Nov 2017
    еще должно помочь вынести group by во внешний подзапрос
  • @kochetovnicolai #32250 09:33 AM, 14 Nov 2017
    SELECT subString, count() from
    (
    SELECT
    splitByChar('|', ifNull(stringField, '|||')) AS a,
    arrayStringConcat([a[1], a[3], a[4]], ',') AS subString
    FROM Table
    )
    GROUP BY subString
  • https://t.me/clickhouse_ru
    @Shegloff #32251 09:43 AM, 14 Nov 2017
    перед дропом партиций за октябрь и ноябрь сделал 200 инсертов рандомных мелких, чтобы избежать бага с последними 100 блоками, которые запоминаются, чтобы избежать дедупликации
  • https://t.me/clickhouse_ru
    @Shegloff #32252 09:43 AM, 14 Nov 2017
    заливается нормально
  • https://t.me/clickhouse_ru
    @NickBlade #32253 09:43 AM, 14 Nov 2017
    А что за баг с последними 100 блоками если не секрет?
  • https://t.me/clickhouse_ru
    @kshvakov #32254 09:44 AM, 14 Nov 2017
    Пора выпускать книгу о костылях/бест практис для ClickHouse, вообще тема хорошая, т.к. многие напарываются )
  • https://t.me/clickhouse_ru
    @fabura #32255 09:44 AM, 14 Nov 2017
    не баг, а фича
  • https://t.me/clickhouse_ru
    @Shegloff #32256 09:44 AM, 14 Nov 2017
    именно баг
  • https://t.me/clickhouse_ru
    @fabura #32257 09:45 AM, 14 Nov 2017
    баг - это когда по ошибке что-то делаешь, а тут намеренное ограничение вроде как. И даже отраженное в документации
  • https://t.me/clickhouse_ru
    @Shegloff #32258 09:46 AM, 14 Nov 2017
    Если ты дропнул партицию, и пытаешься залить данные заново, то не все данные могут залиться обратно, поскольку кликхаус запоминает о последних 100 блоках вставленных. И хотя их в таблице уже нет, он все равно не дает их вставить.
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #32257 #32259 09:46 AM, 14 Nov 2017
    не, это действительно баг
  • @AEDeveloper #32260 09:47 AM, 14 Nov 2017
    Парни помогите беда какая-то.... не логиниться к кх серверу. не в консоли не табикс. ошибка Code: 210. DB::NetException: Connection refused: (localhost:9000, ::1)
    но везде стоит ::/0 и в users.xml и config.xml
  • https://t.me/clickhouse_ru
    @Shegloff #32261 09:47 AM, 14 Nov 2017
    намеренное ограничение, очень полезное, но не когда дропаешь партицию =)
  • https://t.me/clickhouse_ru
    @orantius ↶ Reply to #32243 #32262 09:49 AM, 14 Nov 2017
    WITH splitByChar('|', ifNull(stringField, '|||')) AS a
    SELECT
    arrayStringConcat([a[1], a[3], a[4]], ',') AS subString,
    count() AS count
    FROM Table
    GROUP BY subString
  • https://t.me/clickhouse_ru
    @kryglyash #32263 09:53 AM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @NickBlade #32264 09:53 AM, 14 Nov 2017
    Т.е. чтобы удалить допустим по крону какую-то партицию, нужно сделать 200 инцертов? Ну это ж фейковые данные будут, нет?
  • я уже и перезапускал сервис... че я тока не делал
  • https://t.me/clickhouse_ru
    Святая корова! Спасибо за просветление в плане синтаксиса "WITH ..."
  • @AEDeveloper #32267 09:59 AM, 14 Nov 2017
    (
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #32264 #32268 10:00 AM, 14 Nov 2017
    Нет, удалить её можно. Проблемы могут быть когда вы решили "пересчитать" партицию, соответственно вы её удаляете и заливаете снова, и вот то что вы льете может быть засчитано как дубли и не записаться
  • https://t.me/clickhouse_ru
    @NickBlade #32269 10:01 AM, 14 Nov 2017
    ох е, сложновато)
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #32265 #32270 10:03 AM, 14 Nov 2017
    в sudo netstat -plnt | grep click что ?
  • @AEDeveloper #32271 10:04 AM, 14 Nov 2017
    пусто
  • https://t.me/clickhouse_ru
    @kshvakov #32272 10:04 AM, 14 Nov 2017
    ок, наверное и в ps aux | grep "clickhouse-server" тоже ?
  • @AEDeveloper #32273 10:05 AM, 14 Nov 2017
    root 1437 0.0 0.0 14164 1016 pts/1 R+ 10:05 0:00 grep —color=auto click
  • https://t.me/clickhouse_ru
    @kshvakov #32274 10:05 AM, 14 Nov 2017
    Вот, нет у вас запущенного ClickHouse
  • @AEDeveloper #32275 10:08 AM, 14 Nov 2017
    как так и стартует и рестартует и стопает без ошибок...
  • @AEDeveloper #32276 10:08 AM, 14 Nov 2017
    root@reactor-reach-prod:/etc/clickhouse-server# ps aux | grep "clickhouse-server"
    root 1484 0.0 0.0 14164 1028 pts/1 R+ 10:08 0:00 grep —color=auto clickhouse-server
  • @AEDeveloper #32277 10:08 AM, 14 Nov 2017
    root@reactor-reach-prod:/etc/clickhouse-server# ps aux | grep click
    root 1486 0.0 0.0 14164 1008 pts/1 S+ 10:08 0:00 grep —color=auto click
  • @AEDeveloper #32278 10:09 AM, 14 Nov 2017
    судя по всему он запустился, но всеравно ошибка таже
  • @AEDeveloper #32279 10:09 AM, 14 Nov 2017
    Code: 210. DB::NetException: Connection refused: (localhost:9000, ::1)
    почему он смотрит ::1 если у меня стоит ::/0 в users.xml и :: в config.xml
  • https://t.me/clickhouse_ru
    @kshvakov #32280 10:10 AM, 14 Nov 2017
    Вот тут может быть разгадка /var/log/clickhouse-server/clickhouse-server.err.log
  • @AEDeveloper #32281 10:11 AM, 14 Nov 2017
    спасибо
  • @AEDeveloper #32282 10:11 AM, 14 Nov 2017
    помогло)
  • https://t.me/clickhouse_ru
    @vkropotko #32283 10:21 AM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @tshepitko #32284 10:43 AM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @seeerrg #32285 10:44 AM, 14 Nov 2017
    Всем привет. Возникла сложность со словарем range_hashed. Подключаю его через ODBC из postgres, но запрос dictGetFloat64 всегда возвращает одно и то же значение (последнее вставленное в таблицу по данному id)

    При этом я также подключил локально такой же словарь, подложил csv файлик и значение по диапазону возвращается верное. Может кто в курсе в чем может быть проблема?

    Структура словаря такая:
    <structure>
    <id>
    <name>access_id</name>
    </id>
    <range_min>
    <name>date_from</name>
    </range_min>
    <range_max>
    <name>date_to</name>
    </range_max>
    <attribute>
    <name>value</name>
    <type>Float64</type>
    <null_value>0.0</null_value>
    </attribute>
    </structure>

    есть 2 записи в таблице. Вот вывод psql

    test_db=# select * from multiplier;
    id | access_id | value | date_from | date_to
    ----+-----------+------------+------------+------------
    3 | 1 | 6.0000000 | 2017-11-01 | 2017-12-01
    5 | 1 | 11.0000000 | 2017-10-01 | 2017-10-31

    clickhouse возвращает каждый раз 11:
    "dictGetFloat64('multipliers', 'value', toUInt64(1), toDate('2017-10-02'))"
    11
    "dictGetFloat64('multipliers', 'value', toUInt64(1), toDate('2017-11-02'))"
    11

    а из локального файлика все норм:
    "dictGetFloat64('multipliers_local', 'value', toUInt64(5), toDate('2017-10-02'))"
    11
    "dictGetFloat64('multipliers_local', 'value', toUInt64(5), toDate('2017-11-02'))"
    6
  • https://t.me/clickhouse_ru
    @tshepitko #32286 10:49 AM, 14 Nov 2017
    Коллеги, всем привет! Может кто-то подскажет разгадку. Пробовал разные схемы кластера и движки (MergeTree с 4 шардам или ReplicatedMergeTree c 2 шардам, в каждом из котором 2 реплики). Разворачивал все в докер контейнерах (версия 1.1.54310). В чем принципиальное отличие использования схемы с zookeeper от фичи <internal_replication>false</internal_replication> (которая by default). К своему удивлению обнаружил, что при остановленной одной реплики в шарде (движок MergeTree) на нее прилетели новые данные после включения. Данные заливались в таблицу с движком Distributed
  • @kochetovnicolai #32287 10:53 AM, 14 Nov 2017
    Если включена опция internal_replication, то данные будут записаны только на 1 реплику шарда, иначе на все. При использовании ReplicatedMergeTree опцию нужно включить, так как оно само занимается репликацией, а при использовании обычного MergeTree - выключить.
  • @kochetovnicolai #32288 10:55 AM, 14 Nov 2017
    При этом, если реплика была отключена, то данные для данной реплики будут складываться в Distributed таблице и отправятся позже, когда реплика станет доступной.
  • https://t.me/clickhouse_ru
    @tshepitko #32289 11:02 AM, 14 Nov 2017
    спасибо!
  • https://t.me/clickhouse_ru
    Syntax error: failed at position 1 (line 1, col 1): WITH splitByChar('|', ifNull(stringField, '|||')) AS a
  • https://t.me/clickhouse_ru
    @alexey_konkov #32291 11:05 AM, 14 Nov 2017
    ЧЯДНТ?
  • https://t.me/clickhouse_ru
    @cargeh ↶ Reply to #32290 #32292 11:08 AM, 14 Nov 2017
    это добавили только в 1.1.54276 - может, у вас версия ниже?
  • https://t.me/clickhouse_ru
    @alexey_konkov #32293 11:08 AM, 14 Nov 2017
    1.1.54236
    видимо, да
  • https://t.me/clickhouse_ru
    @catless #32294 11:10 AM, 14 Nov 2017
    привет, могут ли два разных кластера кликхауса беспроблемно использовать один и тот же кластер зукипера, если имена таблиц различаются?
  • https://t.me/clickhouse_ru
    @alexey_konkov #32295 11:13 AM, 14 Nov 2017
    а есть функции для сортировки массива? или только через подзапрос?
  • https://t.me/clickhouse_ru
    @qweran ↶ Reply to #32294 #32296 11:13 AM, 14 Nov 2017
    Могут
  • https://t.me/clickhouse_ru
    @alexey_konkov #32297 11:14 AM, 14 Nov 2017
    и можно ли в массив добавить элемент "на ходу"? или тоже через подзапросы/игру со строками?
  • https://t.me/clickhouse_ru
    @cargeh #32298 11:15 AM, 14 Nov 2017
    @alexey_konkov поиск по чату творит чудеса:
  • https://t.me/clickhouse_ru
    @cargeh #32299 11:15 AM, 14 Nov 2017
    Всем доброго времени суток) Нужно сравнить массивы, которые получаются после groupUniqArray. Но в них может быть разный порядок: [1,2,3] и [2,1,3], например, и такие массивы должны считаться одинаковыми. Как это лучше сделать? Есть какая-нибудь функция сортировки массива?)
  • https://t.me/clickhouse_ru
    @cargeh #32300 11:15 AM, 14 Nov 2017
    может так?
    arraySort(groupUniqArray())
  • https://t.me/clickhouse_ru
    @cargeh #32301 11:15 AM, 14 Nov 2017
    Спасибо) Ох уж эти незадокументированные полезные функции
  • https://t.me/clickhouse_ru
    @alexey_konkov #32302 11:17 AM, 14 Nov 2017
    да уж :О)
    спасибо!
  • https://t.me/clickhouse_ru
    @orantius ↶ Reply to #32297 #32303 11:21 AM, 14 Nov 2017
    SELECT arrayPushFront([2, 3], 1)
  • https://t.me/clickhouse_ru
    видимо, тоже где-то в более свежих версиях...
    но спасибо
  • Попробуйте создать базу со словарями:
    create database dict engine = Dictionary
    и посмотреть на данные в словаре. возможно, поможет понять проблему
  • https://t.me/clickhouse_ru
    @catless #32306 11:43 AM, 14 Nov 2017
    а куда можно посмотреть, чтобы выяснить, почему distributed ddl-запросы слишком долго выполняются? кластер 2 шарда по 2 реплики:
    2017.11.14 14:33:12.647280 [ 26970 ] <Error> executeQuery: Code: 159, e.displayText() = DB::Exception: Watching task /clickhouse/task_queue/ddl/query-0000144261
    is executing too long (120 sec.), e.what() = DB::Exception (from [2a02:6b8:b000:624:922b:34ff:fecf:4036]:20048) (in query: /*TABIX_QUERY_ID_AQ1KTlLL*/ CREATE
    DATABASE IF NOT EXISTS `sandbox1` ON CLUSTER `sandbox`), Stack trace:
  • @rvl_kr #32307 11:48 AM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @leidruid #32308 11:57 AM, 14 Nov 2017
    Товарищи, не поделится ли кто собранным пэкеджем?
    pip install clickhouse-driver[lz4]
  • https://t.me/clickhouse_ru
    @leidruid #32309 11:57 AM, 14 Nov 2017
    под винду
  • https://t.me/clickhouse_ru
    @leidruid #32310 11:58 AM, 14 Nov 2017
    Неохота 10 Гб build tools вкорячивать
  • @vludv ↶ Reply to #32306 #32311 12:14 PM, 14 Nov 2017
    Можете зайти на машинку, где ожидается выполнение запроса, и выполнить grep DDLWorker /var/log/clickhouse-server/clickhouse-server.log там должна быть интерсеная информация, скорее всего там будет написана причина почему запрос 0000144261 не стал выполняться
  • https://t.me/clickhouse_ru
    @YRychkov #32312 12:28 PM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @seeerrg ↶ Reply to #32305 #32313 12:47 PM, 14 Nov 2017
    спасибо, попробую
  • https://t.me/clickhouse_ru
    @vladenisov #32314 12:47 PM, 14 Nov 2017
    Привет. Подскажите, пожалуйста, с проблемой.
    2017.11.14 12:41:15.868537 [ 18 ] <Error> user_subscribes.Distributed.DirectoryMonitor: Code: 53, e.displayText() = DB::Exception: Received from %IP%:9000. DB::Exception: Type mismatch for column post_id. Column has type UInt32, got type Int64.

    во всех таблицах (distributed и локальных) тип UInt32. Данные записываются в локальную таблицу только той ноды, где есть распределенная таблица.
  • https://t.me/clickhouse_ru
    @orantius #32315 12:48 PM, 14 Nov 2017
    а в данных что
  • https://t.me/clickhouse_ru
    у этой колонки значение типа такого: 21823
  • https://t.me/clickhouse_ru
    @indie4me #32317 01:02 PM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @athathot #32318 01:14 PM, 14 Nov 2017
    мне жутко не удобно спрашивать, кажется, я начал изобретать велосипед, а в документации не нашел. в КХ чтобы найти записи за какой-то период следует использовать операторы ">=" или есть что-то более другое?
  • Обычный between
  • https://t.me/clickhouse_ru
    @athathot ↶ Reply to #32319 #32320 01:16 PM, 14 Nov 2017
    спасибо! лучше было уточнить!
  • https://t.me/clickhouse_ru
    @trinitroturbotron #32321 01:24 PM, 14 Nov 2017
    Что-то ничего не могу найти про сжатие хранящихся данных на диске.
    Как понять включено ли сжатие вообще? Как точно понять что оно совсем выключено?
    Какие они бывают, Какое дефолтное, как понять что включено дефолтное или выключено вообще всякое?
  • @307875817 #32322 01:30 PM, 14 Nov 2017
    Доброго времени суток.
    А кто-нибудь может подсказать как удалить партицию из материализованного представления и возможно ли это вообще.
  • @urykhy #32323 01:32 PM, 14 Nov 2017
    возможно. нужно дропать из таблицы .inner.имя-представления
  • @307875817 #32324 01:37 PM, 14 Nov 2017
    Уже попробовал:
    :) ALTER table db.inner.mytable_sharded drop partition '201707';

    Syntax error: failed at position 23:

    ALTER table db.inner.mytable_sharded drop partition '201707';

    Expected one of: ADD COLUMN, DROP COLUMN, CLEAR COLUMN, MODIFY COLUMN, MODIFY PRIMARY KEY, ATTACH PARTITION, DETACH PARTITION, DROP PARTITION, ATTACH PART, FETCH PARTITION, FREEZE PARTITION, RESHARD, ON
  • https://t.me/clickhouse_ru
    @trinitroturbotron #32325 01:40 PM, 14 Nov 2017
    Есть способ более-менее точно понять сколько байт на диске занимает такая-то таблица за такой-то период времени?
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #32324 #32326 01:41 PM, 14 Nov 2017
    В кавычках надо ALTER table db.".inner.mytable_sharded" drop partition '201707';
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #32325 #32327 01:42 PM, 14 Nov 2017
    Писать ее размер раз в n секунд в какие-либо метрики
  • @TanVD #32328 01:42 PM, 14 Nov 2017
    Из system.parts where active = 1 and table = ${name}
  • https://t.me/clickhouse_ru
    @komex ↶ Reply to #32325 #32329 01:44 PM, 14 Nov 2017
    SELECT
    partition,
    count() as number_of_parts,
    formatReadableSize(sum(bytes)) as sum_size
    FROM system.parts
    WHERE
    active
    AND database = 'merge'
    AND table = 'hits'
    GROUP BY partition
    ORDER BY partition;
  • Большое спасибо, Кирилл, так работает.
  • @AEDeveloper #32331 02:01 PM, 14 Nov 2017
    коллеги подскажите такой вопрос: ЗАметили утром, что удалена часть партишнов с начала месяц до вчера. Остановили сервер, закинули из бекапа нехватающих партишнов и запустили. данные подхватились, вроде все ок. Сейчас спустя пару часов наблюдаем, что все, что было подкинуто снова стерто. Что это может быть? Как посмотреть кто удалил и почему могли не приняться файлы.
  • https://t.me/clickhouse_ru
    @kshvakov #32332 02:03 PM, 14 Nov 2017
    обычно, в таких случаях, поверяют журнал работы cron
  • https://t.me/clickhouse_ru
    @seeerrg #32333 02:03 PM, 14 Nov 2017
    И ещё вопрос по range_hashed словарям. Сейчас нет возможности сделать в этом словаре complex_key? Можно только id?
  • @kochetovnicolai #32334 02:05 PM, 14 Nov 2017
    да, range_hashed поддержан только для id
  • @AEDeveloper #32335 02:05 PM, 14 Nov 2017
    @kshvakov Можете пояснить что именно искать. я посмотрел crontab -e и там пусто
  • https://t.me/clickhouse_ru
    @kshvakov #32336 02:06 PM, 14 Nov 2017
    Я к тому, что у вас нет задач которые в фоне партиции чистят ?
  • @AEDeveloper #32337 02:12 PM, 14 Nov 2017
    Спасибо Кирилл, за отзывчивость, разобрались джависты по крону тесты гоняют, что дропают партишны, и направили не на ту базу
  • @AEDeveloper #32338 02:12 PM, 14 Nov 2017
    @kshvakov
  • @AEDeveloper #32339 02:13 PM, 14 Nov 2017
    умудрились натравить на прод базу
  • https://t.me/clickhouse_ru
    @vladimirmyuge #32340 02:16 PM, 14 Nov 2017
    Всем привет! Я тут написал небольшую инструкцию для аналитиков без глубоких технический знаний о том, как развернуть Clickhouse и залить туда логов Метрики. Возможно, кому-то здесь это будет полезно. Конструктивную критику тоже рад буду услышать.
    https://www.etlforeveryone.ru/single-post/clickhouseeasystart
  • https://t.me/clickhouse_ru
    @oZZyTOP ↶ Reply to #32340 #32341 02:17 PM, 14 Nov 2017
    сразу + в карму
  • https://t.me/clickhouse_ru
    @oZZyTOP #32342 02:18 PM, 14 Nov 2017
    »>У этой базы данных есть большое число как плюсов, так и минусов, которые в документации вежливо указываются, как особенности.
  • https://t.me/clickhouse_ru
    @oZZyTOP #32343 02:18 PM, 14 Nov 2017
    шикарно)
  • @407102319 #32344 02:21 PM, 14 Nov 2017
    Joined.
  • @407102319 #32345 02:21 PM, 14 Nov 2017
    anyone know if there is something like this for clickhouse ? https://plot.ly/free-sql-client-download/
    Setup Falcon SQL Client on a Personal Computer

    Chart Studio is the easiest way to graph and share your data.

  • Tabix support plotly

    https://tabix.io/doc/draw/Draw_Plotly/
    Draw Plotly - Tabix

    Tabix DB Gui

  • @407102319 #32347 02:29 PM, 14 Nov 2017
    thanks igor
  • https://t.me/clickhouse_ru
    @void_conductor #32348 02:49 PM, 14 Nov 2017
    Joined.
  • @terrifilch #32350 03:23 PM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @yuyugame #32351 03:35 PM, 14 Nov 2017
    Не присоветуете как лучше подступиться к такой задачке:
    Есть большая (неск. млрд записей) таблица BIGTABLE с данными (d Date, ip UInt32, bytes UInt64) и таблица RANGES с диапазонами адресов (ipStart UInt32, ipEnd UInt32) c порядка 200К записей.
    Нужна sum(bytes) из BIGTABLE по всем ip, попадающим в один из диапазонов в RANGES.
    Словари тут вроде не помогут, а с map-reduce и т.п. функционалом в кликхаусе пока не разобрался - насколько он тут применим.
  • @DeamonMV #32352 03:40 PM, 14 Nov 2017
    @kshvakov Антон - подскажите, получается что alter table работает для распределенной таблицы?
    и не надо дергать для реплик шарда?
  • https://t.me/clickhouse_ru
    @kshvakov #32353 03:41 PM, 14 Nov 2017
    Для реплик не надо
  • https://t.me/clickhouse_ru
    @orantius ↶ Reply to #32351 #32354 03:53 PM, 14 Nov 2017
    может вам при вставке префиксы писать?
  • https://t.me/clickhouse_ru
    @yuyugame ↶ Reply to #32354 #32355 03:56 PM, 14 Nov 2017
    Да ip в BIGTABLE и есть в реале префиксы уже. А задача разовая возникла, ради неё менять структуру и код записи нет смысла.
  • https://t.me/clickhouse_ru
    @olesyaksyon #32356 04:17 PM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @seeerrg ↶ Reply to #32285 #32359 04:26 PM, 14 Nov 2017
    решения так и не нашел, может у кого-нибудь есть предположения?
  • https://t.me/clickhouse_ru
    @salttan ↶ Reply to #32235 #32360 04:44 PM, 14 Nov 2017
    Надо обновить очередь репликации в КХ для таблицы. Detach/attach таблицы или перезапустить сервер
  • https://t.me/clickhouse_ru
    @almazgaliev #32361 04:48 PM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @sane4ek #32362 04:57 PM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @yuyugame #32363 05:03 PM, 14 Nov 2017
    А можно из таблицы с двумя колонками чисел (a,b) селектом получить массив [(a1,b1), (a2,b2), ...] ? Что-то не вижу похожих примеров в доках.
  • @kochetovnicolai #32364 05:06 PM, 14 Nov 2017
    можно использовать groupArray
  • https://t.me/clickhouse_ru
    @yuyugame ↶ Reply to #32364 #32365 05:07 PM, 14 Nov 2017
    Да, спасибо. Уже нашёл.
  • https://t.me/clickhouse_ru
    @salttan ↶ Reply to #31097 #32366 05:29 PM, 14 Nov 2017
    А в какой версии это исправлено? Сегодня нашли такое в кластере с 1.1.54292
  • https://t.me/clickhouse_ru
    @yuyugame #32367 05:46 PM, 14 Nov 2017
    А можно такое как-то побороть:

    SELECT ip
    FROM test
    WHERE (d = today()) AND (dt = '2017-11-14 15:00:00') AND arrayExists(x -> ((ip >= x.s) AND (ip <= x.e)),
    (
    SELECT groupArray(a) AS r
    FROM
    (
    SELECT (s, e) AS a
    FROM ruip
    LIMIT 5
    )
    ))
    LIMIT 10

    Received exception from server:
    Code: 43. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Type inference of array of tuples is not supported.
  • https://t.me/clickhouse_ru
    @orantius #32368 06:22 PM, 14 Nov 2017
    x.s x.e?
  • https://t.me/clickhouse_ru
    @orantius #32369 06:25 PM, 14 Nov 2017
    правда без них работать все равно не будет.
  • https://t.me/clickhouse_ru
    @yuyugame ↶ Reply to #32368 #32370 06:31 PM, 14 Nov 2017
    Ну да. Из subselect через groupArray получаю массив туплов. пробовал s и e менять на x.1 x.2 - погоды не делает.
    Пока выкрутился заменив subselect на примерно такой:(
    SELECT groupArray(r) AS R
    FROM
    (
    SELECT bitOr(bitShiftLeft(toUInt64(s), 32), e) AS r
    FROM ruip
    )
    )
    ну и, соответственно, в arrayExists тело лямбды
    arrayExists(x -> ip between bitShiftRight(x,32) and bitAnd(x,pow(2,32)-1), <здесь массив UInt64 из subselect>)
    Так завелось, хотя и изврат...
  • @199842656 #32371 06:40 PM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @bulgakovmisha #32372 07:53 PM, 14 Nov 2017
    Joined.
  • @451496480 #32373 07:54 PM, 14 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @bulgakovmisha #32374 07:54 PM, 14 Nov 2017
    /stat@combot
  • https://t.me/clickhouse_ru
    @ragartemiy #32378 08:04 PM, 14 Nov 2017
    /stat@combot
  • https://t.me/clickhouse_ru
    @yuyugame #32380 09:31 PM, 14 Nov 2017
    /stat@combot
  • https://t.me/clickhouse_ru
    @MaximKorotkov #32382 11:58 PM, 14 Nov 2017
    Вопрос по ODBC драйверу. Tableau очень медленно тянет данные из КХ. Изменение таблошных CAP_ODBC_FETCH_BUFFERS_* на скорость и размер чанков никак не влияют, что наталкивает на мысль что где-то в драйвере стоит маленький размер буфера.
  • 15 November 2017 (257 messages)
  • https://t.me/clickhouse_ru
    @SpicyCrack3r #32383 04:40 AM, 15 Nov 2017
    Привет, где можно посмотреть зависимость clickhouse от оперативки и проца?
  • https://t.me/clickhouse_ru
    @cmdrosmium #32384 05:12 AM, 15 Nov 2017
    больше оперативки — или можно делать больше жирных запросов, или больше файлового кэша, и запросы будут быстрее выполняться
  • https://t.me/clickhouse_ru
    @cmdrosmium #32385 05:14 AM, 15 Nov 2017
    круче проц — можно делать больше запросов и, если частота выше, то запросы быстрее выполняются

    всё довольно прозаично
  • https://t.me/clickhouse_ru
    @kshvakov ↶ Reply to #32383 #32386 06:09 AM, 15 Nov 2017
    Это есть в документации https://clickhouse.yandex/docs/ru/operations/tips.html , если я вас правильно понял
  • @pookieShmukie #32387 09:46 AM, 15 Nov 2017
    Всем привет! Словил ошибку Table is in readonly mode. Это вроде как баг в предыдущих версиях, там что-то с мерджами связано. Кластер 4х2 версии 1.1.54246. Как это можно побороть без обновления?
  • @pookieShmukie #32388 09:46 AM, 15 Nov 2017
    Рестарт реплик не помогает
  • @pavlov_m #32389 09:47 AM, 15 Nov 2017
    У нас такое было когда слетел зукипер
  • @pavlov_m #32390 09:47 AM, 15 Nov 2017
    он у вас доступен и жив?
  • @pookieShmukie #32391 09:49 AM, 15 Nov 2017
    Жив, вроде бы...сейчас проверю статус на всех трех нодах ЗК
  • @pookieShmukie #32392 09:49 AM, 15 Nov 2017
    Так, ЗК жив. Есть подозрение, что сначала поднялся КХ, а потом ЗК.
  • @pookieShmukie #32393 09:50 AM, 15 Nov 2017
    Т.е. по хорошему нужно рестартнуть все сервера КХ, что бы все стало ок
  • @pavlov_m #32394 09:50 AM, 15 Nov 2017
    а в логах нет ничего связанное с зк ?
  • @pookieShmukie #32395 09:50 AM, 15 Nov 2017
    В документации написано: If ZooKeeper is unavailable when a server starts, replicated tables switch to read-only mode. The system periodically attempts to connect to ZooKeeper.

    Но как то странно, что КХ до сих пор не достучался до ЗК
  • @pookieShmukie #32396 09:50 AM, 15 Nov 2017
    Вроде нет. у меня весь лог усыпан тем, что таблица ридонли
  • @pookieShmukie #32397 09:51 AM, 15 Nov 2017
    2017.11.14 16:41:12.399957 [ 3 ] <Warning> ZooKeeper: Error on attempt 0: connection loss. Retry
    2017.11.14 16:41:25.399939 [ 3 ] <Warning> ZooKeeper: Error on attempt 1: connection loss. Retry
    2017.11.14 16:41:39.269291 [ 3 ] <Warning> ZooKeeper: Error on attempt 2: connection loss. Retry
    3. clickhouse-server(zkutil::ZooKeeper::exists(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Stat*, std::shared_ptr<Poco::Event> const&)+0x184) [0x29dbe74]
    2017.11.14 16:41:39.921551 [ 3 ] <Error> cursometr.r_answers (StorageReplicatedMergeTree): No ZooKeeper: table will be in readonly mode.
    2017.11.14 16:42:01.602924 [ 3 ] <Warning> ZooKeeper: Error on attempt 0: connection loss. Retry
  • @pookieShmukie #32398 09:52 AM, 15 Nov 2017
    Но это было вчера
  • @pavlov_m #32399 09:53 AM, 15 Nov 2017
    а рестарт реплик был тоже вчера?
  • @pookieShmukie #32400 09:53 AM, 15 Nov 2017
    У нас селектел вообще угробил весь кластер виртуализации...т.е. был не рестарт, а просто хард ресет я бы сказал
  • @pookieShmukie #32401 09:54 AM, 15 Nov 2017
    Сейчас попробую все реплики всех шардов рестартнуть
  • https://t.me/clickhouse_ru
    @seeerrg #32402 09:54 AM, 15 Nov 2017
    Имеем проблему, при которой не получается вытащить значение из range_hashed словаря с помощью dictGetFloat64.

    Словарь смотрит на таблицу в PG через ODBC. Таблица в постгресе имеет поля
    access_id | integer
    date_from | date
    date_to | date
    value | numeric(13,7)
    Структура словаря
    <structure>
    <id>
    <name>access_id</name>
    </id>
    <range_min>
    <name>date_from</name>
    </range_min>
    <range_max>
    <name>date_to</name>
    </range_max>
    <attribute>
    <name>value</name>
    <type>Float64</type>
    <null_value>0.0</null_value>
    </attribute>
    </structure>
    По совету @kochetovnicolai создали таблицу поверх range_hashed словаря:
    (
    access_id UInt64,
    date_from Date,
    date_to Date,
    value Float64
    )ENGINE = Dictionary(multipliers)
    При создании получаем ошибку
    Not found column date_from Date in dictionary multipliers. There are only columns access_id UInt64, date_from UInt16, date_to UInt16, value Float64.
    Получается, что кликхаус мапит range_min/range_max в Timestamp. При этом метод dictGetFloat64 ожидает date, а не timestamp:
    SELECT dictGetFloat64('multipliers', 'value', toUInt64(1), toTime(toDateTime('2017-10-15 00:00:00')))
    DB::Exception: Illegal type DateTime of fourth argument of function dictGetFloat64, must be Date..
    Как в итоге получить value?
  • @pavlov_m #32403 09:54 AM, 15 Nov 2017
    возможно хватит и одной
  • Ну пока рестарт одной не помог )
  • @DeamonMV ↶ Reply to #32404 #32405 09:57 AM, 15 Nov 2017
    может помогут такие вопросы:
    а у вас зукипер поднялся? он кворум собрал?
    Имена тачек не менялись? может где-то какое не соотсвествие
  • Поднялся, да, собрал
    Нет, имена не менялись.

    Сейчас рестартнул все реплики всех шардов, вроде ошибка не появляется. Сейчас проверю запись в таблицу.
  • @pookieShmukie #32407 09:59 AM, 15 Nov 2017
    Ура! Рестарт всех реплик помог ) Всем спасибо за помощь!
  • @dr_gavrikov #32408 10:01 AM, 15 Nov 2017
    Коллеги, всем привет. Не подскадите один момент?

    вот есть такая функция

    dictIsIn

    dictIsIn('dict_name', child_id, ancestor_id) - для иерархического словаря dict_name - узнать, находится ли ключ child_id внутри ancestor_id (или совпадает с ancestor_id). Возвращает UInt8.

    а есть ли аналог для случая, когда ancestor_id является множеством, то есть надо проверить, что находится ли ключ child_id внутри одного из элементов ancestor_ids
  • @dr_gavrikov #32409 10:01 AM, 15 Nov 2017
    или только через функции работы с массивами это разруливать?
  • Я как то пользовался функциями для работы с иерархией, но ничего подобного не встречал. Возможно появились какие то фукнции недокументированные, но я не могу ничего на этот счет сказать, поэтому думаю, что второй вариант все таки рабочий
  • @smiren ↶ Reply to #32400 #32411 10:25 AM, 15 Nov 2017
    А что конкретно было? Я как пользователь интересуюсь
  • Не знаю точно, но в личном кабинете была ошибка загрузки конфигурации сервера. Причем практически всех серверов. Это было вчера и руководство выясняет причины. На самом деле не первый раз какие то грабли с селектелом. То сеть угробят, то их ддосят так, что все лежит, то "розетку задели" (дважды), то еще чего.
  • @smiren #32413 10:29 AM, 15 Nov 2017
    Вы облаком пользуетесь?
  • https://t.me/clickhouse_ru
    @emtsptth ↶ Reply to #32412 #32414 10:32 AM, 15 Nov 2017
    Selectel Status Panel

    Current system status. View active incidents or upcoming maintenances. Subscribe to receive status notifications.

  • У нас железки в аренде
  • @smiren ↶ Reply to #32415 #32416 10:34 AM, 15 Nov 2017
    Спасибо за информацию!
  • https://t.me/clickhouse_ru
    @kshvakov #32417 10:35 AM, 15 Nov 2017
    Мы на https://advancedhosters.com сидим, особых проблем с ними нет, это так, вдруг если что )
    Hosting - 99.99% Uptime For Last 18 Years | AdvancedHosting

    We provide reliable dedicated hosting, cloud services, and CDN to online high-loaded projects. Try our unlimited customization and expert support today!

  • Спасибо :) У нас большой зоопарк скопился, поэтому мигрировать не так просто (
  • @3334085 ↶ Reply to #32400 #32419 10:37 AM, 15 Nov 2017
    кто то еще пользуется услугами хостинга в РФ? Зачем...
  • https://t.me/clickhouse_ru
    @kshvakov #32420 10:37 AM, 15 Nov 2017
    Еще по цена/качество сейчас у XBT есть https://www.servers.com/
    Dedicated servers in a cloud-like solution

    We offer a full suite of hosting solutions, including dedicated servers using our innovative bare-metal in a cloud-like way.

  • Мы обслуживаем банковский сектор, поэтому условие обязательное, к сожалению
  • @smiren ↶ Reply to #32419 #32422 10:38 AM, 15 Nov 2017
    Некоторые заказчики требуют РФ
  • @smiren ↶ Reply to #32421 #32423 10:39 AM, 15 Nov 2017
    Да, такая же ерунда)
  • @3334085 ↶ Reply to #32421 #32424 10:39 AM, 15 Nov 2017
    а, сочувствую, тогда лучше имхо коллокейшен брать или как минимум не облако
  • @3334085 ↶ Reply to #32422 #32425 10:40 AM, 15 Nov 2017
    если это не ограничение по законодательству (как в случае с примером выше банковского сектора) то я предпочитаю объяснять 9,5 правил видения бизнеса
  • @smiren ↶ Reply to #32424 #32426 10:40 AM, 15 Nov 2017
    Так ребята и арендуют железо
  • Колокейшен дороже выходит
  • @smiren #32428 10:40 AM, 15 Nov 2017
    Мы тоже
  • колокейшен это когда ты свою железку им отдаешь
  • @3334085 #32430 10:40 AM, 15 Nov 2017
    а, т.е у них по питанию порезагрузка была? ужас какой
  • https://t.me/clickhouse_ru
    @Shegloff #32431 10:41 AM, 15 Nov 2017
    кликхаус шустрый, можно на айпаде захостить ;)
  • Даже распбери с ним справляется :)
  • @smiren ↶ Reply to #32430 #32433 10:42 AM, 15 Nov 2017
    У них сеть легла. Я тоже сначала на облако подумал. Стало страшно, да
  • https://t.me/clickhouse_ru
    @openbsod ↶ Reply to #32431 #32434 10:43 AM, 15 Nov 2017
    там gcc практически неюзабельный, недавно snmp собирал, snmp-set`ом дверь в офис открывать)

    (простите оффтоп)
  • https://t.me/clickhouse_ru
    @Shegloff #32435 10:43 AM, 15 Nov 2017
    )))
  • https://t.me/clickhouse_ru
    SSE4.2 требование уже убрали?
  • @smiren #32437 10:44 AM, 15 Nov 2017
    ))
  • https://t.me/clickhouse_ru
    @leidruid #32438 10:51 AM, 15 Nov 2017
    Товарищи, на митапе мы затронули тему интеграций с BI, не напомните, какие точно работают ?
  • @garikanet #32439 10:51 AM, 15 Nov 2017
    tableau
  • https://t.me/clickhouse_ru
    @leidruid #32440 10:59 AM, 15 Nov 2017
    что-то ещё вроде было..
  • https://t.me/clickhouse_ru
    @seeerrg ↶ Reply to #32402 #32441 10:59 AM, 15 Nov 2017
    При этом словарь через локальный CSV файл работает правильно, возможно баг в парсинге дат через ODBC
  • https://t.me/clickhouse_ru
    @leidruid ↶ Reply to #32439 #32442 11:29 AM, 15 Nov 2017
    Она из коробки умеет или надо как-то по-особенному к ней подходить ?
  • https://t.me/clickhouse_ru
    @leidruid #32443 11:29 AM, 15 Nov 2017
    чё-т ни их сайт ни гугл не в курсе
  • Честно не знаю,не пользуюсь, мне привычнее tabix )
    На митапе говорили что работает
  • https://t.me/clickhouse_ru
    @leidruid #32445 11:31 AM, 15 Nov 2017
    tabix же не bi
  • range_min и range_max хранятся в типе Date, который представляет из себя UInt16. Можно создать таблицу, скопировав структуру из сообщения с ошибкой. То, что требуется UInt16 вместо Date, похоже на ошибку.

    toTime возвращает DateTime. Вместо него должно быть toDate, наверное.
  • https://t.me/clickhouse_ru
    @dimcha #32447 12:21 PM, 15 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @dimcha #32448 12:22 PM, 15 Nov 2017
    Всем привет. Я вопрос задал в группе, заодно здесь продублирую, может кто подскажет с чего начать копать - https://groups.google.com/forum/#!topic/clickhouse/HrPzu2b-6OA
  • https://t.me/clickhouse_ru
    @leidruid #32449 12:23 PM, 15 Nov 2017
    ник - 😂👍
  • https://t.me/clickhouse_ru
    @Shegloff #32450 12:24 PM, 15 Nov 2017
    ахаха
  • https://t.me/clickhouse_ru
    @dimcha #32451 12:28 PM, 15 Nov 2017
    блин ((( перезагрузил все ноды - проблема ушла
  • https://t.me/clickhouse_ru
    @dimcha #32452 12:39 PM, 15 Nov 2017
    а, не, все норм. Еще хуже стало 😂
  • https://t.me/clickhouse_ru
    @PsyDebug #32453 12:40 PM, 15 Nov 2017
    жесть)
  • https://t.me/clickhouse_ru
    @leidruid #32454 12:41 PM, 15 Nov 2017
    Чувакк, ты сделал мой день 😂😂😂
  • https://t.me/clickhouse_ru
    @dimcha #32456 12:43 PM, 15 Nov 2017
    и всё-же, что делать с проблемой? )
  • @432841274 #32457 12:44 PM, 15 Nov 2017
    @dimcha если Вам интересно моё мнение: в звезду кликхаус. я с ним неделю трахался. поставьте нормальную БД.
  • @garikanet #32458 12:45 PM, 15 Nov 2017
    Вертику)
  • https://t.me/clickhouse_ru
    @dimcha #32459 12:46 PM, 15 Nov 2017
    увы, не могу. Мне метрики графита хранить. У меня сабмит по 250К штук в сек. Заббикс не справляется, рассматриваю КХ как замену.
  • https://t.me/clickhouse_ru
    @dimcha #32460 12:47 PM, 15 Nov 2017
    оракл не предлагать, он тоже не справляется. У нас все DBA с этим натрахались и решили что они бессильны
  • @garikanet #32461 12:47 PM, 15 Nov 2017
    Ищите по чату force
    Типа параметр force restart
  • @dveim #32462 12:47 PM, 15 Nov 2017
    КХ немного не "универсальная" бд, не стоит его всюду пихать
  • https://t.me/clickhouse_ru
    @dimcha ↶ Reply to #32461 #32463 12:48 PM, 15 Nov 2017
    /var/lib/clickhouse/flags/force_restore_data

    оно?
  • @garikanet #32464 12:48 PM, 15 Nov 2017
    Да попробуйте
  • https://t.me/clickhouse_ru
    @dimcha #32465 12:49 PM, 15 Nov 2017
    А как выглядит запись в логах про то, что он что-то восстановить не может?
  • https://t.me/clickhouse_ru
    @Fearan ↶ Reply to #32459 #32466 12:50 PM, 15 Nov 2017
    Лет пять назад у меня жаббикс переваривал 120-140. На современном железе 250 не должно быть проблемой
  • https://t.me/clickhouse_ru
    @dimcha #32467 12:52 PM, 15 Nov 2017
    да заббиксу пофигу, а база не справляется. Особенно с массовыми запросами к истории
  • https://t.me/clickhouse_ru
    @dimcha #32468 12:53 PM, 15 Nov 2017
    сейчас такой анальный огород накручен, что без слез смотреть нельзя.
  • https://t.me/clickhouse_ru
    @Shegloff #32469 12:54 PM, 15 Nov 2017
    Потому у вас такой ник?)
  • https://t.me/clickhouse_ru
    @dimcha #32470 12:54 PM, 15 Nov 2017
    эпатаж - часть образа )
  • https://t.me/clickhouse_ru
    @Shegloff #32471 12:57 PM, 15 Nov 2017
    Может у вам данные побились в этой part? Попробуйте из нее поселектить
  • https://t.me/clickhouse_ru
    @dimcha ↶ Reply to #32464 #32472 12:57 PM, 15 Nov 2017
    2017.11.15 08:56:55.562779 [ 32 ] <Error> InterserverIOHTTPHandler: Code: 232, e.displayText() = DB::Exception: No part 20171115_20171115_1368737_1368737_0 in table, e.what() = DB::Exception, Stack trace:
  • https://t.me/clickhouse_ru
    @Shegloff #32473 12:58 PM, 15 Nov 2017
    На 1м шарде где он не может read all data
  • https://t.me/clickhouse_ru
    @dimcha #32474 12:59 PM, 15 Nov 2017
    да, не может, в логи пишеь лю этом
  • https://t.me/clickhouse_ru
    Уточните что вы считаете нормальной БД?
  • https://t.me/clickhouse_ru
    @Shegloff #32477 12:59 PM, 15 Nov 2017
    Detach part и забыть?
  • https://t.me/clickhouse_ru
    @Shegloff #32478 01:00 PM, 15 Nov 2017
    У меня за год работы с кликхаусос было такое разок
  • https://t.me/clickhouse_ru
    @dimcha #32479 01:00 PM, 15 Nov 2017
    а как его detach ?
  • https://t.me/clickhouse_ru
    @Shegloff #32480 01:03 PM, 15 Nov 2017
    detach partiton, удалить этот кусок, attach partition
  • https://t.me/clickhouse_ru
    @Shegloff #32481 01:05 PM, 15 Nov 2017
    detach attach реплицируются, должно быть все ок
  • https://t.me/clickhouse_ru
    @Shegloff #32482 01:06 PM, 15 Nov 2017
    ну может не удалить, а в сторонку просто
  • https://t.me/clickhouse_ru
    @dimcha #32483 01:06 PM, 15 Nov 2017
    этот detach к чему вообще относится?
  • https://t.me/clickhouse_ru
    @dimcha #32484 01:06 PM, 15 Nov 2017
    в диску, КХ, Зукиперу?
  • https://t.me/clickhouse_ru
    @dimcha #32485 01:07 PM, 15 Nov 2017
    Дяденька, я не настоящий DBA, я кликхаус в интернете нашел.
  • https://t.me/clickhouse_ru
    @Shegloff #32486 01:07 PM, 15 Nov 2017
    К КХ, у вас партиция перенесется в папку detached, и там можно делать всё. убрать этот кусок, а потом attach эту partition
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @dimcha #32488 01:08 PM, 15 Nov 2017
    кажется понял. Detach - запрос в ch
  • https://t.me/clickhouse_ru
    @dimcha #32489 01:08 PM, 15 Nov 2017
    спасибо, пойду курить доку
  • https://t.me/clickhouse_ru
    @dimcha #32490 01:11 PM, 15 Nov 2017
    хмм.. сорри за назойливость, но в чем суть этой магии:

    Удаляет из сервера информацию о таблице name. Сервер перестаёт знать о существовании таблицы, но ни данные, ни метаданные таблицы не удаляются. При следующем запуске сервера, сервер прочитает метаданные и снова узнает о таблице.
  • https://t.me/clickhouse_ru
    @neiwick #32491 01:14 PM, 15 Nov 2017
    Это detach table name если делать. До следующего рестарта CH будет вести себя так, будто таблицы нет.
    А вам похоже нужен alter table name detach partition part_name
  • https://t.me/clickhouse_ru
    @dimcha #32492 01:18 PM, 15 Nov 2017
  • https://t.me/clickhouse_ru
    @trinitroturbotron #32493 01:29 PM, 15 Nov 2017
    Хочется сделать INSERT INTO foo (c1, c2, c3, c4) SELECT FROM bar
    Но в bar есть только c2, c3, c4, а c1 константа и её знает только код, формирующий запрос.
    Как? )
    P.S. так взлетит SELECT "constant", c2, c3, c4 FROM bar?
  • https://t.me/clickhouse_ru
    @orantius #32494 01:30 PM, 15 Nov 2017
    select 42 as c1,c2,c3,c4 from bar ?
  • https://t.me/clickhouse_ru
    @Shegloff #32495 01:30 PM, 15 Nov 2017
    Select 'глаз' as c1, c2,c3, c4 from bar
  • https://t.me/clickhouse_ru
    @trinitroturbotron #32496 01:30 PM, 15 Nov 2017
    Гуд. Спасибо. Я дебила кусок кускующийся кускованский кускофентрально-кускизирующийся.
  • @3334085 ↶ Reply to #32492 #32497 01:31 PM, 15 Nov 2017
    До прихода вас в чатик не было мата, и хоть я и люблю мат, но тут так было хорошо без него, давайте и дальше без него продолжим.
  • https://t.me/clickhouse_ru
    @openbsod ↶ Reply to #32494 #32498 01:38 PM, 15 Nov 2017
    42 - смысл жизни, и всё такое?)
  • https://t.me/clickhouse_ru
    @orantius #32499 01:39 PM, 15 Nov 2017
    константа, и ее знает только код. и смысл жизни, конечно.
  • https://t.me/clickhouse_ru
  • @dveim #32501 02:12 PM, 15 Nov 2017
    возвращаясь к максимальной длине блока — есть ли ограничение?
    записал 100000000 Int32 "в один присест", и отдается, похоже, так же — что явно больше, чем 65к
  • Мне кажется проблема не в бобине :) Я с КХ разобрался за пару дней, собрав стенд из кластера 4х2, который уже полгода работает стабильно. Не понимаю что там сложного. Какие проблемы у вас возникли?
  • https://t.me/clickhouse_ru
    @saterenko #32503 02:32 PM, 15 Nov 2017
    Joined.
  • @dr_gavrikov #32504 02:35 PM, 15 Nov 2017
    Всем привет.

    Я тут столкнулся с интересным кейсом. У меня есть одна табличка словарь моделей, в котором около 17 млн записей. Там есть ID модели, название, ID категории и дата создания модели. Категории представляеют собой иерархический словарь. Например у Категории "Авто" могут быть подкатегории "Шины, диски", "Тормоза", "Моторные масла" и так далее, не суть. Категории хранятся во внещнем словаре dict.category. У каждой тоже свой ID и ссылка на родителя

    У меня задача выбрать все модели в заданном списке категорий, включая дочерние подкатегории, с ДАТА С по ДАТА ПО. На вход подаются две даты и массив категорий.

    Если я в условии прописываю через функции работы с массивами и словарями, вот так (arrayExists(x -> dictIsIn('category', toUInt64(categoryId), toUInt64(x)), [90478, 90435, 90455, 90461, 90477, 90497, 90506, 10613523, 10613544, 10613554]) = 1)

    то запрос у меня выполняется за 10 сек (!), что довольно долго для словарика моделей из 17 млн записей(

    https://pastebin.com/Yr46XT4a

    Если же я тупо сначала выбираю все идентификаторы категорий дочерних, вот так

    https://pastebin.com/5TvT1ftP

    потом засовываю их в оператор IN руками

    то у меня запрос отрабатывает меньше секунды, пруф вот

    https://pastebin.com/fiSjWgqF

    Вопрос. А в одном запросе это как-то можно написать, чтобы работало за 1 сек?
  • https://t.me/clickhouse_ru
    @orantius #32505 02:39 PM, 15 Nov 2017
    а если написать where category_id in (select .. from dict.category ..) ?
  • https://t.me/clickhouse_ru
    @orantius #32506 02:40 PM, 15 Nov 2017
    только уже без groupArray внутри
  • https://t.me/clickhouse_ru
    @orantius #32507 02:42 PM, 15 Nov 2017
    т.е. один раз вычислить значения в подзапросе и дальше только in проверять, а не ходить на каждую строку в словарь.
  • https://t.me/clickhouse_ru
    @catless #32508 02:43 PM, 15 Nov 2017
    есть столбец, где хранятся массивы строк. как можно склеить их все в один большой массив?
  • https://t.me/clickhouse_ru
    @orantius #32509 02:44 PM, 15 Nov 2017
    SELECT concat([1, 2], [3, 4])
    ┌─concat([1, 2], [3, 4])─┐
    │ [1,2,3,4] │
    └────────────────────────┘
  • https://t.me/clickhouse_ru
    @catless #32510 02:44 PM, 15 Nov 2017
    спасибо!
  • https://t.me/clickhouse_ru
    @orantius #32511 02:44 PM, 15 Nov 2017
    а, столбец
  • @dr_gavrikov #32512 02:44 PM, 15 Nov 2017
    вроде не прокатит, сча проверю еще раз. Кажется уже пробовал
  • @dr_gavrikov #32513 02:44 PM, 15 Nov 2017
    а если написать where category_id in (select .. from dict.category ..) ?
  • https://t.me/clickhouse_ru
    @orantius #32514 02:45 PM, 15 Nov 2017
    SELECT groupArrayArray(x)
    FROM
    (
    SELECT [1, 2] AS x
    UNION ALL
    SELECT [3, 4]
    )

    ┌─groupArrayArray(x)─┐
    │ [3,4,1,2] │
    └────────────────────┘
  • https://t.me/clickhouse_ru
    @catless ↶ Reply to #32514 #32515 02:47 PM, 15 Nov 2017
    премного благодарен
  • @dr_gavrikov #32516 02:49 PM, 15 Nov 2017
    какая-то магия, но так быстрее да
  • @dr_gavrikov #32517 02:49 PM, 15 Nov 2017
    а если написать where category_id in (select .. from dict.category ..) ?
  • @dr_gavrikov #32518 02:49 PM, 15 Nov 2017
    но все равно не так быстро, если руками прописать
  • @dr_gavrikov #32519 02:49 PM, 15 Nov 2017
    IN списко
  • @dr_gavrikov #32520 02:49 PM, 15 Nov 2017
    так порядка 2 сек, а не 10
  • @dr_gavrikov #32521 02:49 PM, 15 Nov 2017
    но и не 1
  • https://t.me/clickhouse_ru
    @rboyko #32522 02:49 PM, 15 Nov 2017
    Ребят, че то мозг не хочет седня у меня работать, подскажите пожалуйста кому не сложно как правильно в CH сделать такое: with [1,2] as arr select * from foo where a in arr ???
  • https://t.me/clickhouse_ru
    @orantius #32523 02:50 PM, 15 Nov 2017
    has(arr, a)
  • https://t.me/clickhouse_ru
    @orantius #32524 02:52 PM, 15 Nov 2017
    но лучше написать a in (1,2)
  • https://t.me/clickhouse_ru
    @dimcha #32525 02:56 PM, 15 Nov 2017
    А есть какая-то возможность узнать на каких шардах/партишенах лежат данные? Есть прерывистый график и хочется понять кто сачкует.
  • https://t.me/clickhouse_ru
    @orantius #32526 02:57 PM, 15 Nov 2017
    group by hostName()
  • https://t.me/clickhouse_ru
    @rboyko ↶ Reply to #32524 #32527 02:58 PM, 15 Nov 2017
    Спасибо большое!
  • https://t.me/clickhouse_ru
    @dimcha ↶ Reply to #32526 #32528 03:01 PM, 15 Nov 2017
    Спасибо, то что нужно
  • https://t.me/clickhouse_ru
    @AlexeySeleznev #32529 03:18 PM, 15 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @trinitroturbotron #32530 03:32 PM, 15 Nov 2017
    Можно как-то заставить таблицу принудительно скомпактиться в один блок?
  • https://t.me/clickhouse_ru
    @alexanderzaitsev #32531 03:52 PM, 15 Nov 2017
    OPTIMIZE TABLE [db.]name [PARTITION partition] [FINAL]
  • https://t.me/clickhouse_ru
    @vladimirmyuge #32532 03:55 PM, 15 Nov 2017
    Но это не всегда сработает, осторожно!
  • https://t.me/clickhouse_ru
    @dimcha #32533 04:20 PM, 15 Nov 2017
    У меня этот запрос через раз возвращает разные данные. По таймстампам создается впечатление, что CH не мёрджит данные. Почему так может быть?
    select *, hostName() from carbon_metrics.graphite where Path = 'metric.xxx1' order by Timestamp desc limit 10
  • https://t.me/clickhouse_ru
    @maxlog_org #32534 04:37 PM, 15 Nov 2017
    Прошу прощения за оффтоп. Интернет — место свободного волеизъявления, всё понимаю.
    Но вот такие вещи в моём уютном телеграме уже немного за гранью приличия. Мнение личное, но вряд ли единственное.
  • https://t.me/clickhouse_ru
    @proller #32535 04:40 PM, 15 Nov 2017
    и аватарка что-то напоминает, да, @cebka ?
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32536 04:46 PM, 15 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32537 04:46 PM, 15 Nov 2017
    Всем привет!)
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32538 04:46 PM, 15 Nov 2017
    "Ускорена параллельная сборка с помощью ccache+distcc" заметил в чейнджесах.
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32539 04:46 PM, 15 Nov 2017
    А есть немного больше информации о эффекте от распределенной сборки?
  • https://t.me/clickhouse_ru
    @proller #32540 04:56 PM, 15 Nov 2017
    она быстрее.
    а на сколько - зависит от того насколько распределено и что за железки и какая сеть между ними
  • https://t.me/clickhouse_ru
    @catless #32541 04:58 PM, 15 Nov 2017
    ещё один мелкий вопрос про массивы: можно проверить, что a является подмножеством b, умнее, чем так?
    arrayAll(
    elem -> has(b, elem),
    a
    )
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32542 05:00 PM, 15 Nov 2017
    а как с Кликхаусом вышло? какие-то изменения в системе сборки делали, чтобы использовать максималньо эффективно?
  • https://t.me/clickhouse_ru
    @proller #32543 05:03 PM, 15 Nov 2017
    основные изменения в cmake - использовать ccache когда он есть,
    https://github.com/yandex/ClickHouse/blob/master/CMakeLists.txt#L30 https://github.com/yandex/ClickHouse/blob/master/cmake/find_ccache.cmake
    потом у каждого кому это нужно - export CCACHE_PREFIX=distcc (можно в ~/.bashrc)
    и настройка хостов distcc или zeroconf если в одной сети
    yandex/ClickHouse

    ClickHouse is a free analytic DBMS for big data. Contribute to yandex/ClickHouse development by creating an account on GitHub.

  • https://t.me/clickhouse_ru
    @proller #32544 05:05 PM, 15 Nov 2017
    можно так - http://paste.org.ru/?hixlra
    - запускать вместо make
  • https://t.me/clickhouse_ru
    @proller #32545 05:09 PM, 15 Nov 2017
    если собирать на ноуте и в distcc -j больше сотни ядер - разница очень хорошая, а для разработки с постоянными пересборками очень сам ccache помогает, но ему нужно сделать ccache -M 32G
  • https://t.me/clickhouse_ru
    @dimcha ↶ Reply to #32534 #32546 05:16 PM, 15 Nov 2017
    Свободу выбора никто не отменял. Телеграм позволяет на выбор либо забанить, либо переименовать собеседника.
  • https://t.me/clickhouse_ru
    @proller #32547 05:16 PM, 15 Nov 2017
    но сейчас cmake ждет завершения сборки всех зависимостей для каждой либы, поэтому загрузка не все время 100% всех ядер, да и в сеть может упираться
  • https://t.me/clickhouse_ru
    @proller #32548 05:24 PM, 15 Nov 2017
    еще были .cpp с шаблонами которые могли компилироваться по 20 минут и жрать 4G памяти. они почти все попилены на кусочки и теперь все вместе параллельно компилируются за десяток секунд ( dbms/src/Functions/GatherUtils_* ) и немного магии в dbms/src/Functions/CMakeLists.txt (generate_function_register)
  • @chesnokov_i #32549 05:32 PM, 15 Nov 2017
    Joined.
  • @chesnokov_i #32550 05:35 PM, 15 Nov 2017
    Доклад про кликхаус на митапе #dot_nuts в Рязани
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32553 05:46 PM, 15 Nov 2017
    @proller спасибо!! А как отлаживали сколько времени тратится на компиляцию какого файла? Для большого проекта это сложно =(
  • https://t.me/clickhouse_ru
    @proller #32554 05:48 PM, 15 Nov 2017
    то что десятки минут - и отлаживать не нужно, в конце их ждут, а если хочется поглубже - у gcc есть опции отладки времени проведенные в разных стадиях, их можно собирать, парсить и складывать в кликхаус ;)
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32555 05:48 PM, 15 Nov 2017
    спасибо, попробую! 🙂 Очень ценная информация!
  • https://t.me/clickhouse_ru
    @proller #32556 05:51 PM, 15 Nov 2017
    а еще вспомнил, нужно уменьшать количество include в .h, везде где можно forward declaration, все либы стараться только из .cpp инклюдить.
    вот микро дулза специально для .h: https://github.com/yandex/ClickHouse/blob/master/utils/check_include.sh
    yandex/ClickHouse

    ClickHouse is a free analytic DBMS for big data.

  • https://t.me/clickhouse_ru
    @tshepitko #32557 05:53 PM, 15 Nov 2017
    всем привет! а никто не знает, можно ли приаттачить партиции в цикле или на уровне запросов (аля alter table table_name attach partition in (select partition from system.parts))?
  • https://t.me/clickhouse_ru
    @tshepitko #32558 05:54 PM, 15 Nov 2017
    интересуюсь для смены движка MergeTree -> ReplicatedMergeTree
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32559 05:54 PM, 15 Nov 2017
    @proller в смысле их число или просто убирать те, которые по факту не испольовались?
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32561 05:55 PM, 15 Nov 2017
    хы
  • https://t.me/clickhouse_ru
    @tshepitko #32562 05:56 PM, 15 Nov 2017
    имя партии указывается в одинарных кавычках- соответственно запросы с циклом из баша не сработают
  • Респект! За Angular особенно!)
  • @chesnokov_i #32564 06:04 PM, 15 Nov 2017
    😂
  • https://t.me/clickhouse_ru
    @proller ↶ Reply to #32559 #32565 06:12 PM, 15 Nov 2017
    и число и ненужные убирать, например у нас были (а может быть и есть) .h которые сами отдельно могли компилироваться секунд 5, соответственно когда их инклюдили другие .h - общее время росло на десятки секунд.
    ну и код выносить из .h , особенно из тех что много где используются
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32566 06:14 PM, 15 Nov 2017
    В С++ это задница =(
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32567 06:14 PM, 15 Nov 2017
    кстати, а в сторону модулей еще не смотрели? в clang вроде добавили, поидее должно как раз помочь от этого ада с инклудами избавится
  • @vstakhov #32568 06:15 PM, 15 Nov 2017
    правильно, на сишечке надо писать
  • >Прошу прощения за оффтоп. Интернет — место свободного волеизъявления, всё понимаю.
    Но вот такие вещи в моём уютном телеграме уже немного за гранью приличия. Мнение личное, но вряд ли единственное.

    ну так Вы свободны отписаться от этой группы, дабы ни дай бог не покалечить свой хрупкий внутренний мир. и вообще от интернета тоже.
  • @vstakhov #32570 06:16 PM, 15 Nov 2017
    писать хорошо на c++ настолько невообразимо сложно, что я даже не знаю, кто это реально умеет
  • ну что, поставил уже вертику вместо этого куска говна нерабочего и портящего данные?
  • @3334085 #32572 06:17 PM, 15 Nov 2017
    Интересный файкт - mos.ru тоже использует ClickHouse o_O https://hh.ru/vacancy/23006741?query=clickhouse
    Вакансия Программист Python в Москве, работа в MOS.RU (вакансия в архиве)

    Вакансия Программист Python. Зарплата: не указана. Москва. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 01.11.2017.

  • https://t.me/clickhouse_ru
    @randuev #32573 06:17 PM, 15 Nov 2017
    поэтому айда писать на всяком го...
  • @3334085 #32574 06:17 PM, 15 Nov 2017
    бродил тут по HH и наткнулся
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32575 06:17 PM, 15 Nov 2017
    все используют CH =)
  • https://t.me/clickhouse_ru
    @randuev #32576 06:17 PM, 15 Nov 2017
    </сарказм>
  • https://t.me/clickhouse_ru
    @proller ↶ Reply to #32567 #32577 06:18 PM, 15 Nov 2017
    ну на данный момент все почти терпимо, а использовать фичи которые поддерживаются только в каком-нибудь clang-devel который нигде кроме freebsd еще не появился - вредновато
  • https://t.me/clickhouse_ru
    @proller #32578 06:19 PM, 15 Nov 2017
    сейчас хоть на последних убунтах можно не собирать руками компиляторы или не ставить совсяких подозрительных левых репозиториев
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32579 06:20 PM, 15 Nov 2017
    это да, это боль =( я для своего проекта до сих пор C++ 98 поддерживаю из-за центос 6 =(
  • никто и не умеет (кроме компиляции в с++/си из другого языка машиной как промежуточного кода. хотя и там говна много). они до сих пор потоки толком не стандартизировали (потоками из 11-го стандарта никто не пользуется, все юзают кучу разных внешних либ). на го пишут люди, которые либо не осилили qt studio и qtlibs, либо яву, либо pypy, либо мозг.
  • @vstakhov #32581 06:20 PM, 15 Nov 2017
    Это все, что нужно знать про портируемость c++
  • @432841274 #32582 06:21 PM, 15 Nov 2017
    обычно всё сразу
  • https://t.me/clickhouse_ru
    @proller #32583 06:21 PM, 15 Nov 2017
    хотя можно собирать clickhouse clang'ом из самого clickhouse ;)
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32584 06:22 PM, 15 Nov 2017
    у вас он для пре-компиляции запросов?
  • https://t.me/clickhouse_ru
    @proller #32585 06:23 PM, 15 Nov 2017
    да, но не всех и это надо включать опцией
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32586 06:23 PM, 15 Nov 2017
    круто 🙂 А как загрузка? Генерите а-ля so в /tmp и потом dyload?
  • @ztlpn ↶ Reply to #32580 #32587 06:25 PM, 15 Nov 2017
    Мы (ClickHouse) пользуемся потоками из 11 стандарта :)
  • https://t.me/clickhouse_ru
    @proller ↶ Reply to #32586 #32588 06:26 PM, 15 Nov 2017
    да
  • тогда понятно, почему всё так охрененно работает
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32590 06:27 PM, 15 Nov 2017
    в чем отличие потоков из 11 от того же буста?
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32591 06:27 PM, 15 Nov 2017
    один фиг внутри pthreads.
  • @ztlpn #32592 06:27 PM, 15 Nov 2017
    Почти никакого.
  • @ztlpn #32593 06:28 PM, 15 Nov 2017
    Вот чего не хватает - это нормальной библиотеки futures. То, что есть в стандарте, очень урезано.
  • https://t.me/clickhouse_ru
    @EKbfh #32594 06:28 PM, 15 Nov 2017
    Добрый вечер!
    Как у кх дела с deb9_64? Есть откровенные проблемы?
  • @DeamonMV #32595 07:28 PM, 15 Nov 2017
    Добрый вечер
    У меня была проблема с тем что отпадает селект инсерт
    нашел ошибку, если так можно сказать

    2017.11.15 19:17:12.288685 [ 700805 ] <Error> executeQuery: Code: 252, e.displayText() = DB::Exception: Too many parts (300). Merges are processing significantly slower t
    han inserts., e.what() = DB::Exception (from 192.168.0.71:56614) (in query: insert into test1.schema_right_tag format Native), Stack trace:

    0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x3419e66]
    1. clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x1f) [0x14f2a9f]
    2. clickhouse-server(DB::MergeTreeData::delayInsertIfNeeded(Poco::Event*)+0x3bc) [0x358bbfc]
    3. clickhouse-server(DB::ReplicatedMergeTreeBlockOutputStream::write(DB::Block const&)+0x4f) [0x358633f]
    4. clickhouse-server(DB::PushingToViewsBlockOutputStream::write(DB::Block const&)+0x42) [0x375dea2]
    5. clickhouse-server(DB::MaterializingBlockOutputStream::write(DB::Block const&)+0x37) [0x339c9b7]
    6. clickhouse-server(DB::AddingDefaultBlockOutputStream::write(DB::Block const&)+0x281) [0x371b171]
    7. clickhouse-server(DB::ProhibitColumnsBlockOutputStream::write(DB::Block const&)+0x5c) [0x371659c]
    8. clickhouse-server(DB::SquashingBlockOutputStream::finalize()+0x3f5) [0x3753ae5]
    9. clickhouse-server(DB::SquashingBlockOutputStream::writeSuffix()+0x11) [0x3753c51]
    10. clickhouse-server(DB::DistributedBlockOutputStream::writeToLocal(DB::Block const&, unsigned long)+0x95) [0x3572045]
    11. clickhouse-server(DB::DistributedBlockOutputStream::writeAsyncImpl(DB::Block const&, unsigned long)+0x245) [0x35785d5]
    12. clickhouse-server(DB::DistributedBlockOutputStream::writeSplitAsync(DB::Block const&)+0x99) [0x35788c9]
    13. clickhouse-server(DB::PushingToViewsBlockOutputStream::write(DB::Block const&)+0x42) [0x375dea2]
    14. clickhouse-server(DB::MaterializingBlockOutputStream::write(DB::Block const&)+0x37) [0x339c9b7]
    15. clickhouse-server(DB::AddingDefaultBlockOutputStream::write(DB::Block const&)+0x281) [0x371b171]
    16. clickhouse-server(DB::ProhibitColumnsBlockOutputStream::write(DB::Block const&)+0x5c) [0x371659c]
    17. clickhouse-server(DB::SquashingBlockOutputStream::write(DB::Block const&)+0x3c9) [0x3754039]
    18. clickhouse-server(DB::CountingBlockOutputStream::write(DB::Block const&)+0x2b) [0x36f975b]
    19. clickhouse-server(DB::TCPHandler::receiveData()+0xa4) [0x14fdb44]
    20. clickhouse-server(DB::TCPHandler::receivePacket()+0x1e1) [0x14fe1e1]
    21. clickhouse-server(DB::TCPHandler::readData(DB::Settings const&)+0x16a) [0x14fe52a]
    22. clickhouse-server(DB::TCPHandler::processInsertQuery(DB::Settings const&)+0x274) [0x14ff244]
    23. clickhouse-server(DB::TCPHandler::runImpl()+0x6ab) [0x14ffa7b]
    24. clickhouse-server(DB::TCPHandler::run()+0x2b) [0x150055b]
  • @DeamonMV #32596 07:28 PM, 15 Nov 2017

    25. clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x3ae7c5f]
    26. clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0xad) [0x3aecead]
    27. clickhouse-server(Poco::PooledThread::run()+0x86) [0x3a1bad6]
    28. clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x38) [0x39facf8]
    29. clickhouse-server() [0x4290b0f]
    30. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7fe3d882d6ba]
    31. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7fe3d7e4e3dd]

    такой инсерт селект сложил всю дисковую подсистему всех нод кластера(
    Подскажите как быть?
    на прошлом релизе, 289 что ли, я делал все тоже самое и не было такой проблемы.
    похоже это на баг? есть все таки смылс писать в гитхаб?
  • @DeamonMV #32597 07:35 PM, 15 Nov 2017
    если что, делаю все через нативный клиент
    инсертится где-то около 10-12М в минуту
  • @DeamonMV #32598 07:36 PM, 15 Nov 2017
    пошел поиском по чату может что то найдется полезное
  • @DeamonMV #32599 07:44 PM, 15 Nov 2017
    сейчас у нас работает последний релиз
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32600 07:51 PM, 15 Nov 2017
    блин, страшный баг в логе :/
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32601 07:51 PM, 15 Nov 2017
    2017.11.15 09:42:19.507023 [ 2 ] <Warning> ConfigProcessor: Include not found: clickhouse_compression
    2017.11.15 09:42:23.400907 [ 4 ] <Error> BaseDaemon: ########################################
    2017.11.15 09:42:23.400942 [ 4 ] <Error> BaseDaemon: (from thread 3) Received signal Illegal instruction (4).
    2017.11.15 09:42:23.427634 [ 4 ] <Error> BaseDaemon: 0. clickhouse-server() [0x341de90]
    2017.11.15 09:42:23.427694 [ 4 ] <Error> BaseDaemon: 1. clickhouse-server(DB::ITableDeclaration::check(std::vector<std::string, std::allocator<std::string> > const&) const+0x47) [0x341f2f7]
    2017.11.15 09:42:23.427740 [ 4 ] <Error> BaseDaemon: 2. clickhouse-server(DB::StorageSystemTables::read(std::vector<std::string, std::allocator<std::string> > const&, DB::SelectQueryInfo const&, DB::Context const&, DB::QueryProcessingStage::Enum&, unsigned long, unsigned int)+0x42) [0x2c3a672]
    2017.11.15 09:42:23.427757 [ 4 ] <Error> BaseDaemon: 3. clickhouse-server(DB::InterpreterSelectQuery::executeFetchColumns()+0xe81) [0x3610481]
    2017.11.15 09:42:23.427772 [ 4 ] <Error> BaseDaemon: 4. clickhouse-server(DB::InterpreterSelectQuery::executeSingleQuery()+0x23) [0x360c953]
    2017.11.15 09:42:23.427786 [ 4 ] <Error> BaseDaemon: 5. clickhouse-server(DB::InterpreterSelectQuery::executeWithoutUnion()+0x16d) [0x360ee4d]
    2017.11.15 09:42:23.427800 [ 4 ] <Error> BaseDaemon: 6. clickhouse-server(DB::InterpreterSelectQuery::execute()+0x31) [0x360eea1]
    2017.11.15 09:42:23.427811 [ 4 ] <Error> BaseDaemon: 7. clickhouse-server() [0x329045b]
    2017.11.15 09:42:23.427828 [ 4 ] <Error> BaseDaemon: 8. clickhouse-server(DB::executeQuery(std::string const&, DB::Context&, bool, DB::QueryProcessingStage::Enum)+0x135) [0x3291575]
    2017.11.15 09:42:23.427842 [ 4 ] <Error> BaseDaemon: 9. clickhouse-server(DB::InterpreterShowTablesQuery::execute()+0x35) [0x3600465]
    2017.11.15 09:42:23.427854 [ 4 ] <Error> BaseDaemon: 10. clickhouse-server() [0x329045b]
    2017.11.15 09:42:23.427869 [ 4 ] <Error> BaseDaemon: 11. clickhouse-server(DB::executeQuery(std::string const&, DB::Context&, bool, DB::QueryProcessingStage::Enum)+0x135) [0x3291575]
    2017.11.15 09:42:23.427884 [ 4 ] <Error> BaseDaemon: 12. clickhouse-server(DB::TCPHandler::runImpl()+0x58c) [0x147aa6c]
    2017.11.15 09:42:23.427898 [ 4 ] <Error> BaseDaemon: 13. clickhouse-server(DB::TCPHandler::run()+0x1c) [0x147b71c]
    2017.11.15 09:42:23.427912 [ 4 ] <Error> BaseDaemon: 14. clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x39ab75f]
    2017.11.15 09:42:23.427925 [ 4 ] <Error> BaseDaemon: 15. clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0xad) [0x39c9b5d]
    2017.11.15 09:42:23.427938 [ 4 ] <Error> BaseDaemon: 16. clickhouse-server(Poco::PooledThread::run()+0x86) [0x38ed396]
    2017.11.15 09:42:23.427952 [ 4 ] <Error> BaseDaemon: 17. clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x38) [0x38c0aa8]
    2017.11.15 09:42:23.427976 [ 4 ] <Error> BaseDaemon: 18. clickhouse-server() [0x40f595f]
    2017.11.15 09:42:23.427989 [ 4 ] <Error> BaseDaemon: 19. /lib/x86_64-linux-gnu/libpthread.so.0(+0x8184) [0x7f21ffb78184]
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32602 07:51 PM, 15 Nov 2017
    Кратко: "BaseDaemon: (from thread 3) Received signal Illegal instruction (4)."
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32603 07:51 PM, 15 Nov 2017
    это известная проблема?
  • @DeamonMV #32604 07:53 PM, 15 Nov 2017
    у вас страшенее) извените не удержался
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32605 07:56 PM, 15 Nov 2017
    вот да, не понятно что это
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32606 07:57 PM, 15 Nov 2017
    такое ощущение, что на машине без SSE запустили или чего-то подобного. Сейчас посмотрю cpuinfo
  • https://t.me/clickhouse_ru
    @qweran ↶ Reply to #32601 #32607 07:58 PM, 15 Nov 2017
    А что за конфиг?
  • https://t.me/clickhouse_ru
    @qweran #32608 07:58 PM, 15 Nov 2017
    Машины, всмысле
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32609 07:58 PM, 15 Nov 2017
    конфиг стандартный, ничего не меняли, версия: 1.1.54310.
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32610 07:59 PM, 15 Nov 2017
    конфиг запросил, жду
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32611 10:07 PM, 15 Nov 2017
    cat /proc/cpuinfo
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 23
    model name : Intel(R) Xeon(R) CPU E5430 @ 2.66GHz
    stepping : 6
    microcode : 0x60f
    cpu MHz : 2659.923
    cache size : 6144 KB
    physical id : 0
    siblings : 4
    core id : 0
    cpu cores : 4
    apicid : 0
    initial apicid : 0
    fpu : yes
    fpu_exception : yes
    cpuid level : 10
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority dtherm
    bugs :
    bogomips : 5319.84
    clflush size : 64
    cache_alignment : 64
    address sizes : 38 bits physical, 48 bits virtual
    power management:

    processor : 1
    vendor_id : GenuineIntel
    cpu family : 6
    model : 23
    model name : Intel(R) Xeon(R) CPU E5430 @ 2.66GHz
    stepping : 6
    microcode : 0x60f
    cpu MHz : 2659.923
    cache size : 6144 KB
    physical id : 1
    siblings : 4
    core id : 0
    cpu cores : 4
    apicid : 4
    initial apicid : 4
    fpu : yes
    fpu_exception : yes
    cpuid level : 10
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority dtherm
    bugs :
    bogomips : 5320.07
    clflush size : 64
    cache_alignment : 64
    address sizes : 38 bits physical, 48 bits virtual
    power management:
  • https://t.me/clickhouse_ru
    @Civiloid #32612 10:09 PM, 15 Nov 2017
    @pavel_odintsov кликхаус же хочет sse4_2 вроде бы, если запускать на серваке без него (E54xx/55xx) то будет SIGILL
  • https://t.me/clickhouse_ru
    @Civiloid #32613 10:09 PM, 15 Nov 2017
    надо пересобирать
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32614 10:09 PM, 15 Nov 2017
    Как-то сурово это что ли...
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32615 10:13 PM, 15 Nov 2017
    угу, вижу требования :( слона не заметил, спасибо!
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32616 10:20 PM, 15 Nov 2017
    но все равно странно, взял тест машину тоже без sse 4.2
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32617 10:20 PM, 15 Nov 2017
    grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
    SSE 4.2 not supported
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32618 10:20 PM, 15 Nov 2017
    ps aux|grep clickhouse
    clickho+ 9911 0.0 0.6 273352 27696 ? Ssl 22:19 0:00 clickhouse-server —daemon —pid-file=/var/run/clickhouse-server/clickhouse-server.pid —config-file=/etc/clickhouse-server/config.xml
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32619 10:20 PM, 15 Nov 2017
    поставился и запустился сходу
  • https://t.me/clickhouse_ru
    @Civiloid #32620 10:21 PM, 15 Nov 2017
    а проц какой именно?
  • https://t.me/clickhouse_ru
    @Civiloid #32621 10:21 PM, 15 Nov 2017
    модель
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32622 10:21 PM, 15 Nov 2017
    odintsov@fastlab1:~$ cat /proc/cpuinfo
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 23
    model name : Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz
    stepping : 10
    microcode : 0xa07
    cpu MHz : 2003.000
    cache size : 2048 KB
    physical id : 0
    siblings : 4
    core id : 0
    cpu cores : 4
    apicid : 0
    initial apicid : 0
    fpu : yes
    fpu_exception : yes
    cpuid level : 13
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm
    bugs :
    bogomips : 4666.12
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management:
  • https://t.me/clickhouse_ru
    @Civiloid #32623 10:21 PM, 15 Nov 2017
    не все операции вызывают sigill :)
  • https://t.me/clickhouse_ru
    @Civiloid #32624 10:21 PM, 15 Nov 2017
    возможно на c2q твоем ты такого не делал еще
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32625 10:25 PM, 15 Nov 2017
    все равно это как-то странно... хочется сообщение в логе что ли - нет поддрежки, извините
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32626 10:25 PM, 15 Nov 2017
    SIGILL вещь редкая и от нее пугаешься :)
  • https://t.me/clickhouse_ru
    @openbsod #32627 10:27 PM, 15 Nov 2017
    Местами sigill даже законодательно запрещен)
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32628 10:28 PM, 15 Nov 2017
    и не зря, неплохая идея
  • @vstakhov #32629 10:58 PM, 15 Nov 2017
    ну, не осилили рантайм диспатч, бывает
  • @vstakhov #32630 10:59 PM, 15 Nov 2017
    впрочем, если его делать по уму, через ifunc, то это ни разу не тривиальная задача
  • @vstakhov #32631 10:59 PM, 15 Nov 2017
    уж проще на баше скрипт написать, который по анализу cpuinfo запускает бинарь либо с поддержкой X, либо без нее
  • @vstakhov #32632 11:00 PM, 15 Nov 2017
    хотя самая засада с cpu throttling и avx - вон, с новомодными boring ssl и avx512 выходит так, что одна дурацкая бибилиотека tls вызывает троттлинг всего cpu до 1.1 GHz
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32633 11:24 PM, 15 Nov 2017
    да, коллега красивую фигню отковырял :(
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32634 11:24 PM, 15 Nov 2017
    "фича" с AVX вообще кошмар
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #32634 #32635 11:28 PM, 15 Nov 2017
    там фич больше
  • https://t.me/clickhouse_ru
    @Civiloid #32636 11:28 PM, 15 Nov 2017
    вы возьмтие Xeon Silver и Xeon Gold
  • https://t.me/clickhouse_ru
    @Civiloid #32637 11:28 PM, 15 Nov 2017
    у них будет поведение в avx512 отличаться
  • https://t.me/clickhouse_ru
    @Civiloid #32638 11:28 PM, 15 Nov 2017
    если судить по тому что интел говорил
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32639 11:28 PM, 15 Nov 2017
    говорят еще косяков в них немеряно в этих голдах и силверах
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32640 11:29 PM, 15 Nov 2017
    сугубо даже с сборочной стороны
  • https://t.me/clickhouse_ru
    @Civiloid ↶ Reply to #32639 #32641 11:29 PM, 15 Nov 2017
    каждый errata на цпу состоит из 100+ пунктов
  • 16 November 2017 (225 messages)
  • https://t.me/clickhouse_ru
    @ssemiokhin #32642 07:54 AM, 16 Nov 2017
    Всем привет!
    Ребят, не проконсультируете по поводу Kafka-движка https://github.com/yandex/ClickHouse/blob/master/docs/en/table_engines/kafka.rst ?
    Выглядит очень интересно, основной вопрос, можно ли читать Avro-сообщения, указав в schema путь к Авро-схеме?
    yandex/ClickHouse

    ClickHouse is a free analytic DBMS for big data.

  • @AEDeveloper #32643 08:10 AM, 16 Nov 2017
    Коллеги, после добавления в запрос SETTINGS max_threads=2 получил ошибку Cannot execute SET query in readonly mode
    пошел в конфиг и добавил юзеру <readonly>0</readonly> перезапустил сервис. не помогло. Может кто подскажет почему оно не пашет с SETTNGS
  • @AEDeveloper #32644 08:12 AM, 16 Nov 2017
    стучиться через 8123 стандартный порт http
  • @AEDeveloper #32645 08:19 AM, 16 Nov 2017
    вижу, что при запросе через http GET выставляется автоматом ридонли 1.... надо пост делать...
  • https://t.me/clickhouse_ru
    @erzentd #32646 08:25 AM, 16 Nov 2017
    а есть ли у кликхауса дебаггер?
  • https://t.me/clickhouse_ru
    @kshvakov #32647 08:39 AM, 16 Nov 2017
    есть, GDB
  • https://t.me/clickhouse_ru
    @kshvakov #32648 08:40 AM, 16 Nov 2017
    Еще можно уровень логирования на trace поменять
  • https://t.me/clickhouse_ru
    @deusmodus #32649 08:41 AM, 16 Nov 2017
    Joined.
  • @kolsys #32650 09:23 AM, 16 Nov 2017
    @milovidov_an проясни пожалуйста по сжатию. В своём докладе ты говорил, что шардинг скорее зло, чем добро, но у нас что-то не стыкуется. Мы провели эксперимент:
    Есть несколько таблиц со строковым полем N. Значение в поле N пересекается между 7 таблицами с очень большой вероятностью (~80%).
    Мы слили все таблицы в одну, добавив enum поле. На выходе получили вариант, в котором слитые в одну таблицу данные занимают в 1.4 раза больше места в сжатом виде, чем по шардам. Мы полагали, что получим экономию места за счет лучшего сжатия колонки N, но это не так. Почему так происходит?
  • @solhov ↶ Reply to #32632 #32651 09:44 AM, 16 Nov 2017
    о, новые грани "ssl не просаживает производительность"
  • https://t.me/clickhouse_ru
    @qweran ↶ Reply to #32650 #32652 09:48 AM, 16 Nov 2017
    Может в шардах данные более однородные? Или. Остались неактивные партиции?
  • @kolsys ↶ Reply to #32652 #32653 09:49 AM, 16 Nov 2017
    Данные одни и те же.
  • https://t.me/clickhouse_ru
    @qweran ↶ Reply to #32653 #32654 09:50 AM, 16 Nov 2017
    Но на диске расположены по разному же
  • https://t.me/clickhouse_ru
    @ashulzhenko #32655 09:51 AM, 16 Nov 2017
    Joined.
  • @kolsys ↶ Reply to #32654 #32656 09:52 AM, 16 Nov 2017
    Не очень понимаю. Данные довольно равномерно размазаны по времени. Пересечение по колонке N происходит на разных шардах в одно и то же время, в том же самом порядке.
  • https://t.me/clickhouse_ru
    @niknvv #32657 11:37 AM, 16 Nov 2017
    Всем привет!
    Хотелось узнать, как кликхаус будет себя вести с большим количеством джойнов?
    Есть идея хранить данные в куче таблиц и делать джоин по какому-то идентификатору.
    Предположим таблиц будет 5-6 и генерироваться будет в среднем 150кк эвентов в сутки, которые будут записываться в эти таблицы.
  • @bymslf #32658 11:38 AM, 16 Nov 2017
    Зачем?
  • https://t.me/clickhouse_ru
    Плохо, поскольку:
    - будет много уровней вложености - неудобно
    - сначала будет вся строиться "правая" часть в памяти и только потом идти джоин и фильтрация - с фильтрами будет аццки медлено работать
  • https://t.me/clickhouse_ru
    @niknvv #32660 11:45 AM, 16 Nov 2017
    Спасибо
  • https://t.me/clickhouse_ru
    @niknvv ↶ Reply to #32658 #32661 11:45 AM, 16 Nov 2017
    Вызывается эвент типа А, через n времени происходит эвент типа B, но который порожден эвентом A, как-то так.
  • https://t.me/clickhouse_ru
    @deusmodus #32662 11:45 AM, 16 Nov 2017
    Денормализация, mergе движки
  • https://t.me/clickhouse_ru
    @deusmodus #32663 11:45 AM, 16 Nov 2017
    Звезду не построить в CH
  • https://t.me/clickhouse_ru
    @deusmodus #32664 11:46 AM, 16 Nov 2017
    Или будет очень медленно
  • https://t.me/clickhouse_ru
    @peerclick #32665 11:46 AM, 16 Nov 2017
    Добрый день , влияет ли настройка сжатия данных на уже записанные данные ?
  • https://t.me/clickhouse_ru
    @dmitry_berezhnov #32666 11:46 AM, 16 Nov 2017
    Поищите в истории чата, но насколько помню - нет, только на новые
  • @379482695 #32667 11:54 AM, 16 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @aloneibreak #32668 12:08 PM, 16 Nov 2017
    добрый день
    есть такая ситуация

    SELECT uniqExact(affid)
    FROM affid
    WHERE (date >= '2017-01-10') AND (date <= '2017-01-25')

    ┌─uniqExact(affid)─┐
    │ 22499975 │
    └─────────┘

    1 rows in set. Elapsed: 3.280 sec. Processed 43.00 million rows,

    как понять откуда взялось 43млн строк если в результате всего 22млн?
  • https://t.me/clickhouse_ru
    @aloneibreak #32669 12:10 PM, 16 Nov 2017
    и есть ли в КХ какой-то анализатор запросов вроде EXPLAIN?
  • https://t.me/clickhouse_ru
    @neiwick #32670 12:10 PM, 16 Nov 2017
    43 млн было прочитано с диска. КХ читает данные блоками, в блоке может быть чуть больше строк чем нужно для запроса.
  • https://t.me/clickhouse_ru
    Нет EXPLAIN, но если открыть лог сервера когда выполняется запрос, там будут некие стадии выполнения запроса
  • https://t.me/clickhouse_ru
    ага
    то есть можно предположить что прочитана была вся партиция
    спасибо
  • https://t.me/clickhouse_ru
    спасибо
  • https://t.me/clickhouse_ru
    а нет ли доки как читать этот лог? )
  • https://t.me/clickhouse_ru
    @dmitry_berezhnov #32675 12:19 PM, 16 Nov 2017
    Откройте лог через tail
    tail -f /path_to_clickhouse-server.log
    Там примерно понятно что происходит
  • https://t.me/clickhouse_ru
    @aloneibreak #32676 12:20 PM, 16 Nov 2017
    это-то понятно :)
  • https://t.me/clickhouse_ru
    @aloneibreak #32677 12:21 PM, 16 Nov 2017
    например он пишет
    Selected 5 parts by date, 5 parts by key, 1384 marks to read from 5 ranges
    как бы знать хорошо это или плохо?
    может я запрос коряво написал?
    или типа КХ вообще не про это и лишь бы в память влезало
  • https://t.me/clickhouse_ru
    @neiwick #32678 12:26 PM, 16 Nov 2017
    Оптимизации запросов в КХ обычно начинаются с show create table 'name'. Скорее всего у вас произошло чтение всей партиции. Я так понимаю, вы хотите уменьшить время выполнения за счет ограничения выборки по диапазону дат? Проверьте, есть ли помимо партиционирования по Date еще и индекс по этому же Date[Time].
  • @angoriunov #32679 12:28 PM, 16 Nov 2017
    Joined.
  • https://t.me/clickhouse_ru
    @dimcha #32680 12:31 PM, 16 Nov 2017
    system.parts показывает партишены которые содержат месячные данные? или это какие-то другие parts? У меня из за 3 дня 6800 штук накопилось, это нормально?
  • https://t.me/clickhouse_ru
    @Shegloff #32681 12:33 PM, 16 Nov 2017
    https://clickhouse.yandex/docs/ru/single/#alter
    ctrl+f "Куском (part) в таблице называется"
  • https://t.me/clickhouse_ru
    @Shegloff #32682 12:33 PM, 16 Nov 2017
    там про все написано
  • https://t.me/clickhouse_ru
    спасибо
  • https://t.me/clickhouse_ru
    @dimcha ↶ Reply to #32681 #32684 12:42 PM, 16 Nov 2017
    спасибо, оно.
  • https://t.me/clickhouse_ru
    @dimcha #32685 12:55 PM, 16 Nov 2017
    повторю свой вопрос вчерашний:
    У меня select на Distibuted таблицу выдает через раз разные(всего 2) наборы данных. По графику видно, что это разные части одного графика с "дырками". Создается впечаление, что merge не проходит или не рандомно не доезжают данные с какой-то из нод. С чего можно начать дебаг проблемы?
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32687 01:03 PM, 16 Nov 2017
    А нет ли планов реализовать вот это https://github.com/yandex/ClickHouse/issues/838 ? Уж очень хочется хранить скорости изменения величин в CH, но получается это совершенно неоптимально =(
    Feature request: add ability to apply delta or delta-of-delta encoding to numeric columns before compression · Issue #838 · yandex/ClickHouse

    Clickhouse fits well for time-series DB from the performance point of view. But the compression ratio for the data stored in such databases may be further improved. Tables in time-series DBs usuall...

  • https://t.me/clickhouse_ru
    @lostlittle #32688 01:04 PM, 16 Nov 2017
    Joined.
  • @solhov #32689 01:10 PM, 16 Nov 2017
    правильно это делать на этапе сбора метрики. собственно это единственный корректный способ.
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32690 01:11 PM, 16 Nov 2017
    что именно?
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32691 01:12 PM, 16 Nov 2017
    у нас метрики - это десятки миллионов "скоростей" изменения различных величин, их считает наш софт и отправляет в CH уже посчитанные результаты
  • @solhov #32692 01:15 PM, 16 Nov 2017
    хранение дельты/производной вместо самого измерения.
  • https://t.me/clickhouse_ru
    @Shegloff ↶ Reply to #32685 #32693 01:15 PM, 16 Nov 2017
    у вас там был очень большой поток на запись, может просто репликация не успевает? остановите запись, сравните таблицы на репликах, по count(), например. Ну или сравнить данные, которые уже заведомо доехали, вчерашние, или за час назад
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32694 01:16 PM, 16 Nov 2017
    @solhov это делает наш софт неимоверно сложным.
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32695 01:17 PM, 16 Nov 2017
    ну и вообще это стандартная тема для TSDB, Influx/Graphite справляются с этим, но у них с масштабированием не все хорошо. CH отлично справляется, если бы можно было укзаать тип сжатия для таблицы 🙂
  • @solhov #32696 01:17 PM, 16 Nov 2017
    тогда вам надо выгнать ваших программистов, раз они не могут осилить настолько тривиальную вещь
  • @solhov #32697 01:17 PM, 16 Nov 2017
    инфлюкс хорошо справляется только с задачей "просрать нахуй данные за полгода"
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32698 01:17 PM, 16 Nov 2017
    вам не кажется, что это странно, переписывать всю логику приложения и делать поспешные выводы?
  • @solhov #32699 01:18 PM, 16 Nov 2017
    мои выводы основанны на 25 летнем опыте сбора дельт, вы считаете 25 лет — это очень поспешно?
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32700 01:18 PM, 16 Nov 2017
    но это офтоп, мне интересен ответ разработчиков, а не как я должен нанимать своих программистов 🙂
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @dimcha #32702 01:19 PM, 16 Nov 2017
    увы, 2 часа назад та-же картина
  • https://t.me/clickhouse_ru
    @feriat ↶ Reply to #32702 #32703 01:21 PM, 16 Nov 2017
    Прошу прощения, а напомните, как, не зная вашего номера телефона, забанить ваш ник?
  • https://t.me/clickhouse_ru
    @windoozatnick #32704 01:21 PM, 16 Nov 2017
    Андрей, плюсую)
  • https://t.me/clickhouse_ru
    @dimcha ↶ Reply to #32703 #32705 01:22 PM, 16 Nov 2017
    contact info -> block user
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32706 01:22 PM, 16 Nov 2017
    отлично
  • @boommer ↶ Reply to #32702 #32708 01:22 PM, 16 Nov 2017
    вы что работаете со сбором данных хим состава клеток?)
  • https://t.me/clickhouse_ru
    @dimcha ↶ Reply to #32708 #32713 01:23 PM, 16 Nov 2017
    какое там. carbon метрики собираю
  • https://t.me/clickhouse_ru
    @pipopolam #32714 01:23 PM, 16 Nov 2017
    и сразу банят
  • https://t.me/clickhouse_ru
    @windoozatnick #32715 01:23 PM, 16 Nov 2017
    Мистер глаз, а почему бы вам не сменить ник?
  • @vstakhov #32716 01:23 PM, 16 Nov 2017
    по-моему, отличный ник
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32717 01:24 PM, 16 Nov 2017
    я за нормы приличия, мы все же не в чате Тарантула, где можно материться 🙂
  • https://t.me/clickhouse_ru
    @windoozatnick #32718 01:24 PM, 16 Nov 2017
    Раз части сообщества неприятно)
  • @solhov #32719 01:24 PM, 16 Nov 2017
    а графит, кстати, вообще не способен собирать данные корректно: http://grisha.org/blog/2015/05/04/recording-time-series/
  • https://t.me/clickhouse_ru
    @feriat ↶ Reply to #32705 #32720 01:24 PM, 16 Nov 2017
    не помогло
  • https://t.me/clickhouse_ru
    @windoozatnick #32721 01:24 PM, 16 Nov 2017
    Кажется, надо делать это на уровне чата
  • https://t.me/clickhouse_ru
    @windoozatnick #32722 01:24 PM, 16 Nov 2017
    Ты заблочил для себя
  • https://t.me/clickhouse_ru
    @qweran ↶ Reply to #32701 #32723 01:24 PM, 16 Nov 2017
    Кросс-репликация)
  • https://t.me/clickhouse_ru
    @qweran #32724 01:25 PM, 16 Nov 2017
    ?
  • @solhov #32725 01:25 PM, 16 Nov 2017
    милоновы и мизулины в чатике!
  • https://t.me/clickhouse_ru
    @dimcha ↶ Reply to #32723 #32726 01:25 PM, 16 Nov 2017
    да
  • https://t.me/clickhouse_ru
    @qweran ↶ Reply to #32726 #32727 01:25 PM, 16 Nov 2017
    В кликхаусе это больно)
  • https://t.me/clickhouse_ru
    @dimcha #32728 01:25 PM, 16 Nov 2017
    моралфагам как вариант - замена через tampermonkey
  • https://t.me/clickhouse_ru
    @dimcha ↶ Reply to #32727 #32729 01:26 PM, 16 Nov 2017
    а как-же быть?
  • https://t.me/clickhouse_ru
    @qweran ↶ Reply to #32729 #32730 01:26 PM, 16 Nov 2017
    Отказаться от кросс-репликации?)
  • https://t.me/clickhouse_ru
    @dimcha #32731 01:26 PM, 16 Nov 2017
    так чем ее заменить?
  • https://t.me/clickhouse_ru
    @dimcha #32732 01:27 PM, 16 Nov 2017
    как HA организовать без репликации?
  • https://t.me/clickhouse_ru
    @feriat ↶ Reply to #32728 #32733 01:27 PM, 16 Nov 2017
    я сижу не через веб-версию, и хотел бы кросс-платформенное решение
  • https://t.me/clickhouse_ru
    @pavel_odintsov #32734 01:28 PM, 16 Nov 2017
    а между тем это хитрый способ атаки на чаты, в ирц времена было такое 🙂 Ник флуд называлось, но оно было немного иначе
  • https://t.me/clickhouse_ru
    @dimcha ↶ Reply to #32733 #32735 01:28 PM, 16 Nov 2017
    сорян, к Дурову предложения
  • https://t.me/clickhouse_ru
    @qweran ↶ Reply to #32731 #32736 01:29 PM, 16 Nov 2017
    Использовать две машины. один шард + две реплики. а как создаются таблицы и описание кластеров можно посмотреть?
  • https://t.me/clickhouse_ru
    @dimcha ↶ Reply to #32734 #32737 01:29 PM, 16 Nov 2017
    не надо искать черную кошку. Мне просто нравится ник
  • https://t.me/clickhouse_ru
    @qweran ↶ Reply to #32733 #32738 01:29 PM, 16 Nov 2017
    Добавить в контакты и переименовать
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @feriat ↶ Reply to #32738 #32740 01:29 PM, 16 Nov 2017
    смотри выше, я не знаю мобильного телефона этого молодого человека
  • https://t.me/clickhouse_ru
    @dimcha #32741 01:30 PM, 16 Nov 2017
    @dimcha
  • https://t.me/clickhouse_ru
    @dimcha #32742 01:30 PM, 16 Nov 2017
    можно добавить ник
  • https://t.me/clickhouse_ru
    @feriat ↶ Reply to #32742 #32743 01:30 PM, 16 Nov 2017
    добавив ник нельзя редактировать имя
  • @solhov #32744 01:30 PM, 16 Nov 2017
    указанный в юзеринфо, междупрочим
  • @solhov #32745 01:30 PM, 16 Nov 2017
    как всё сложно.
  • @solhov #32746 01:31 PM, 16 Nov 2017
    нет что бы просто расслабиться и не возбуждаться на всякую херню, не влияющую на функционирование
  • https://t.me/clickhouse_ru
    @dimcha #32747 01:31 PM, 16 Nov 2017
    думаю стоит написать в суппорт телеги. Без шуток.
  • https://t.me/clickhouse_ru
    @feriat ↶ Reply to #32747 #32748 01:31 PM, 16 Nov 2017
    напишите?
  • https://t.me/clickhouse_ru
    @dimcha #32749 01:32 PM, 16 Nov 2017
    да, напишу. Только бы найти их адрес
  • https://t.me/clickhouse_ru
  • https://t.me/clickhouse_ru
    @dimcha #32751 01:34 PM, 16 Nov 2017
    написал. Буду держать в курсе )
  • https://t.me/clickhouse_ru
    Пожалуйста, не надо. И так оффтопа много.
  • @solhov #32754 01:38 PM, 16 Nov 2017
    да ладно не пошлешь, не похвалишь — уже обидки и травма
  • https://t.me/clickhouse_ru
    @hagen1778 #32755 01:52 PM, 16 Nov 2017
    Речь не о чувствительности, а о комьюнити конкретно в этом чате. Люди, появившиеся здесь с самого открытия КХ в опенсорс, привыкли к адекватности. А адекватность, а данном случае, это серьзеное восприятие собеседника, шаринг бест практисес и опыта использования данного продукта. Воспринимать серьзено человека с вызывающим ником не то чтобы трудно, но требует дополнительных усилий. И прилагать их вот просто так, мне лично, не хочется. К тому же, такое поведение вызывает явное неодобрение со стороны других участников чата и они не могут с этим ничего сделать, кроме как высказывать его. Ситуация похожа на курение. Вы имеете право курить, но, пожалуйста, не мешайте этим другим людям. Они ведь не мешают вам тем, что не курят? Давайте не скатываться
  • https://t.me/clickhouse_ru
    @dimcha #32756 01:56 PM, 16 Nov 2017
    Не прилагайте. От вас, по-существу моих вопросов, ответов не наблюдается.
    Если тут профессионалы собрались, так и ведите себя как профессионалы - концентрируйтесь на проблеме, а не окружении.