@clickhouse_ru

Страница 520 из 723
LeiDruid
07.05.2018
16:00:35
Yuran
07.05.2018
17:28:09
Странный скрипт у вас @kshvakov

https://github.com/ClickHouse-Ninja/clickhouse-partition-cleaner/blob/master/clickhouse-partition-cleaner — оно не начинается с #! и лично у меня в системе sh находится по адресу /bin/sh

Kirill
07.05.2018
17:54:09
Странный скрипт у вас @kshvakov
Кстати, да, странно, но оно у нас работает )

Google
Yuran
07.05.2018
17:54:52
в macOS я замечал, что просто интерпрератор по умолчанию у исполняемых текстовых файлов это /bin/sh

на счёт linux я не уверен

prll
07.05.2018
17:55:29
/bin/sh работает почти везде

Yuran
07.05.2018
17:55:39
опенсорус всегда можно под себя все сделать ))
да мне-то несложно исправить в своей ветке, я так контрибучу в проект :)

Wolf
07.05.2018
17:56:12
сегодня юзеры офигели с релиза, у меня по дефолту везде прописан интерпретатор python и на него назначен python3, а у юзеров нет ) и все в питоне2 не заработало у всех

Aleksey
07.05.2018
18:26:00
Привет! @milovidov_an @ztlpn скажите, пожалуйста, есть ли какие-нибудь прогнозы по https://github.com/yandex/ClickHouse/issues/2219? Из-за этого бага у нас провисла очень критичная функциональность и мы думаем что делать.

Mike
07.05.2018
21:00:29
А стоит ли в широкой разреженной таблице интов использовать null для пустых значений или лучше default -136661488 сделать и фильтровать постоянно?

(ноль — валидное возможное значение)

Alexey
07.05.2018
21:12:58
Привет! @milovidov_an @ztlpn скажите, пожалуйста, есть ли какие-нибудь прогнозы по https://github.com/yandex/ClickHouse/issues/2219? Из-за этого бага у нас провисла очень критичная функциональность и мы думаем что делать.
Мы пока ещё не начали разбираться с этой задачей. Как обойти проблему? Вместо distributed_product_mode = 'local', указывайте в подзапросах локальную таблицу явно.

Aleksey
07.05.2018
22:08:26
Мы пока ещё не начали разбираться с этой задачей. Как обойти проблему? Вместо distributed_product_mode = 'local', указывайте в подзапросах локальную таблицу явно.
Спасибо большое за ответ! Но что делать вот в такой ситуации? SELECT filed1, [p0, p1] FROM ( SELECT field1, minIf(field2, a = cityHash64('a') AND _table = 'table1') as p0, minIf(field2, a = cityHash64('b') AND _table = 'table2') as p1 FROM distributed_over_merge_table WHERE field3 IN (cityHash64('a'), cityHash64('b')) GROUP BY field1 HAVING p0 != 0 AND p1 != 0 ORDER BY p0 DESC, field1 ASC LIMIT 100 SETTINGS distributed_group_by_no_merge = 1 ) ORDER BY p0 DESC, field1 ASC LIMIT 100

выдает все ту же ошибку DB::Exception: Different expressions with the same alias _table: 'table2' AS _table and 'table1' AS _table

Google
Alex
08.05.2018
05:29:43
Всем доброго дня, подскажите, насколько безопасно использовать full outer join? В документации о нем ни слова, но тем не менее он есть :) Поиск навел на два issue, что его использование приводит к сегфолтам, одно из них старое и закрыто, второе совсем свежее и без ответа

Александр
08.05.2018
08:03:00
А кто-то может помочь с MySQL движком? Есть колонка с датой в MySQL, она nullable. При выборке в ch SELECT * FROM mysql_table where column is null возвращает пустой результат. При попытке отфильтровать по column = '0000-00-00 00:00:00'

Кто как с этим борется?

Руслан
08.05.2018
08:31:56
@kochetovnicolai Здравствуйте. Извините, не нашел в интернете ответа. Какой логин и пароль учетной записи для консоли tutorial_catboost_clickhouse VirtualBox ?

Nikolai
08.05.2018
08:32:52
catboost. и пароль тоже

Руслан
08.05.2018
08:33:00
Спасибо, Николай.

Daniel
08.05.2018
08:41:29
На сервере с 128G RAM имеет ли смысл не дожидаться OOM-ов и сразу запускать сервис под numactl interleave? У кого так работает? Хорошо ли?

