ClickHouse, используя питон?
быстрее всего через bcp экспортировать в TSV и заливать через clickhouse-client https://docs.microsoft.com/ru-ru/sql/relational-databases/import-export/import-and-export-bulk-data-by-using-the-bcp-utility-sql-server?view=sql-server-ver15 если одноразово если нет, то можно и через python нормально большими батчами
да, но bcp не умеет экранировать, поэтому можно убить кучу времени на него впустую. Я пробовал с одним клиентом, в итоге написали генератор CSV файлов на go который читал MSSQL и писал CSV. python конечно тут использовать бессмысленно, только CPU насиловать
а если из вертики? Тоже через TSV?
я из вертики импорчу как TSV
по моему личному опыту из вертики быстро и удобно экспортировать в паркет.
а по скорости как? я может что делал не так, но экспорт в csv долго работал
быстро, я не мерял особо, я делаю так echo "select * from " |Vsql -q -t -P format=unaligned | clickhouse-client
Parquet на ClickHouse импортится сейчас медленее TSV
а через пандас датафрейм имеет смысл пробовать или это плохая идея? Без файлов.
есть какой-то https://github.com/kszucs/pandahouse я не проверял
попробуйте datax
А что это?
https://github.com/alibaba/DataX/projects
мы используем несколько способов: 1) выгружаем через bcp из mssql и через clickhouse-client ипорт файла - очень быстро и просто, не нужно писать код 2) через DAG в airflow, пришлось написать operator для перекачки данных из mssql > clickhouse
Интересует наиболее быстрые по времени варианты, объемы довольно приличные
То, о чем говорил @den_crane, - это и есть быстрый по времени вариант отчасти, не требующий инструментов сверху
Мы из MSSQL тянем через insert select from jdbc(…)
работает. Мы юзаем только копирование в лоб. Максимум с where version > XXX, полет нормальный. Про скорость не скажу - не меряли. Но у нас в mssql таблицы до 50М записей. Как на бОльших обьемах будет - не знаю
Обсуждают сегодня