 
       
                   
               11238
              11238
          
          Обсуждаем ClickHouse
 
                    а причем тут тогда postgre JSONB?
ну то есть у вас лежит не валидный JSON в String ... но вы его как то получили...
 
                    Друзья, это бага?
SELECT   CAST('{"xxx": 9999999999999999583119736832}' AS Nullable(JSON)) as xxx
ошибка
SQL Error [22000]: Code: 117. DB::Exception: Cannot parse JSON object here: {"xxx": 9999999999999999583119736832}: In scope SELECT CAST('{"xxx": 9999999999999999583119736832}', 'Nullable(JSON)') AS xxx. (INCORRECT_DATA) (version 25.9.3.48 (official build))
прорбовал
SETTINGS output_format_json_quote_denormals = 1,output_format_json_quote_decimals=1 
input_format_try_infer_dates
input_format_try_infer_datetimes
schema_inference_make_columns_nullable
input_format_json_try_infer_numbers_from_strings
input_format_json_infer_incomplete_types_as_strings
input_format_json_read_numbers_as_strings
input_format_json_read_bools_as_strings
input_format_json_read_bools_as_numbers
input_format_json_read_arrays_as_strings
input_format_json_infer_array_of_dynamic_from_array_of_different_types
 
                    возможно, конечно, проблема, что у меня 25.3.6.56
Читать полностью… 
                    да, я с него и начал, скопировал, запустил и получил ошибку, что указал выше
Читать полностью… 
                    проблема в том, что он не позволяет мне использовать подзапрос в функции concat
Code: 36. DB::Exception: Element of set in IN, VALUES, or LIMIT, or aggregate function parameter, or a table function argument is not a constant expression (result column not found): concat('https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/{', __subquery_7420196496568421204_12611171664738124227, '}'). (BAD_ARGUMENTS) (version 25.3.6.56 (official build))
                Читать полностью…
                
             
                    там через запятую можно перечислить, конечно если урлов больше чем 5, это сильно неудобно.
Читать полностью… 
                    да можно даже просто purge назвать, имхо, лучше так-т
Читать полностью… 
                    это внутри на уровне кода битовая маска, зачем-то и команду так назвали, видимо ничего лучше не придумали, я бы назвал purge deleted rows
Читать полностью… 
                    и считаю, что данные записи не более чем скрыты при select-ах
Читать полностью… 
                    в документацию )
https://clickhouse.com/docs/sql-reference/statements/delete#how-lightweight-deletes-work-internally-in-clickhouse
 
                    куда можно потыкать почитать об этом?
Читать полностью… 
                     But in MacOS filenames are case-insensitive so these 2 files are considered identical and only 1 is created. 
https://github.com/ClickHouse/ClickHouse/issues/82851#issuecomment-3245378292
Ещё не смержено
https://github.com/ClickHouse/ClickHouse/pull/86559
Решается настройкой The relevant setting is replace_long_file_name_to_hash. When enabled (default is 1), if a file name for a column exceeds the length specified by max_file_name_length, ClickHouse replaces it with a SipHash128 hash of the name. This helps avoid issues with file systems that have limits on file name length or are case-insensitive, which can cause problems with similarly named columns
 
                    Вот такие ошибки при селекте вылезают:
