Size: a a a

ClickHouse не тормозит

2020 August 21

K

Kostya in ClickHouse не тормозит
Slach
это ожидаемый результат, "питоновский объект" приходится сериализовать и передавать по сети
clickhouse-client из питона + CSV это всегда будет быстрее чем питон
Это будет быстрее, если в CSV уже сериализовано. Если же надо отправить в ClickHouse объекты которые получены вычислениями, то это ещё вопрос.
источник

OD

Oleksandr Diachenko in ClickHouse не тормозит
Dj
или так если в 32 бита лезет
  select
Table2.x,
ale_locations.EventTimestamp
sta_eth_mac
from default.ale_locations
asof join (select
           distinct
           toUInt32(EventTimestamp + 2592000) as x,
           sta_eth_mac
           from default.ale_locations
         ) as Table2 on ale_locations.sta_eth_mac = Table2.sta_eth_mac
                    and Table2.x >= ale_locations.EventTimestamp
работает!
спасибо!
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Kostya
Это будет быстрее, если в CSV уже сериализовано. Если же надо отправить в ClickHouse объекты которые получены вычислениями, то это ещё вопрос.
>потом отдельным параметром питоновский объект на 1М строк

а там сначала рендерится все 1М в values или стримается?
может лучше пачками по 10тыс.?
источник

K

Kostya in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
>потом отдельным параметром питоновский объект на 1М строк

а там сначала рендерится все 1М в values или стримается?
может лучше пачками по 10тыс.?
там чанками заливается по native протоколу. основной смысл в том, что запаковать кучу int-ов с помощью struct.pack быстрее, чем записать их же в CSV и послать по http
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Kostya
там чанками заливается по native протоколу. основной смысл в том, что запаковать кучу int-ов с помощью struct.pack быстрее, чем записать их же в CSV и послать по http
да я понимаю, конечно native эффективнее чем рендеринг и парсинг строк. Я просто интересуюсь стримается или нет
источник

K

Kostya in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
да я понимаю, конечно native эффективнее чем рендеринг и парсинг строк. Я просто интересуюсь стримается или нет
не должно. и размер чанка можно тюнить
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
в общем топик-стартер делает странное наверно и проблема или в винде или в сети
источник

K

Kostya in ClickHouse не тормозит
да, судя по всему там с помощью питона заливается csv с диска. это антиюзкейс для пакета. clickhouse-client в этом плане вне конкуренции. вопрос только в винде
источник

AK

Andrii Kakoichenko in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
в общем топик-стартер делает странное наверно и проблема или в винде или в сети
Там суть вот в чем. Есть машина с MSSQL, и с нее надо залить 40млрд строк в КХ. Места, где расположить csv такого размера, нет. Я прямо на машине с MSSQL запустил скрипт на питоне, который через pyodbc берет 1м строк из MS, и этот же объект передает в execute СН драйвера.
источник

AK

Andrii Kakoichenko in ClickHouse не тормозит
csv сформировал чтобы протестировать скорость clickhouse-client
источник

AK

Andrii Kakoichenko in ClickHouse не тормозит
Получилось достичь скорости clickhouse-client, запустив много процессов параллельно, но это ряд неудобств даёт
источник

ТМ

Тахир Мусин... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Вроде https не работает, только http
Спасибо. В остальном директива верно сформирована?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrii Kakoichenko
Там суть вот в чем. Есть машина с MSSQL, и с нее надо залить 40млрд строк в КХ. Места, где расположить csv такого размера, нет. Я прямо на машине с MSSQL запустил скрипт на питоне, который через pyodbc берет 1м строк из MS, и этот же объект передает в execute СН драйвера.
так проблема скорее всего в pyodbc , от тормозной до невозможности
источник

AK

Andrii Kakoichenko in ClickHouse не тормозит
Замер шёл только на операции вставки. То есть, сначала делался fetchall, потом коннект к КХ, потом запускался таймер
источник

K

Kostya in ClickHouse не тормозит
Andrii Kakoichenko
Замер шёл только на операции вставки. То есть, сначала делался fetchall, потом коннект к КХ, потом запускался таймер
можете написать в личку, если хочется именно питоном переливать. я разраб clickhouse-driver, посмотрим
источник

AK

Andrii Kakoichenko in ClickHouse не тормозит
Kostya
можете написать в личку, если хочется именно питоном переливать. я разраб clickhouse-driver, посмотрим
Спасибо, пишу
источник

BB

Bral Bral in ClickHouse не тормозит
Andrii Kakoichenko
Там суть вот в чем. Есть машина с MSSQL, и с нее надо залить 40млрд строк в КХ. Места, где расположить csv такого размера, нет. Я прямо на машине с MSSQL запустил скрипт на питоне, который через pyodbc берет 1м строк из MS, и этот же объект передает в execute СН драйвера.
Места вообще что ли нет ? Не поверю , что таблица с таким количеством строк не секционирована. Если уж питон , выгружайте пандасом по секции , можно сразу и сжимать, например gzip.и опять же питоном отправлять по http на кликхаус , с указанием в заголовке о компрессии .
источник

BB

Bral Bral in ClickHouse не тормозит
Можете вообще по секция выгружать через bcp,скорее всего это будет даже быстрее .
источник

AK

Andrii Kakoichenko in ClickHouse не тормозит
Bral Bral
Места вообще что ли нет ? Не поверю , что таблица с таким количеством строк не секционирована. Если уж питон , выгружайте пандасом по секции , можно сразу и сжимать, например gzip.и опять же питоном отправлять по http на кликхаус , с указанием в заголовке о компрессии .
Идея сжимать gzip и отправлять по http интересная. Спасибо. Если не выйдет выжать перфоманс из драйвера, то так и сделаю
источник

D

Denisio in ClickHouse не тормозит
Andrii Kakoichenko
Там суть вот в чем. Есть машина с MSSQL, и с нее надо залить 40млрд строк в КХ. Места, где расположить csv такого размера, нет. Я прямо на машине с MSSQL запустил скрипт на питоне, который через pyodbc берет 1м строк из MS, и этот же объект передает в execute СН драйвера.
порпобуй C# с Clickhouse.Client, он по 300-500К записей в один пакет вжух! оч быстро, только успевай подносить, вангую что у тебя MSSQL упреца в диск
источник