184 похожих чатов

Добрый день. Подскажите, пожалуйста, как указать настройки кастомного формата для

табличной функции file. Мне нужно прочитать данные из файлов в формате CustomSeparated. Непонятно как задать кастомный разделитель столбцов. Делаю запрос в дбивере вот так:

select
count() as i_count
FROM file('*.gz', 'CustomSeparated', 'line String')
SETTINGS
format_custom_field_delimiter='|'

выдается сообщение об ошибке:
SQL Error [27]: ClickHouse exception, code: 27, host: clickhouse-client.server.com, port: 8123; Code: 27, e.displayText() = DB::Exception: Cannot parse input: expected \n before: \tdatetime\tvalue\t\n2021-10-25 16:00:00\t1731387716631151098: (at row 1)

По умолчанию разделитель format_custom_field_delimiter='\t', как я понял, но через секцию SETTINGS новая настройка не применяется. Как у казать, что в файле разделитель столбцов не таб?

5 ответов

10 просмотров
Алексей-Лизунов Автор вопроса

Никто не сталкивался с такой проблемой? Я посмотрел исходники. В исходниках есть такой комментарий для табличной функции file: // Use format settings from global server context + settings from // the SETTINGS clause of the create query. Settings from current // session and user are ignored. Т.е.используются глобальные настройки. Попробовал задавать настройку в самом clickhouse-client: set format_custom_field_delimiter='|' и потом уже запрос select count() as i_count FROM file('*.gz', 'CustomSeparated', 'line String') в system.settings видно что она поменялась, но при выполнении запроса та же ошибка парсинга. Как будто ожидается по прежнему таб в качестве разделителя столбцов. Т.е. настройка не применяется. Не пойму, не реализован что ли такой функционал? Как тогда проселектить из файла с произвольным разделителем? Версия клика - 20.1.

Алексей-Лизунов Автор вопроса
Denny [Altinity]
так вы из clickhouse-client это делаете?

Я сначала в дбивере пробовал, потом в clickhouse-client. Одна и та же ошибка. Хотел поселектить из файла через функцию file. Если в файле табы, то все норм. Если нужен другой разделитель, то ошибка выдаётся. И не понятно как этот разделитель задать :(

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта