All streams
Search
Write a publication
Pull to refresh
11
0
Иван @k0rsakov

Data Engineer

Send message

uv просто набирает популярность, как и Ruff от тех же разработчиков.

uv просто интересный проект, который позволяет многое ускорить, как и ruff

Будет то, что вы пропишите.

Если упростить, то Liquibase выполняет в порядке очереди то, что вы указали. Соответственно если у вас есть данные и не стоит никаких ограничений, то данные удалятся. А иначе нет.

А по факту, такие операции надо тестировать в вашей БД, возможно понадобится добавить больше ALTER конструкций.

Open Source – https://github.com/dbt-labs/dbt-core

Также предлагают dbt-cloud, в которых будут сразу все коннекты, шедулер и прочие плюшки, вот с ним явно будут проблемы.

Но само ядро dbt Open Source.

Спасибо за комментарий. Такие редко вижу :)

На практике был опыт такого кейса. Тут стоит обратить внимание на то, что вы запускали скрипт в оперативной памяти и тут действительно может не вывезти хранение файлов внутри памяти.

Как вариант – это сохранить .parquet файлы внутри DuckDB как таблицы и уже считать при помощи его движка. Иначе никак.

Ну или просто закидать проблему оперативкой.

Я пытался как-то прочитать файл .csv в котором было несколько миллиардов строк (дамп PG таблицы) и через простое чтение тоже хватал ошибки по памяти, но а когда загрузил в DuckDB эту информацию, то запросы работали. Не скажу что быстро, но зато работали и я смог разбить файл на нужные мне партиции.

На практике был опыт такого кейса. Тут стоит обратить внимание на то, что вы запускали скрипт в оперативной памяти и тут действительно может не вывезти хранение файлов внутри памяти.

Как вариант – это сохранить .parquet файлы внутри DuckDB как таблицы и уже считать при помощи его движка. Иначе никак.

Ну или просто закидать проблему оперативкой.

Я пытался как-то прочитать файл .csv в котором было несколько миллиардов строк (дамп PG таблицы) и через простое чтение тоже хватал ошибки по памяти, но а когда загрузил в DuckDB эту информацию, то запросы работали. Не скажу что быстро, но зато работали и я смог разбить файл на нужные мне партиции.

А что именно не понятно?

Вот к примеру в официальной документации PostgreSQL описан механизм создания таблицы.

Это кликбейт, прошу понять и простить 🙂

path/key – это просто терминология, которая используется внутри команды. Не проблема говорить и Key.

Всё зависит от команды, потому что некоторые могут это воспринять как key-value хранилище, которое таковым не является.

Но спасибо, что об этом упомянули, я считаю, что это важно для читателя.

Я тут и не говорил, что Minio является отцом всех отцов. Спасибо, что упомянули про AWS. Я думаю, что читателям это будет полезно.

Minio – это LikeS3, да, но это Open Source и использовался для демо, для туториала, для новичков, что отмечено в заголовке статьи.

Слышал. Но это демонстрация и не более. Если у сервиса есть своё API, то почему бы его и не использовать?

Спасибо что подметили. Да, у DuckDB удобный CLI я через него работал на VDS.

Добрый день.

Разные инструменты под разные задачи.

MySQL про OLTP нагрузку, а DuckDB про OLAP нагрузку.

Также DuckDB позиционируется как инструмент для Data Lake/ Data LakeHouse, потому что он позволяет вынести compute за рамки storage.

minio – нужен для общения с Minio
pandas – для чтения удаленного .csv и удобной работы с ним
fsspec – необходимый пакет для записи в S3
s3fs – необходимый пакет для записи в S3

minio==7.2.7
pandas==2.2.2
fsspec==2024.6.1
s3fs==2024.6.1

Не слышал о такой проблеме. Вообще, объём WAL для того же PostgreSQL можно настроить и время хранения данных в топиках Kafka тоже настраивается, но по дефолту семь дней.

Ну и кажется по логике, что влияние топика/продюсера не должны повлиять, что где-то что-то сломается, потому что они все независимы.

Я же могу писать в топик, но не читать оттуда (нет продюсера)

Согласен. О чем я вкратце написал в статье.

Изменил настройки. Теперь всё доступно.

Добрый день.

Спасибо за ваш комментарий.

Отвечу сразу на два комментария.

  • На момент реализации данного решения нас это устраивало и сейчас устраивает, так как основной оркестратор в компании – это Airflow

  • Да, возможно, и изврат, но об этом также написано, что это решение моего бизнес-кейса. Возможно в дальнейшем он покажет свою несостоятельность и мы его изменим, когда увеличится список компетенций и/или технологий.

  • У меня не было задачи "продавать" данное решение. Оно не идеальное, но оно отвечает нашему запросу. Оно работает и приносит пользу – для нас это главное.

Возможно в будущем я сделаю часть "два", в которой раскритикую своё предложение и покажу что-то другое. На текущий момент – это описание моего опыта и бизнес-кейса.

Спасибо за замечание.

1

Information

Rating
Does not participate
Location
Иркутск, Иркутская обл., Россия
Registered
Activity

Specialization

Fullstack Developer, Data Engineer
Lead
Git
OOP
SQL
Python
Linux
PostgreSQL
Docker
Database
Microsoft SQL Server
T-SQL