Wolf
08.05.2018
08:44:44
А с чего там должны быть оомы ?

В целом если не делать странные вещи то кх просто идеально работает с памятью, утечки памяти в расчет не беру

Daniel
08.05.2018
08:48:35
В целом если не делать странные вещи то кх просто идеально работает с памятью, утечки памяти в расчет не беру
можно вас попросить поставить numactl и сделать вывод команд 1) #numactl --hardware 2) вывод этого скрипта http://jcole.us/blog/files/numa-maps-summary.pl # ./numa-maps-summary.pl < /proc/$CLICKHOUSE_PID/numa_maps

Sergei
08.05.2018
09:33:58
Народ, как лучше шардировать данные ? Так что бы данные одного запроса на селект были на одном сервере , или лучше на разных ?

Aleksandr
08.05.2018
09:37:41
лучше что бы данные были на разных серверах, тогда селект разобьется на все сервера с данными и выполнится быстрее

Sergei
08.05.2018
09:41:36
Если запрос один, то да. А если предположить что пареллельно испольняются дургие запросы, которые затрагивают разные шарды?

В общем вот ответ на мой вопрос "Беспокоиться о схеме шардирования имеет смысл в следующих случаях: - используются запросы, требующие соединение данных (IN, JOIN) по определённому ключу - тогда если данные шардированы по этому ключу, то можно использовать локальные IN, JOIN вместо GLOBAL IN, GLOBAL JOIN, что кардинально более эффективно. - используется большое количество серверов (сотни и больше) и большое количество маленьких запросов (запросы отдельных клиентов - сайтов, рекламодателей, партнёров) - тогда, для того, чтобы маленькие запросы не затрагивали весь кластер, имеет смысл располагать данные одного клиента на одном шарде," , мб полезно кому будет

Michal
08.05.2018
10:17:19
Привет, а округлением таймингов в мс (чтоб лучше жались) кто-то занимался? Там обычно куча совершенно космических цифр после 30 сек (можно их все в одну кучу свалить при округлении), после 10 сек - достаточно секундной точности, и чем ближе к нулю - тем точнее. Что-то типа quantileTiming только для округления при записи, а не для аггрегации.

Есть roundDuration, но он для секунд, и есть roundToExp2, но он слишком быстро теряет точность.

Alexander
08.05.2018
11:15:10
Всем привет. Такой вопрос - допустим, есть бэкап таблиц с кучи серверов, сделанный с помощью freeze partition. Допустим, нужно развернуть бэкапы на гораздо меньшем количестве машин (аварийная ситуация). Будет ли иметь значение, куда и как аттачить партиции? По идее при чтении distributed же будет собирать инфу со всех серверов?

Sergei
08.05.2018
11:59:57
Кстати, а можно атачить партиции к distributed таблице ? В этом случае они должны разшардиться по новой схеме.

Александр
08.05.2018
12:00:58
Доброго времени суток, где можно посмотреть насколько успешно выполнение целенй на из roadmap на Q2 2018 ? В частности интересует "Protobuf and Parquet input and output formats." Вижу только открытую таску https://github.com/yandex/ClickHouse/issues/1342

Google
Wolf
08.05.2018
12:07:50
Кстати, а можно атачить партиции к distributed таблице ? В этом случае они должны разшардиться по новой схеме.
дистрибьютед таблица физически не существует , это просто сущность над реальными таблицами

Александр
08.05.2018
12:11:24
Есть человек, который занимается этой задачей. Про прогресс сказать не могу.
Следить за закрытыми пулл-реквестами ? Простите на нубский вопрос, мало пока понимаю как сообщество работает.

Sergei
08.05.2018
12:11:37
дистрибьютед таблица физически не существует , это просто сущность над реальными таблицами
это понятно, просто на диске директория под distributed таблицы создается

Wolf
08.05.2018
12:12:15
Sergei
08.05.2018
12:13:27
Ну там ничего же нет по сути, кроме меты
мало ли, я просто ожидал что складывание партиций форсирует insert в distributed таблицу, с последующей раскладкой по шардам

Wolf
08.05.2018
12:13:57
ну просто инсерт сделайте в нее , без лишних головников , ну или сделайте решардинг

Александр
08.05.2018
12:17:37
Aleksandr
08.05.2018
12:45:01
подскажите плз, есть столбец с разными значениями (например 1, 2, 3, 4), как составить запрос чтобы получить количество записей для каждого из значений (еще лучше сразу процент)?

