View in Telegram
Сегодня на проекте Surfalytics мы потратили 3 часа, чтобы лучше разобраться в Apache Iceberg, и Snowflake интеграции с Iceberg-каталогом. Если кратко, Snowflake поддерживает два варианта: 1. Managed Iceberg Catalog by Snowflake — мы создаём Iceberg-каталог в S3, и Snowflake полностью его контролирует: выполняет запись, чтение, управление доступом (RBAC), применяет row-level security, Data Masking и Data Sharing. Это получается Iceberg + Snowflake Enterprise Features. Однако не совсем понятно, что произойдёт, если мы захотим отключить Snowflake-каталог и подключить свой. Думаю, это возможно, но явно не то, что хочет Snowflake, чтобы продолжать зарабатывать на вас деньги. 2. Catalog Integration — это вариант интеграции, например, с Glue Catalog. В AWS стало очень просто создавать Lakehouse на основе Iceberg: мы сразу создаём Iceberg-таблицы в Glue и можем работать с ними через Athena или Glue Spark. Snowflake может подключаться к Glue, но для каждой таблицы нужно создавать свою абстракцию в Snowflake, что выглядит не слишком удобно. В целом, интеграция слабая и неудобная, согласно документации. За 3 часа мы успели: 1. Повторить разницу между Data Warehouse, Data Lake и Lakehouse. 2. Пройтись по основным принципам Apache Iceberg на основе книги Definitive Guide: Apache Iceberg. Разобрали ключевые элементы Iceberg-формата, такие как мета-файлы и их назначение, а также реальный пример использования с Trino, AWS и Databricks. 3. Выполнить Snowflake tutorial по созданию Managed Iceberg Catalog в Snowflake, а затем изучить, как Apache Spark подключается к этому каталогу. 4. Ознакомиться с Snowflake tutorial по интеграции с AWS Glue Iceberg Catalog. В итоге я для себя понял, что Snowflake + Iceberg пока выглядит довольно сырым решением. Теоретически вы можете построить Iceberg Lakehouse, использовать Snowflake для вычислений, чтобы читать и писать данные в формате Iceberg, и даже подключаться к этому каталогу извне. Но создаётся ощущение, что Snowflake пытается запутать и реально не хочет, чтобы у вас был полностью открытый Lakehouse без привязки к вендору (vendor lock-in). На базе Snowflake я бы такое решение строить не стал. А что вы думаете по этому поводу? Полезные ссылки: Видео загружу на YouTube канал: https://www.youtube.com/@SurfalyticsTV (подпишитесь, чтобы не пропустить), туда же мы выкладываем другие проекты. И там мега крутая секция запись реальных собеседований (обезличенных). Все ссылки на tutorials и книгу по Iceberg тут: https://github.com/surfalytics/data-projects/tree/main/de-projects/16_snowflake_and_iceberg_lakehouse В этом репозитории вы найдете множество других проектов для BI, DE, AE, которые мы строим.
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily