Всем привет!
Как обещал, опишу свой процесс подготовки и дам рекомендации для сдачи экзамена Snowflake - SnowPro Core Certification.
Расскажу сначала немного о самом экзамене и о некоторых организационных моментах.
SnowPro Core Certification - это базовая сертификация Snowflake, которая проверяет знания "ядра" (основ) продукта, включая внутреннюю архитектуру, администрирование аккаунта, безопасность, вычислительные возможности, возможности для загрузки и трансформации данных, хранение данных и др.
Экзамен состоит из 100 вопросов и включает в себя тесты с выбором одного варианта ответа, нескольких вариантов ответа и True/False.
На экзамен отводится ровно 115 мин.
Стоимость экзамена - $175.
Есть 2 опции сдачи: 1) онлайн с прокторингом; 2) в специальных центрах оценивания.
Онлайн с прокторингом подразумевает постоянно включённую веб-камеру, отсутствие гаджетов и дополнительных материалов на столе и тихое место без отвлекающих факторов. Экзамен проходит под наблюдением проктора.
Болше информации здесь.
При регистрации на экзамен, вы выбираете дату и время, а также привязываете карту для списания средств. Регистрация считается успешной тогда, когда происходит оплата.
За день до экзамена вам нужно будет установить специальный софт на свой компьютер - Sentinel, и сделать фото лица с вашей веб-камеры для идентификации личности перед непосредственным стартом экзамена.
Рекомендации по организационным моментам:
- если у вас нет админских прав на вашем рабочем компьютере, используйте ваш личный компьютер, так как для запуска Sentinel нужны админские права. Плюс вам нужно будет отключить антивирус и firewall на время экзамена;
- отключайте антивирус и firewall перед экзаменом, как описано в рекомендациях, когда вы запустите экзамен. Я проходил экзамен с рабочей машины и у меня не было пароля для отключения антивируса. На 20 вопросе у меня отключилась камера и пришлось 2 раза связываться с поддержкой. Чтобы такого не было - лучше выполняйте все рекомендации.
Теперь перейдём непосредственно к рекомендациям по подготовке:
1) Не полагайтесь только на курсы (например, на Udemy). Их реально не достаточно, чтобы сдать экзамен. В экзамене много вопросов, которые не освещаются в курсах.
2) Документация - основа основ подготовки. Внимательно её читайте со всеми сносками и предупреждениями. В экзамене встречаются вопросы из разряда "Какие типы файлов поддерживаются при выгрузке полу-структурированных данных в stage?" И здесь, в отличие от загрузки данных, например, не поддерживаются AVRO, ORC и XML.
3) Уделите достаточно внимания, на первый взгляд, скучным темам, таким как организация аккаунта, безопасность и data governance. Я набрал меньше всего баллов по вопросам именно из этого блока. Поэтому, хорошенько пройдитесь по таким сущностям, как "role", "privileges", "roles hierarchy", "custom roles", по методам аутентификации, masking policy, row access policy и т.д.
4) Уделите внимание синтаксису DDL и DCL команд при создании объектов Snowflake. В экзамене встречаются вопросы на знание параметров и на значения по умолчанию. Например, был вопрос из разряда "Какие устанавливаются параметры при создании virtual warehouse через SQL?"
5) Уделите внимание структуре и предназначению системных схем и таблиц, таких как ACCOUNT_USAGE и INFORMATION_SCHEMA.
6) В экзамене есть вопросы на процесс внедрения новых релизов, поэтому на эту тему тоже стоит обратить внимание.
7) Создайте trial-аккаунт на 30 дней. В экзамене есть вопросы на знание веб-интерфейса + уже есть готовые таблицы, к которым можно потренироваться писать запросы и "пощупать" остальные возможности продукта. При создании триального аккаунта не нужно привязывать карту. Единственный момент, с которым я столкнулся - при регистрации выдавало ошибку, если заходить не с ip-адреса страны, для которой регистрировал аккаунт. Я выбирал США и включал американский VPN.
Как обещал, опишу свой процесс подготовки и дам рекомендации для сдачи экзамена Snowflake - SnowPro Core Certification.
Расскажу сначала немного о самом экзамене и о некоторых организационных моментах.
SnowPro Core Certification - это базовая сертификация Snowflake, которая проверяет знания "ядра" (основ) продукта, включая внутреннюю архитектуру, администрирование аккаунта, безопасность, вычислительные возможности, возможности для загрузки и трансформации данных, хранение данных и др.
Экзамен состоит из 100 вопросов и включает в себя тесты с выбором одного варианта ответа, нескольких вариантов ответа и True/False.
На экзамен отводится ровно 115 мин.
Стоимость экзамена - $175.
Есть 2 опции сдачи: 1) онлайн с прокторингом; 2) в специальных центрах оценивания.
Онлайн с прокторингом подразумевает постоянно включённую веб-камеру, отсутствие гаджетов и дополнительных материалов на столе и тихое место без отвлекающих факторов. Экзамен проходит под наблюдением проктора.
Болше информации здесь.
При регистрации на экзамен, вы выбираете дату и время, а также привязываете карту для списания средств. Регистрация считается успешной тогда, когда происходит оплата.
За день до экзамена вам нужно будет установить специальный софт на свой компьютер - Sentinel, и сделать фото лица с вашей веб-камеры для идентификации личности перед непосредственным стартом экзамена.
Рекомендации по организационным моментам:
- если у вас нет админских прав на вашем рабочем компьютере, используйте ваш личный компьютер, так как для запуска Sentinel нужны админские права. Плюс вам нужно будет отключить антивирус и firewall на время экзамена;
- отключайте антивирус и firewall перед экзаменом, как описано в рекомендациях, когда вы запустите экзамен. Я проходил экзамен с рабочей машины и у меня не было пароля для отключения антивируса. На 20 вопросе у меня отключилась камера и пришлось 2 раза связываться с поддержкой. Чтобы такого не было - лучше выполняйте все рекомендации.
Теперь перейдём непосредственно к рекомендациям по подготовке:
1) Не полагайтесь только на курсы (например, на Udemy). Их реально не достаточно, чтобы сдать экзамен. В экзамене много вопросов, которые не освещаются в курсах.
2) Документация - основа основ подготовки. Внимательно её читайте со всеми сносками и предупреждениями. В экзамене встречаются вопросы из разряда "Какие типы файлов поддерживаются при выгрузке полу-структурированных данных в stage?" И здесь, в отличие от загрузки данных, например, не поддерживаются AVRO, ORC и XML.
3) Уделите достаточно внимания, на первый взгляд, скучным темам, таким как организация аккаунта, безопасность и data governance. Я набрал меньше всего баллов по вопросам именно из этого блока. Поэтому, хорошенько пройдитесь по таким сущностям, как "role", "privileges", "roles hierarchy", "custom roles", по методам аутентификации, masking policy, row access policy и т.д.
4) Уделите внимание синтаксису DDL и DCL команд при создании объектов Snowflake. В экзамене встречаются вопросы на знание параметров и на значения по умолчанию. Например, был вопрос из разряда "Какие устанавливаются параметры при создании virtual warehouse через SQL?"
5) Уделите внимание структуре и предназначению системных схем и таблиц, таких как ACCOUNT_USAGE и INFORMATION_SCHEMA.
6) В экзамене есть вопросы на процесс внедрения новых релизов, поэтому на эту тему тоже стоит обратить внимание.
7) Создайте trial-аккаунт на 30 дней. В экзамене есть вопросы на знание веб-интерфейса + уже есть готовые таблицы, к которым можно потренироваться писать запросы и "пощупать" остальные возможности продукта. При создании триального аккаунта не нужно привязывать карту. Единственный момент, с которым я столкнулся - при регистрации выдавало ошибку, если заходить не с ip-адреса страны, для которой регистрировал аккаунт. Я выбирал США и включал американский VPN.
Какими ресурсами для подготовки я пользовался:
1) Бесплатный гайд для подготовки от Snowflake - основной и самый полезный ресурс. Здесь есть ссылки на документацию, статьи на блоге, community, вебинары и короткие видео. Очень рекомендую пройтись по всем ссылкам и внимательно со всем ознакомиться. Особенное внимание уделите документации.
2) Курс для подготовки к экзамену от Snowflake (платный) - хорошо разбавлял меня от постоянного чтива. Но мне повезло,что у компании был к нему доступ, и я смотрел его бесплатно. Откровенно говоря, большого смысла, чтобы платить за него $375 я не увидел, так как все темы есть в гайде. Но если вам очень тяжело постоянно только читать и вам не жалко денег, то курс неплохой.
3) Курс на Udemy с 5 наборами тестов, которые очень похожи на те, которые были на экзамене. Хорошо их пройти в конце, когда вы изучите все необходимые темы. В результатах теста указано, в каких областях вы допустили больше всего ошибок, поэтому можно потом вернуться к этим темам в документации и восполнить пробелы в знаниях.
Т.е. я бы процесс подготовки построил так:
Прошёлся бы по всем ссылкам в гайде -> Прошёл пробные тесты -> Вернулся к темам, в которых допустил ошибки -> Снова через пару дней прошёл бы пробный тест
Думаю, этого достаточно, чтобы успешно подготовиться)
P.S. После публикации предыдущего поста мне посоветовали ещё 2 ресурса:
1) Телеграм-канал с новостями Snowflake - @snowflake_daily - очень прикольная штука, если вы работаете или планируете плотно работать с этим продуктом.
2) Чат специалистов, кто работает со Snowflake - @snowflakedbchat.
Если будет нужна дополнительная помощь или будут дополнительные вопросы - можете написать мне в личку.
1) Бесплатный гайд для подготовки от Snowflake - основной и самый полезный ресурс. Здесь есть ссылки на документацию, статьи на блоге, community, вебинары и короткие видео. Очень рекомендую пройтись по всем ссылкам и внимательно со всем ознакомиться. Особенное внимание уделите документации.
2) Курс для подготовки к экзамену от Snowflake (платный) - хорошо разбавлял меня от постоянного чтива. Но мне повезло,что у компании был к нему доступ, и я смотрел его бесплатно. Откровенно говоря, большого смысла, чтобы платить за него $375 я не увидел, так как все темы есть в гайде. Но если вам очень тяжело постоянно только читать и вам не жалко денег, то курс неплохой.
3) Курс на Udemy с 5 наборами тестов, которые очень похожи на те, которые были на экзамене. Хорошо их пройти в конце, когда вы изучите все необходимые темы. В результатах теста указано, в каких областях вы допустили больше всего ошибок, поэтому можно потом вернуться к этим темам в документации и восполнить пробелы в знаниях.
Т.е. я бы процесс подготовки построил так:
Прошёлся бы по всем ссылкам в гайде -> Прошёл пробные тесты -> Вернулся к темам, в которых допустил ошибки -> Снова через пару дней прошёл бы пробный тест
Думаю, этого достаточно, чтобы успешно подготовиться)
P.S. После публикации предыдущего поста мне посоветовали ещё 2 ресурса:
1) Телеграм-канал с новостями Snowflake - @snowflake_daily - очень прикольная штука, если вы работаете или планируете плотно работать с этим продуктом.
2) Чат специалистов, кто работает со Snowflake - @snowflakedbchat.
Если будет нужна дополнительная помощь или будут дополнительные вопросы - можете написать мне в личку.
Udemy
Snowflake SnowPro Core Certification Practice Tests COF-C02
Maximize your chances of SnowPro core certification success with 700+ up-to-date questions. Trusted by 24000+ students.
Всем привет.
Сегодня хочу, наконец, закончить большую рубрику построения аналитических архитектур.
Мы с вами уже разобрали концептуальные блоки, на которых строится любая архитектура, разобрались, что такое lambda и kappa архитектуры и рассмотрели различные примеры. И сегодня я хочу закрыть рубрику примером построения архитектуры с использованием AWS и Databricks. В частности, я хочу вкратце затронуть такую сущность как Delta Lake. Подробно останавливаться не буду, так как хочу в будущем посвятить Databricks серию отдельных постов. А пока придерживаемся подхода "от общего к частному".
Ок, давайте посмотрим на схему. Здесь, как и везде, у нас есть слой источников, слой процессинга, слой хранения и слой доступа к данным. Также на схеме представлены как батч, так и стриминг.
Разбираем по слоям:
1. Слой источников. Для стриминга здесь могут выступать IoT-сервисы (AWS IoT Events), очереди сообщений и различные API. Для батч-обработки, по классике, - различные файлы и транзакционные базы данных.
2. Слой процессинга данных. На схеме процессинг разделён на 2 этапа: 1) извлечение данных (ingestion); 2) непосредственная их обработка и подготовка для конечных пользователей и ML-движков. Первый этап предполагает, что при стриминге данные изначально складываются в Amazon Kinesis (брокер сообщений), а при батче - "сырые" данные пачками загружаются в AWS S3. На втором этапе подключается Databricks.
Хочу написать несколько слов о Databricks. Я бы рассматривал Databricks с 2 сторон:
1) как инструмент процессинга данных; 2) как платформу данных.
Как инструмент процессинга данных - это fully-managed Spark. Т.е. вам не нужно самостоятельно устаналивать Spark, настраивать "железо" и т.д. Всё это за вас делает Databricks. Вам достаточно сделать несколько настроек при создании кластера в интерфейсе и сразу писать код на Spark.
Как платформа данных - это набор инструментов и технологий, которые позволяют централизовать хранение всех данных (как структурированных, так и неструктурированных) в одном месте и централизовать все активности при работе с данными (ETL, BI и Data Science). Чтобы создать полноценную централизованную платформу данных, Databricks дополнительно создали Delta Lake и MLflow.
Возвращаемся непосредственно к процессингу: при стриминге данные, которые уже находятся в Amazon Kinesis, обрабатываются через Spark Streaming на Databricks и могут складываться в Delta Lake (о нём ниже) для real-time аналитики. При батче данные читаются из S3 бакета, обрабатываются на Spark и так же складываются в Delta Lake для аналитики или дальнейших ML-операций.
3. Слой хранения данных. Используя Databricks как платформу данных, слой хранения можно организовать с помощью такой технологии как Delta Lake. Немного о нём:
Delta Lake - это open source технология, которая представляет из себя логический слой хранения данных на базе существующего data lake (файлового хранилища). Т.е. это не хранилище само по себе, а надстройка над уже существующим хранилищем, на схеме это AWS S3. В этом хранилище данные хранятся в так называемых delta-таблицах. Сама технология предполагает поддержку ACID-транзакций, масштабируемую поддержку метаданных, батчевые и стриминговые операции и т.д. Databricks создал Delta Lake, чтобы объединить преимущества традиционных хранилищ данных и data lake, назвав этот концепт Lakehouse и успешно продвигая его в массы:)Т.е. с Lakehouse вы получаете преимущества относительной простоты использования DWH с поддержкой ACID и преимущества дешёвого хранения файлов в data lake.
Если этого требует задача, данные можно дополнительно скопировать в классическое хранилище данных и делать нужные активности с данными там. На схеме в качестве DWH выступает Amazon Redshift.
4. Слой доступа к данным. Слой, на котором конечные пользователи получают доступ к данным и анализируют их. Также здесь могут подключаться различные ML-движки и сервисы.
Сегодня хочу, наконец, закончить большую рубрику построения аналитических архитектур.
Мы с вами уже разобрали концептуальные блоки, на которых строится любая архитектура, разобрались, что такое lambda и kappa архитектуры и рассмотрели различные примеры. И сегодня я хочу закрыть рубрику примером построения архитектуры с использованием AWS и Databricks. В частности, я хочу вкратце затронуть такую сущность как Delta Lake. Подробно останавливаться не буду, так как хочу в будущем посвятить Databricks серию отдельных постов. А пока придерживаемся подхода "от общего к частному".
Ок, давайте посмотрим на схему. Здесь, как и везде, у нас есть слой источников, слой процессинга, слой хранения и слой доступа к данным. Также на схеме представлены как батч, так и стриминг.
Разбираем по слоям:
1. Слой источников. Для стриминга здесь могут выступать IoT-сервисы (AWS IoT Events), очереди сообщений и различные API. Для батч-обработки, по классике, - различные файлы и транзакционные базы данных.
2. Слой процессинга данных. На схеме процессинг разделён на 2 этапа: 1) извлечение данных (ingestion); 2) непосредственная их обработка и подготовка для конечных пользователей и ML-движков. Первый этап предполагает, что при стриминге данные изначально складываются в Amazon Kinesis (брокер сообщений), а при батче - "сырые" данные пачками загружаются в AWS S3. На втором этапе подключается Databricks.
Хочу написать несколько слов о Databricks. Я бы рассматривал Databricks с 2 сторон:
1) как инструмент процессинга данных; 2) как платформу данных.
Как инструмент процессинга данных - это fully-managed Spark. Т.е. вам не нужно самостоятельно устаналивать Spark, настраивать "железо" и т.д. Всё это за вас делает Databricks. Вам достаточно сделать несколько настроек при создании кластера в интерфейсе и сразу писать код на Spark.
Как платформа данных - это набор инструментов и технологий, которые позволяют централизовать хранение всех данных (как структурированных, так и неструктурированных) в одном месте и централизовать все активности при работе с данными (ETL, BI и Data Science). Чтобы создать полноценную централизованную платформу данных, Databricks дополнительно создали Delta Lake и MLflow.
Возвращаемся непосредственно к процессингу: при стриминге данные, которые уже находятся в Amazon Kinesis, обрабатываются через Spark Streaming на Databricks и могут складываться в Delta Lake (о нём ниже) для real-time аналитики. При батче данные читаются из S3 бакета, обрабатываются на Spark и так же складываются в Delta Lake для аналитики или дальнейших ML-операций.
3. Слой хранения данных. Используя Databricks как платформу данных, слой хранения можно организовать с помощью такой технологии как Delta Lake. Немного о нём:
Delta Lake - это open source технология, которая представляет из себя логический слой хранения данных на базе существующего data lake (файлового хранилища). Т.е. это не хранилище само по себе, а надстройка над уже существующим хранилищем, на схеме это AWS S3. В этом хранилище данные хранятся в так называемых delta-таблицах. Сама технология предполагает поддержку ACID-транзакций, масштабируемую поддержку метаданных, батчевые и стриминговые операции и т.д. Databricks создал Delta Lake, чтобы объединить преимущества традиционных хранилищ данных и data lake, назвав этот концепт Lakehouse и успешно продвигая его в массы:)Т.е. с Lakehouse вы получаете преимущества относительной простоты использования DWH с поддержкой ACID и преимущества дешёвого хранения файлов в data lake.
Если этого требует задача, данные можно дополнительно скопировать в классическое хранилище данных и делать нужные активности с данными там. На схеме в качестве DWH выступает Amazon Redshift.
4. Слой доступа к данным. Слой, на котором конечные пользователи получают доступ к данным и анализируют их. Также здесь могут подключаться различные ML-движки и сервисы.
На схеме для написания запросов к данным, которые лежат в delta-таблицах, могут использоваться 2 пути: 1) скопировать нужные данные в Amazon Redshift и писать запросы там; 2) Использовать Amazon Athena и читать delta-таблицы напрямую из S3 бакета.
Для второго варианта мы используем AWS Glue Catalog и Glue Crawler. Glue Catalog - это fully-managed Hive metastore, который позволяет собрать метаданные о файлах, хранящихся в data lake. В данном случае Glue Catalog используется как хранилище метаданных для delta-таблиц, к которым пишутся запросы через Athena.
В качестве BI-инструмента на схеме используется Amazon QuickSight. Он таким же образом может подключаться как к скопированным данным в Redshift, так и напрямую к delta-таблицам.
P.S. На этом закрываем нашу рубрику построения аналитических архитектур. Дальше я собираюсь переходить к более частным вещам. Например, следующую рубрику я хочу посвятить SQL и теории баз данных, где постараюсь осветить все ключевые моменты.
Для второго варианта мы используем AWS Glue Catalog и Glue Crawler. Glue Catalog - это fully-managed Hive metastore, который позволяет собрать метаданные о файлах, хранящихся в data lake. В данном случае Glue Catalog используется как хранилище метаданных для delta-таблиц, к которым пишутся запросы через Athena.
В качестве BI-инструмента на схеме используется Amazon QuickSight. Он таким же образом может подключаться как к скопированным данным в Redshift, так и напрямую к delta-таблицам.
P.S. На этом закрываем нашу рубрику построения аналитических архитектур. Дальше я собираюсь переходить к более частным вещам. Например, следующую рубрику я хочу посвятить SQL и теории баз данных, где постараюсь осветить все ключевые моменты.
Всем привет!
Начинаем нашу новую рубрику "SQL и теория баз данных". Начнём с SQL, так как это, на мой взгляд, более важный практический навык, нежели хорошо знать теорию баз данных, глубокие знания которой нужны ограниченному кругу позиций по работе с данными.
Так как я учил SQL на платном курсе и потом закреплял знания на рабочих задачах и на таких платформах, как Leetcode и Hacker Rank, предлагаю поступить следующим образом:
Не хочу просто гуглить любые курсы и вставлять ссылки на них в пост. Убеждён, что многие из вас проходили какие-то конкретные бесплатные базовые курсы по SQL и нашли их для себя очень полезными. Поэтому:
Напишите, пожалуйста, в комментариях, какие курсы (и ссылки на них) вам помогли получить базовые знания и улучшить свои навыки в написании SQL-запросов. Позже я из них и сделаю подборку.
Спасибо!
Начинаем нашу новую рубрику "SQL и теория баз данных". Начнём с SQL, так как это, на мой взгляд, более важный практический навык, нежели хорошо знать теорию баз данных, глубокие знания которой нужны ограниченному кругу позиций по работе с данными.
Так как я учил SQL на платном курсе и потом закреплял знания на рабочих задачах и на таких платформах, как Leetcode и Hacker Rank, предлагаю поступить следующим образом:
Не хочу просто гуглить любые курсы и вставлять ссылки на них в пост. Убеждён, что многие из вас проходили какие-то конкретные бесплатные базовые курсы по SQL и нашли их для себя очень полезными. Поэтому:
Напишите, пожалуйста, в комментариях, какие курсы (и ссылки на них) вам помогли получить базовые знания и улучшить свои навыки в написании SQL-запросов. Позже я из них и сделаю подборку.
Спасибо!
Всем привет.
В прошлом посте я просил вас написать, какие курсы по SQL вы проходили и какие принесли максимальную пользу в совершенствовании этого навыка. После сбора рекомендаций публикую результаты)Для каждого курса буду цитировать рекомендацию. Итак:
ТОП 10 бесплатных и бюджетных курсов и материалов по SQL по версии подписчиков:
1. sql-ex.ru - классика для многих специалистов.
2. Udemy SQL для Анализа Данных Глеба Михайлова (платный, но бюджетный). Многие советуют.
3. Курс по SQL от Анатолия Балакирева на Data Learn (бесплатный). - Подробный и очень структурированный курс.
3. Анализ данных на языке SQL в "Специалист". Платный и самый дорогой из списка. Но есть возможность учиться очно. Цитирую рекомендацию: "Препод очень толковый. На ходу разбираются практические задачки. Даёт базу с 0 вплоть до уровня курсоров, транзакций и т.д."
4. Основы SQL на Stepik (платный, но бюджетный). Рекомендация: "Просто добавлю про один неочевидный, но очень большой плюс - выработка автоматизма. После окончания курса стоит только подумать о каком-то запросе, руки его уже сами печатают."
5. Интерактивный тренажер по SQL (бесплатный). Рекомендация: "Пушечный стартовый курс
Если прям никогда не открывали SQL, то это то, что нужно: задачки, задачки, задачки."
6. Learn DB (подписочная модель). Рекомендация: "Очень годный курс. Сейчас у них подписочная модель, но не очень дорогая. Всем советую🙂"
7. Stepik SQLite для аналитики Антона Жиянова (платный, но бюджетный).
8. SQL Developer Анализ данных на языке SQL (бесплатный).
9. Udemy: SQL для начинающих: с нуля до сертификата Oracle (платный, но бюджетный).
10. Хабр: Вопросы по SQL на собеседовании
P.S. Спасибо Sergey Novik, @Graffeev, @ruslanadv, @Artem_ne_Artem, @MrSparkline, @Krakatau27, @Garry_S, @dmi_inod, @BaburovNik, @Alexander_Zlenko, @user2764, @AnalystAM, @ashakhverdyan за рекомендации и вовлечённость!
В прошлом посте я просил вас написать, какие курсы по SQL вы проходили и какие принесли максимальную пользу в совершенствовании этого навыка. После сбора рекомендаций публикую результаты)Для каждого курса буду цитировать рекомендацию. Итак:
ТОП 10 бесплатных и бюджетных курсов и материалов по SQL по версии подписчиков:
1. sql-ex.ru - классика для многих специалистов.
2. Udemy SQL для Анализа Данных Глеба Михайлова (платный, но бюджетный). Многие советуют.
3. Курс по SQL от Анатолия Балакирева на Data Learn (бесплатный). - Подробный и очень структурированный курс.
3. Анализ данных на языке SQL в "Специалист". Платный и самый дорогой из списка. Но есть возможность учиться очно. Цитирую рекомендацию: "Препод очень толковый. На ходу разбираются практические задачки. Даёт базу с 0 вплоть до уровня курсоров, транзакций и т.д."
4. Основы SQL на Stepik (платный, но бюджетный). Рекомендация: "Просто добавлю про один неочевидный, но очень большой плюс - выработка автоматизма. После окончания курса стоит только подумать о каком-то запросе, руки его уже сами печатают."
5. Интерактивный тренажер по SQL (бесплатный). Рекомендация: "Пушечный стартовый курс
Если прям никогда не открывали SQL, то это то, что нужно: задачки, задачки, задачки."
6. Learn DB (подписочная модель). Рекомендация: "Очень годный курс. Сейчас у них подписочная модель, но не очень дорогая. Всем советую🙂"
7. Stepik SQLite для аналитики Антона Жиянова (платный, но бюджетный).
8. SQL Developer Анализ данных на языке SQL (бесплатный).
9. Udemy: SQL для начинающих: с нуля до сертификата Oracle (платный, но бюджетный).
10. Хабр: Вопросы по SQL на собеседовании
P.S. Спасибо Sergey Novik, @Graffeev, @ruslanadv, @Artem_ne_Artem, @MrSparkline, @Krakatau27, @Garry_S, @dmi_inod, @BaburovNik, @Alexander_Zlenko, @user2764, @AnalystAM, @ashakhverdyan за рекомендации и вовлечённость!
Udemy
Online Courses - Learn Anything, On Your Schedule | Udemy
Udemy is an online learning and teaching marketplace with over 250,000 courses and 80 million students. Learn programming, marketing, data science and more.
Forwarded from Инжиниринг Данных (Dmitry Anoshin)
SQL Cheatsheet.pdf
3.5 MB
It's designed to give you a meaningful structure but also to let you add your own
notes (that's why the empty boxes are there). It starts from the absolute basics
(SELECT * FROM table_name;) and guides you to the intermediate level (JOIN,
HAVING, subqueries). I added everything that you will need as a data analyst/
scientist.
The ideal use case of this cheat sheet is that you print it in color and keep it next to
you while you are learning and practicing SQL on your computer.
notes (that's why the empty boxes are there). It starts from the absolute basics
(SELECT * FROM table_name;) and guides you to the intermediate level (JOIN,
HAVING, subqueries). I added everything that you will need as a data analyst/
scientist.
The ideal use case of this cheat sheet is that you print it in color and keep it next to
you while you are learning and practicing SQL on your computer.
Forwarded from Simulative
Что бы я рассказал себе про SQL 10 лет назад? 😳
На какие вещи стоит обратить внимание, чтобы после обучения на шаблонных таблицах "Сотрудник-Зарплата" или "Студент-Оценка" не впасть в ступор на первой же боевой задаче?
https://bit.ly/2FRvYNQ
#itresume #sql
На какие вещи стоит обратить внимание, чтобы после обучения на шаблонных таблицах "Сотрудник-Зарплата" или "Студент-Оценка" не впасть в ступор на первой же боевой задаче?
https://bit.ly/2FRvYNQ
#itresume #sql
Telegraph
Что бы я рассказал себе про SQL 10 лет назад
IT Resume
Язык R, не смотря на своё узкое назначение, входит в топ 10 наиболее популярных языков программирования согласно различным рейтингам, включая TIOBE. А для анализа данных R является чуть ли не стандартом отрасли.
Хочу порекомендовать канал @R4marketing. Автором которого является Алексей Селезнёв, руководитель отдела аналитики в Netpeak.
Канал посвящён языку R. На данный момент там собрано огромное количество русскоязычных материалов по изучения R:
- Статьи
- Видео уроки
- Вебинары и доклады с конференций
- Заметки по R
- Книги
- Бесплатные онлайн курсы
- Новости и релизы из мира R
В канале опубликовано более 500 ссылок на русскоязычные материалы по R.
Кому интересно - подписывайтесь!
https://news.1rj.ru/str/R4marketing
Хочу порекомендовать канал @R4marketing. Автором которого является Алексей Селезнёв, руководитель отдела аналитики в Netpeak.
Канал посвящён языку R. На данный момент там собрано огромное количество русскоязычных материалов по изучения R:
- Статьи
- Видео уроки
- Вебинары и доклады с конференций
- Заметки по R
- Книги
- Бесплатные онлайн курсы
- Новости и релизы из мира R
В канале опубликовано более 500 ссылок на русскоязычные материалы по R.
Кому интересно - подписывайтесь!
https://news.1rj.ru/str/R4marketing
Telegram
R4marketing | канал Алексея Селезнёва | Язык R
Автор канала Алексей Селезнёв, украинский аналитик, автор ряда курсов по языку R и пакетов расширяющих его возможности.
В канале публикуются статьи, доклады, новости, уроки и заметки по языку R.
Для связи: @AlexeySeleznev
Реклама: http://bit.ly/39MwJCY
В канале публикуются статьи, доклады, новости, уроки и заметки по языку R.
Для связи: @AlexeySeleznev
Реклама: http://bit.ly/39MwJCY
Решил написать небольшую шпаргалку для начинающих специалистов по структуре языка SQL.
Все SQL-команды можно разделить на такие группы:
DQL (Data Query Language). Язык запросов к данным. К этой группе относится одна, всем известная команда - SELECT. Благодаря ей, мы запрашиваем нужные нам данные из базы.
DDL (Data Definition Language). Язык определения данных. Благодаря командам из этой группы, мы создаём, изменяем и удаляем различные объекты в нашей базе данных - базы данных, схемы, таблицы.
Примеры команд: CREATE, DROP, ALTER, TRUNCATE.
DML (Data Manipulation Language). Язык манипуляции данных. Как понятно из названия, мы используем эту группу команд для внесения изменений в наших данных. Мы можем записывать данные в таблицы, изменять значения в нужных колонках, удалять строки в таблицах.
Примеры команд: INSERT, UPDATE, DELETE.
DCL (Data Control Language). Язык контроля данных. Команды из этой группы используются для управления доступом к объектам в базе данных и к самим данным. Благодаря этим командам мы можем предоставлять и отзывать разрешения для пользователей базы данных.
Примеры команд: GRANT, REVOKE, DENY.
TCL (Transaction Control Language). Язык управления транзакциями (более подробно о транзакциях напишу отдельный пост в рубрике о теории баз данных).
Примеры команд: COMMIT, ROLLBACK, SAVE POINT.
Все SQL-команды можно разделить на такие группы:
DQL (Data Query Language). Язык запросов к данным. К этой группе относится одна, всем известная команда - SELECT. Благодаря ей, мы запрашиваем нужные нам данные из базы.
DDL (Data Definition Language). Язык определения данных. Благодаря командам из этой группы, мы создаём, изменяем и удаляем различные объекты в нашей базе данных - базы данных, схемы, таблицы.
Примеры команд: CREATE, DROP, ALTER, TRUNCATE.
DML (Data Manipulation Language). Язык манипуляции данных. Как понятно из названия, мы используем эту группу команд для внесения изменений в наших данных. Мы можем записывать данные в таблицы, изменять значения в нужных колонках, удалять строки в таблицах.
Примеры команд: INSERT, UPDATE, DELETE.
DCL (Data Control Language). Язык контроля данных. Команды из этой группы используются для управления доступом к объектам в базе данных и к самим данным. Благодаря этим командам мы можем предоставлять и отзывать разрешения для пользователей базы данных.
Примеры команд: GRANT, REVOKE, DENY.
TCL (Transaction Control Language). Язык управления транзакциями (более подробно о транзакциях напишу отдельный пост в рубрике о теории баз данных).
Примеры команд: COMMIT, ROLLBACK, SAVE POINT.
Завтра выступлю на митапе и расскажу про построение сквозной аналитики на базе Google Cloud. Я уже выступал с этой темой, но в этот раз немного расширил контент. Так что приглашаю всех:)
Forwarded from ML in Marketing - events & meetups
Всем привет!
В этот вторник ждем всех на митап
🔥 Доклад про построение маркетинговой аналитики на GCP
@MLinMarketing
🔸19:00 - 20:00
🎤 Денис Соловьев, Data Engineer at Ciklum
📋 Построение маркетинговой аналитики на базе Google Cloud
📋 Рассмотрим преимущества создания маркетинговой аналитики с использованием облачных технологий. Поговорим о том, на что стоит обратить внимание перед построением решения. Посмотрим на примеры аналитических архитектур для решения маркетинговых задач. Разберём организацию DWH на базе Google BigQuery. Затронем BigQuery ML и какие задачи можно решать с его помощью.
— — —
🗓 05 октября, начало в 19:00 мск, Вторник
🌐 ОНЛАЙН
Регистрация на мероприятие тут
Добавляйте в календарь, ссылка придет на почту перед началом митапа
В этот вторник ждем всех на митап
🔥 Доклад про построение маркетинговой аналитики на GCP
@MLinMarketing
🔸19:00 - 20:00
🎤 Денис Соловьев, Data Engineer at Ciklum
📋 Построение маркетинговой аналитики на базе Google Cloud
📋 Рассмотрим преимущества создания маркетинговой аналитики с использованием облачных технологий. Поговорим о том, на что стоит обратить внимание перед построением решения. Посмотрим на примеры аналитических архитектур для решения маркетинговых задач. Разберём организацию DWH на базе Google BigQuery. Затронем BigQuery ML и какие задачи можно решать с его помощью.
— — —
🗓 05 октября, начало в 19:00 мск, Вторник
🌐 ОНЛАЙН
Регистрация на мероприятие тут
Добавляйте в календарь, ссылка придет на почту перед началом митапа
Ещё одна универсальная шпаргалка про порядок выполнения SQL-операций.
Логический порядок выполнения операторов "под капотом":
1. FROM (выбор таблицы)
2. JOIN (комбинация с подходящими по условию данными из других таблиц)
3. WHERE (фильтрация строк)
4. GROUP BY (агрегирование данных)
5. HAVING (фильтрация агрегированных данных)
6. SELECT (возврат результирующего датасета)
7. DISTINCT (выбор только уникальных значений)
8. ORDER BY (сортировка)
И статья с объяснением на примерах.
Логический порядок выполнения операторов "под капотом":
1. FROM (выбор таблицы)
2. JOIN (комбинация с подходящими по условию данными из других таблиц)
3. WHERE (фильтрация строк)
4. GROUP BY (агрегирование данных)
5. HAVING (фильтрация агрегированных данных)
6. SELECT (возврат результирующего датасета)
7. DISTINCT (выбор только уникальных значений)
8. ORDER BY (сортировка)
И статья с объяснением на примерах.
Forwarded from ML in Marketing - events & meetups
» Сегодня смотрим доклад про построение маркетинговой аналитика
Спикеры: Денис Соловьев, Data Engineer at Ciklum
Начинаем через 20 минут. Ссылочка на вход у всех на почте.
Регистрация тут
Подключайтесь!
Спикеры: Денис Соловьев, Data Engineer at Ciklum
Начинаем через 20 минут. Ссылочка на вход у всех на почте.
Регистрация тут
Подключайтесь!
Forwarded from ML in Marketing - events & meetups
🧞♂️ ВИДЕО с ML in Marketing Meetup
@MLinMarketing
📋 Тема: Построение маркетинговой аналитики на базе Google Cloud
📋 Описание: Рассмотрим преимущества создания маркетинговой аналитики с использованием облачных технологий. Поговорим о том, на что стоит обратить внимание перед построением решения. Посмотрим на примеры аналитических архитектур для решения маркетинговых задач. Разберём организацию DWH на базе Google BigQuery. Затронем BigQuery ML и какие задачи можно решать с его помощью.
🎤 Спикер: Денис Соловьев, Data Engineer at Ciklum
- автор телеграм канала про аналитику @smart_data_channel
🎬 Видео
📥 Презентация
— — —
Кстати, вопросы по докладу можно задавать тут же в комментариях ;)
@MLinMarketing
📋 Тема: Построение маркетинговой аналитики на базе Google Cloud
📋 Описание: Рассмотрим преимущества создания маркетинговой аналитики с использованием облачных технологий. Поговорим о том, на что стоит обратить внимание перед построением решения. Посмотрим на примеры аналитических архитектур для решения маркетинговых задач. Разберём организацию DWH на базе Google BigQuery. Затронем BigQuery ML и какие задачи можно решать с его помощью.
🎤 Спикер: Денис Соловьев, Data Engineer at Ciklum
- автор телеграм канала про аналитику @smart_data_channel
🎬 Видео
📥 Презентация
— — —
Кстати, вопросы по докладу можно задавать тут же в комментариях ;)
Forwarded from LEFT JOIN
⚡️Масштабное независимое исследование онлайн-курсов по аналитике ⚡️
Мы с моими коллегами из компании твердо решили узнать все-все самое важное об онлайн образовании по теме аналитики и data science. Об онлайн образовании говорят повсеместно, курсы чрезвычайно распространены, ведь профессии в IT-сфере сейчас очень популярны. Думаю, что огромная часть аудитории данного канала либо прошла, либо собирается пройти курсы, связанные с анализом данных.
Прошу вас пройти опрос и оставить ваше искреннее мнение о той школе, курс в которой вы прошли. Хорошее, плохое, главное, не безразличное!
Буду признателен коллегам владельцам каналов по аналитике за репост. Разумеется, результатами опроса мы вскоре с вами поделимся в виде симпатичного дашборда 🤓
➡️ Ссылка на опрос
p.s. Любые комменты по опросу тоже приветствуются
Мы с моими коллегами из компании твердо решили узнать все-все самое важное об онлайн образовании по теме аналитики и data science. Об онлайн образовании говорят повсеместно, курсы чрезвычайно распространены, ведь профессии в IT-сфере сейчас очень популярны. Думаю, что огромная часть аудитории данного канала либо прошла, либо собирается пройти курсы, связанные с анализом данных.
Прошу вас пройти опрос и оставить ваше искреннее мнение о той школе, курс в которой вы прошли. Хорошее, плохое, главное, не безразличное!
Буду признателен коллегам владельцам каналов по аналитике за репост. Разумеется, результатами опроса мы вскоре с вами поделимся в виде симпатичного дашборда 🤓
➡️ Ссылка на опрос
p.s. Любые комменты по опросу тоже приветствуются
Forwarded from Reveal the Data
🧑🎓 Матрица компетенций BI-аналитика
Сделал матрицу компетенций, она родилась за год большой работы по менторству BI-аналитиков и «сериала» с Русланом. С радостью и гордостью хочу поделиться ей с комьюнити. Получилось круто.
Матрица будет полезна и новичкам — есть подсветка проседающих навыков и ссылки на учебные материалы. И компаниям — для составления планов развития сотрудников.
Необходимо оценить себя по 68 навыкам из 6 направлений, которые важны BI-аналитику на мой взгляд. Каждый навык имеет уровень «прокачки» от 1 до 4 и описание, с примером ожиданий знаний от уровня. Но это только пример, при сомнениях, оцените навык по ощущениям от «джун» до «лид».
Матрица – не истина в последней инстанции, а ориентир и быстрый способ оценить себя. В идеале должна заполняться вместе с ментором, кто мог бы валидировать результат и дать практику.
Большое спасибо всем, кто помогал и участвовал в тестировании. Буду рад идеям, ссылкам и примерам результатов в комментариях.
🔗 Ссылка
#избранное
Сделал матрицу компетенций, она родилась за год большой работы по менторству BI-аналитиков и «сериала» с Русланом. С радостью и гордостью хочу поделиться ей с комьюнити. Получилось круто.
Матрица будет полезна и новичкам — есть подсветка проседающих навыков и ссылки на учебные материалы. И компаниям — для составления планов развития сотрудников.
Необходимо оценить себя по 68 навыкам из 6 направлений, которые важны BI-аналитику на мой взгляд. Каждый навык имеет уровень «прокачки» от 1 до 4 и описание, с примером ожиданий знаний от уровня. Но это только пример, при сомнениях, оцените навык по ощущениям от «джун» до «лид».
Матрица – не истина в последней инстанции, а ориентир и быстрый способ оценить себя. В идеале должна заполняться вместе с ментором, кто мог бы валидировать результат и дать практику.
Большое спасибо всем, кто помогал и участвовал в тестировании. Буду рад идеям, ссылкам и примерам результатов в комментариях.
🔗 Ссылка
#избранное
Всем привет. Давно не писал на канале, так что буду исправляться.
Мы продолжаем тему SQL и баз данных, и сегодня я хочу рассказать о 4-х типах объектов, которые встречаются в большинстве СУБД: base table (таблица), temporary table (временная таблица), view (представление), materialized view (материализованное представление).
Решил написать небольшую шпаргалку с описанием этих объектов и в каких случаях какой объект использовать или не использовать.
Base table - классическая таблица. На логическом уровне это выделенное пространство на диске или в памяти, где хранятся данные, которые мы загрузили в эту таблицу.
Базовая таблица является основой для создания других объектов в базе данных.
Temporary table - временная таблица, которая, как правило, существует в рамках одной сессии подключения к базе данных. Простыми словами, если вы подключились к базе данных, создали временную таблицу, использовали её для своих нужд и разорвали соединение, то в рамках следующей сессии этой таблицы уже не будет.
Когда использовать: временные таблицы могут быть полезными, если вы часто обращаетесь к данным большой базовой таблицы (base table) в рамках одной сессии. Это, в свою очередь, может замедлять скорость работы и потреблять большое количество вычислительных ресурсов, что сильно снижает эффективность. Поэтому, вы можете создать временную таблицу на базе основной для хранения промежуточных результатов и писать запросы уже к ней, что может сильно повысить производительность.
Когда не использовать: временные таблицы лучше не использовать для сложной логики запросов и вычисляемых полей. Для этих задач больше подходят views (представления).
View - по сути, это хранимый SQL-запрос, который содержит в себе направления к данным, которые хранятся в основных таблицах. Т.е. представление хранит не данные сами по себе, а направление к ним.
Когда использовать:
- для хранения сложной логики запросов к основным таблицам. Например, для джоинов часто используемых таблиц, для вычисляемых столбцов и метрик. Представления устраняют избыточную работу для получения данных из базовых таблиц: вместо того, чтобы постоянно описывать ту же самую логику в запросах к основным таблицам, мы можем писать запросы ко view, которые уже содержат эту логику;
- для предоставления доступа только к определённым полям в основной таблице для групп пользователей. Представления являются хорошей опцией для того, чтобы обезопасить данные от нежелательного доступа. Например, вы хотите предоставить информацию о работниках, но не хотите предоставлять информацию об их зарплате.
Когда не использовать: со временем базовые таблицы могут становиться всё больше, и сложный запрос во view становится всё медленее, что делает анализ данных очень долгим и неудобным. Чтобы устранить просадку в производительности, мы можем материализовать результаты запроса, который хранится в представлении. Для этой задачи и существуют materialized views.
Мы продолжаем тему SQL и баз данных, и сегодня я хочу рассказать о 4-х типах объектов, которые встречаются в большинстве СУБД: base table (таблица), temporary table (временная таблица), view (представление), materialized view (материализованное представление).
Решил написать небольшую шпаргалку с описанием этих объектов и в каких случаях какой объект использовать или не использовать.
Base table - классическая таблица. На логическом уровне это выделенное пространство на диске или в памяти, где хранятся данные, которые мы загрузили в эту таблицу.
Базовая таблица является основой для создания других объектов в базе данных.
Temporary table - временная таблица, которая, как правило, существует в рамках одной сессии подключения к базе данных. Простыми словами, если вы подключились к базе данных, создали временную таблицу, использовали её для своих нужд и разорвали соединение, то в рамках следующей сессии этой таблицы уже не будет.
Когда использовать: временные таблицы могут быть полезными, если вы часто обращаетесь к данным большой базовой таблицы (base table) в рамках одной сессии. Это, в свою очередь, может замедлять скорость работы и потреблять большое количество вычислительных ресурсов, что сильно снижает эффективность. Поэтому, вы можете создать временную таблицу на базе основной для хранения промежуточных результатов и писать запросы уже к ней, что может сильно повысить производительность.
Когда не использовать: временные таблицы лучше не использовать для сложной логики запросов и вычисляемых полей. Для этих задач больше подходят views (представления).
View - по сути, это хранимый SQL-запрос, который содержит в себе направления к данным, которые хранятся в основных таблицах. Т.е. представление хранит не данные сами по себе, а направление к ним.
Когда использовать:
- для хранения сложной логики запросов к основным таблицам. Например, для джоинов часто используемых таблиц, для вычисляемых столбцов и метрик. Представления устраняют избыточную работу для получения данных из базовых таблиц: вместо того, чтобы постоянно описывать ту же самую логику в запросах к основным таблицам, мы можем писать запросы ко view, которые уже содержат эту логику;
- для предоставления доступа только к определённым полям в основной таблице для групп пользователей. Представления являются хорошей опцией для того, чтобы обезопасить данные от нежелательного доступа. Например, вы хотите предоставить информацию о работниках, но не хотите предоставлять информацию об их зарплате.
Когда не использовать: со временем базовые таблицы могут становиться всё больше, и сложный запрос во view становится всё медленее, что делает анализ данных очень долгим и неудобным. Чтобы устранить просадку в производительности, мы можем материализовать результаты запроса, который хранится в представлении. Для этой задачи и существуют materialized views.
👍2