Code: 271. DB::Exception: Data compressed with different methods, given method byte 0x81, previous method byte 0x90: While reading or decompressing ./store/498/4988072d-fcbd-4fb3-b9d9-4d1f7350bd19/384b1b2875f4c4f658dd4981a304c1f8_6_6_1/payload.A.String.cmrk2 (position: 214, typename: DB::AsynchronousReadBufferFromFileWithDescriptorsCache, compressed data header: <uninitialized>): (while reading column payload): (while reading from part ./store/498/4988072d-fcbd-4fb3-b9d9-4d1f7350bd19/384b1b2875f4c4f658dd4981a304c1f8_6_6_1/ in table default.raw_v04 (4988072d-fcbd-4fb3-b9d9-4d1f7350bd19) located on disk default of type local, from mark 61 with max_rows_to_read = 8192, offset = 0): While executing MergeTreeSelect(pool: ReadPoolInOrder, algorithm: InOrder). (CANNOT_DECOMPRESS) (version 25.9.4.58 (official build))
Code: 33. DB::Exception: Cannot read all data. Bytes read: 5. Bytes expected: 25: While reading or decompressing ./store/498/4988072d-fcbd-4fb3-b9d9-4d1f7350bd19/384b1b2875f4c4f658dd4981a304c1f8_17_17_1/payload.A.String.cmrk2 (position: 228, typename: DB::AsynchronousReadBufferFromFileWithDescriptorsCache, compressed data header: <uninitialized>): (while reading column payload): (while reading from part ./store/498/4988072d-fcbd-4fb3-b9d9-4d1f7350bd19/384b1b2875f4c4f658dd4981a304c1f8_17_17_1/ in table default.raw_v04 (4988072d-fcbd-4fb3-b9d9-4d1f7350bd19) located on disk default of type local, from mark 0 with max_rows_to_read = 8192, offset = 0): While executing MergeTreeSelect(pool: ReadPool, algorithm: Thread). (CANNOT_READ_ALL_DATA) (version 25.9.4.58 (official build))
Поле payload имеет тип JSON. На другом сервере работает то же самое, пока таких ошибок не видел.
Работает на Ubuntu 24.04.3 LTS, ClickHouse: 25.8.2.29
Не работает на маке M4 15.6.1 . ClickHouse 25.9.4.58
На более ранней версии на Mac также не работает, сейчас, к сожалению, уже не знаю, на какой пробовал до этого.
Связано-ли это с тем, что на Mac ненадежная сборка, код не отлажен под Mac Os, архитектуру arm64, или такие приколюхи могут быть и на linux x64?
 
                    щас данные лежат в кх в тие String , для оптимизации решил переделать на тип JSON и получил невалидный json
Читать полностью… 
                    ну вы его откуда получаете? из какого источника? через postgresql() функцию в ClickHouse?
Читать полностью… 
                    это не валидный JSON не по стандарту...
так что меняйте источник данных
 
                    получилось провернуть с помощью сте
WITH file_pattern AS (
SELECT concat('https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/{',
arrayStringConcat(groupArray(a), ','), '}') AS pattern
FROM u
)
SELECT count(), _file
FROM s3((SELECT pattern FROM file_pattern), 'TabSeparatedWithNames')
GROUP BY _file;
 
                    и мой пример не работает?
там (select arrayStringConcat(groupArray(a),',') from u)  и  ( ) -- там не просто так
 
                    и даже такой маразм
Читать полностью…
create table u (a String) Engine=Memory;
insert into u values
('trips_0.gz'),
('trips_1.gz'),
('trips_11.gz'),
('trips_10.gz');
select count(), _file from s3(
concat('https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/{',(select arrayStringConcat(groupArray(a),',') from u),'}')
,
'TabSeparatedWithNames') group by _file;
┌─count()─┬─_file───────┐
│ 1000294 │ trips_10.gz │
│ 999832 │ trips_1.gz │
│ 1000660 │ trips_0.gz │
│ 998930 │ trips_11.gz │
└─────────┴─────────────┘
 
                    Всем привет, подскажите, пожалуйста, у меня есть таблица, в которой хранятся пути к файлам на S3, которые не получится описать единой маской, есть ли возможность реализации чтения этих файлов разом в одном запросе?
Читать полностью… 
                    учитывая, что нет row_id старорежимную маску тут, наверно, и не построить
просто так официально обозвали
https://clickhouse.com/docs/sql-reference/statements/alter/apply-deleted-mask
 
                    то, что они теперь называют это "маской" - это для меня в новику)
Читать полностью… 
                    для мменя просто это не "маска", а является просто отмеченными строками с _row_exists, возможно из-за того, что за новыми терминами клика я не слежу, а все еще на свой опыт с 2020 опираюсь
Читать полностью… 
                    оценить невозможно, если allter-у нужен парт, который мержится, и мерж займет 48 часов, то alter будет ждать 48 часов.
APPLY DELETED MASK -- удаляет строки, помеченные как deleted командой delete
https://clickhouse.com/docs/sql-reference/statements/alter/apply-deleted-mask
фактически делает ремерж партов но без строк is_deleted=1
 
                    а deleted mask - это как раз отображает оценку?
Читать полностью… 
                    Этим способом можно по https подключиться, или только нейтив?
Читать полностью… 
                    Балдежное все такие облако у клика
Дали мы нормально оплачивать, был бы на нем