Wolf
08.05.2018
12:46:13
count group by ?

Ru!
08.05.2018
12:46:16
select count(field_name) from ... group by field_name ?

Tima
08.05.2018
12:47:16
SELECT i, COUNT(*) FROM (SELECT arrayJoin([1,2,3,4, 2]) AS i) GROUP BY i

Aleksandr
08.05.2018
12:50:55
а можно как-то одним запросом и общим числом записей?

Tima
08.05.2018
12:54:26
а можно как-то одним запросом и общим числом записей?
Что такое "общим числом записей"? Вы понимаете что вопрос не в чат с КХ, а в общем про SQL?

Vasily
08.05.2018
12:59:29
Здравствуйте, подскажите, пожалуйста, можно ли как-то использовать дату/время clickhouse в разных часовых поясах? Например, у меня сейчас данные залиты в utc, а хочется выбоку по Самаре, сейчас сделал выборку запросом: SELECT toString(event_time, 'Europe/Samara') AS time, cutQueryString(url) AS url FROM events WHERE (toDate(event_time, 'Europe/Samara') = '2018-05-07') AND (utm_source = 'vk') AND (utm_campaign = 'ol_vk_client_pokrivalo') ORDER BY time ASC но так сканируется таблица целиком, и это понятно, а хотелось бы чтобы с использованием индексов по дате

Vasily
08.05.2018
13:05:07
CREATE TABLE events ( event_date Date, event_time DateTime, event_type Enum8('VIEWS' = 1), client_id Int32, ..... ) engine=MergeTree(event_date, (client_id, user_uid, event_type), 8192)

Понятно условие с перекрытием, ((event_date > '2018-05-06') AND (event_date < '2018-05-08')), вот так в моем случае работает, думал, может есть какая-то еще возможность.

Google
Vasily
08.05.2018
13:09:22
спасибо!

Alexey
08.05.2018
13:27:32
Салют! Вопрос по Kafka Engine. Если пришло сообщние которое движок не может распарсить как можно заставить его пропустить это сообщение? А то похоже вся обработка топика останавливается на этом.

Использую формат 'JSONEachRow' и приходит битый json

Anton
08.05.2018
13:33:56
Здравствуйте. Не подскажете, почему клиент может не реагировать на опцию connect_timeout? time clickhouse-client -q "select dummy from system.one;" —connect_timeout 1 -h 8.8.8.8 Code: 209. DB::NetException: Timeout: connect timed out: 8.8.8.8:9000: (8.8.8.8:9000) real 0m10.021s user 0m0.010s sys 0m0.000

Tomazov
08.05.2018
13:42:46
Добрый день. хочу для теста на PHP установить расширение с Google CityHash нашел вот такой код https://github.com/AlekseyEf/PHP-CityHash-Extension сравнил исходник с вашим файлом https://github.com/yandex/ClickHouse/tree/master/contrib/libcityhash/src и внес изменения https://github.com/tomazov/PHP-CityHash-Extension после установки проверяю, есть такие поля "2,20790,1358,2,0,2018-08-20,6,1,0,0,368451,12518734" CH сгенерировал = 2731959323551623382 пытаюсь воспроизвести в PHP получаю = 2acfabd2dad7f097 переводу из hexdec() = 3084873191875145879, как мне воссоздать ключ как в CH? каким символом вы разделяете поля?

Tima
08.05.2018
13:49:40
Alexey
08.05.2018
14:00:55
А есть возможность игнорировать ошибки парсинга? В документации ничего не нашел про это.

Tima
08.05.2018
14:02:08
При загрузке данных с файла есть такая опция у clickhouse-client, через кафку - не видел

Oleg Bazdyrev
08.05.2018
14:22:56
Привет А как бороться с багом, что при inner join'е у второй таблицы зачем-то добавляется неймспейс default?

Stas
08.05.2018
14:25:19
А нет ли какой удобной утилиты для работы с CH по http? что бы по удобности как родной бинарный клиент

Andrey
08.05.2018
14:33:24
А нет ли какой удобной утилиты для работы с CH по http? что бы по удобности как родной бинарный клиент
Так вроде же CH умеет сам по http работать. https://clickhouse.yandex/docs/en/interfaces/http_interface/

Vasily
08.05.2018
14:35:30
Stas
08.05.2018
14:35:52
Tabix есть
я знаю, я не зря именно CLI спрашиваю...

Konstantin
08.05.2018
14:36:19
а в чем тогда сакральный смысл такого решения?

Andrey
08.05.2018
14:37:52
я про CLI утилиту ...
А зачем CLI именно поверх http? Чем вариант с удалённым подключением с помощью родного clickhouse-client не подходит?

Stas
08.05.2018
14:38:30
т.е клиенты должны ходить по LDAP и обслуживает их nginx

Tatiana
08.05.2018
14:54:26
Всем привет. Такой вопрос - допустим, есть бэкап таблиц с кучи серверов, сделанный с помощью freeze partition. Допустим, нужно развернуть бэкапы на гораздо меньшем количестве машин (аварийная ситуация). Будет ли иметь значение, куда и как аттачить партиции? По идее при чтении distributed же будет собирать инфу со всех серверов?
Можно развернуть на другом количестве машин, только надо осторожно, нельзя смешивать все файлы в одну кучу, потому что могут названия партов совпадать и все перепутается. Ну и в зависимости от количества возможно неравномерное распределение данных, конечно же. У меня был переезд с 20 шардов на 5, просто на каждой новой ноде 4 раза аттач надо было сделать

Andrey
08.05.2018
15:02:35
Добрый день! Есть вот такой пример https://github.com/count0ru/k8s-clickhouse-v2/tree/master/build_image 4 инстанса, 2 шарда у которого по одной реплике. Запросы на вставку/чтение данных прилетают на любой инстанс. Подскажите, пожалуйста, как правильно создать таблицы под такую схему?

Google
Kirill
08.05.2018
15:08:53
Добрый день! Есть вот такой пример https://github.com/count0ru/k8s-clickhouse-v2/tree/master/build_image 4 инстанса, 2 шарда у которого по одной реплике. Запросы на вставку/чтение данных прилетают на любой инстанс. Подскажите, пожалуйста, как правильно создать таблицы под такую схему?
В remote_servers пропишите шарды и как-нибудь назовите кластер Создайте таблицы с движком Replicated CREATE local_table (...) Engine = ReplicatedMergeTree('/clickhouse/tables/{shard}/local_table', '{replica}') Создайте распределенные таблицы CREATE TABLE IF NOT EXISTS distributed_table AS local_table Engine = Distributed (your_cluster_name, defaultdb, local_table, rand());

Sergei
08.05.2018
15:12:56
internal_replication надо в true выставить, раз движки Replcated*

Kirill
08.05.2018
15:13:44
internal_replication надо в true выставить, раз движки Replcated*
Если не писать в distributed то не обязательно

Andrey
08.05.2018
15:16:39
Спасибо, пробуем!

Sergei
08.05.2018
15:19:17
> Если не писать в distributed то не обязательно Да, но скорее будут писать, а если не надо писать, то и ключ шардирования стоит опустить

Andrey
08.05.2018
15:22:18
Почему его стоит опустить?

Sergei
08.05.2018
15:27:00
Что бы не столкнуться с непредвиденным результатом если вдруг запишите, а internal_replication false

У каждого шарда в конфигурационном файле может быть указан параметр internal_replication. Если он выставлен в true, то для записи будет выбираться первая живая реплика и данные будут писаться на неё. Этот вариант следует использовать, если Distributed таблица "смотрит" на реплицируемые таблицы. То есть, если таблица, в которую будут записаны данные, будет сама заниматься их репликацией. Если он выставлен в false (по умолчанию), то данные будут записываться на все реплики. По сути, это означает, что Distributed таблица занимается репликацией данных самостоятельно. Это хуже, чем использование реплицируемых таблиц, так как не контролируется консистентность реплик, и они со временем будут содержать немного разные данные.

Andrey
08.05.2018
16:30:05
Спасибо. Но я же правильно понимаю что для ускорения поиска логично использовать несколько реплик одного шарда на разных машинах?

Andrey
08.05.2018
16:32:52
А для ускорения? Если не ошибаюсь, он может параллелить запросы?

Wolf
08.05.2018
16:34:33
Спасибо. Но я же правильно понимаю что для ускорения поиска логично использовать несколько реплик одного шарда на разных машинах?
В разрезе одного запроса надо использовать много шардов, если запросов много то и реплики дадут ускорение.

Andrey
08.05.2018
16:35:15
Ок, значит будем дорабатывать текущий вариант с двумя шардами. Спасибо!

Страница 520 из 723