clickhouse-local и clickhouse-client.
Правильно я понимаю, что если во входном TSV файле встречается до N ошибок, то такие строки игнорируются, а если больше - весь остаток входных данных дропается и дальше никуда не идёт? Или "битые" строки в любом случае пролезают дальше. У меня из-за мусора на входе вылезли проблемы стаким пайплайн:
cat csvfiles |\
clickhouse-local —input-format=CSVWithNames ..... —query="SELECT ..... FROM table FORMAT Native" -input_format_allow_errors_num=${MAX_INPUTFORMAT_ERRORS} |\
clickhouse-client -query="INSERT INTO $DB.$DATATABLE FORMAT Native" -input_format_allow_errors_num ${MAX_INPUTFORMAT_ERRORS}
Выглядит так, будто до первой битой строки в csv доходит и оставшиеся в базу не грузятся.
А если больше - то кидается исключение и весь блок данных не будет вставлен (блоки по 1 048 576 по-умолчанию).
Обсуждают сегодня