Задачи на ранжирующие функции
На собесах в бигтехи и не только очень любят давать задачки на ранжирующие функции, но их вроде даже на Leetcode нет.
Давайте попробуем вспомнить для каких случаев каждая из них.
Сначала пробуем сами решить, следующим скрином сверяемся с моим решением.
Ставим 💯 если получилось решить все, ✍️ если узнали для себя что-то новое
На собесах в бигтехи и не только очень любят давать задачки на ранжирующие функции, но их вроде даже на Leetcode нет.
Давайте попробуем вспомнить для каких случаев каждая из них.
Сначала пробуем сами решить, следующим скрином сверяемся с моим решением.
Ставим 💯 если получилось решить все, ✍️ если узнали для себя что-то новое
🔥18❤8✍2🤩1💯1
Polars_cheat_sheet.pdf
391.5 KB
Pandas / Polars
Когда речь заходит о работе с данными в аналитике, Pandas — один из первых инструментов, который стоит освоить.
Почему?
• делает работу с большими объемами данных быстрой и легкой на практике
• поддерживаются все необходимые операции с данными
• отличная совместимость с Matplotlib, Seaborn, Scikit-learn
Важно помнить: Pandas хранит данные в оперативной памяти, поэтому для больших наборов данных может потребоваться много ресурсо, либо Polars / PySpark.
Фан факт: Pandas был создан в фин. компании для работы с временными рядами, а теперь используется буквально везде.
Оптимальный размер: до 1-2 Гб
Polars
Когда Pandas уже не справляется с объемом данных, на помощь приходит Polars.
Почему?
• Polars написан на Rust и значительно быстрее Pandas. Он тоже хранит данные в памяти, но за счет высокой оптимизации он справляется с большими объемами эффективнее.
• Polars по синтаксису находится посередине между Pandas и PySpark
• Поддерживает многопоточную обработку, что ускоряет выполнение операций.
Фан факт: Polars активно набирает популярность и становится отличной альтернативой Pandas для работы с большими наборами данных. (отдельный лайк за подписанный тип данных)
Оптимальный размер: 7-15 Гб
P.S. Приложил полезные шпаргалки по библиотекам
Когда речь заходит о работе с данными в аналитике, Pandas — один из первых инструментов, который стоит освоить.
Почему?
• делает работу с большими объемами данных быстрой и легкой на практике
• поддерживаются все необходимые операции с данными
• отличная совместимость с Matplotlib, Seaborn, Scikit-learn
Важно помнить: Pandas хранит данные в оперативной памяти, поэтому для больших наборов данных может потребоваться много ресурсо, либо Polars / PySpark.
Фан факт: Pandas был создан в фин. компании для работы с временными рядами, а теперь используется буквально везде.
Оптимальный размер: до 1-2 Гб
Polars
Когда Pandas уже не справляется с объемом данных, на помощь приходит Polars.
Почему?
• Polars написан на Rust и значительно быстрее Pandas. Он тоже хранит данные в памяти, но за счет высокой оптимизации он справляется с большими объемами эффективнее.
• Polars по синтаксису находится посередине между Pandas и PySpark
• Поддерживает многопоточную обработку, что ускоряет выполнение операций.
Фан факт: Polars активно набирает популярность и становится отличной альтернативой Pandas для работы с большими наборами данных. (отдельный лайк за подписанный тип данных)
Оптимальный размер: 7-15 Гб
P.S. Приложил полезные шпаргалки по библиотекам
👍16🔥8⚡3❤1
PySpark_Cheat_Sheet.pdf
5.1 MB
PySpark ч.1
Когда работа данных уже овермного на сцену выходит PySpark с его потоковой обработкой дв реальном времени, которую кстати очень любят в бигтехах.
Почему стоит обратить внимание на PySpark?
• использует возможности Apache Spark, позволяя работать с огромными объемами данных, распределяя вычисления по кластерам.
• несмотря на свою мощь, PySpark может обрабатывать данные даже на машинах с ограниченными ресурсами, загружая данные по частям.
• поддерживает работу с различными форматами данных, такими как оптимизированный ORC и многие другие помимо наших любимых CSV и Parquet, что делает его универсальным решением.
• легко масштабируется, что позволяет решать задачи как на локальных машинах, так и в крупных кластерах.
PySpark создан для объемов информации достигающих сотен гигабайт и более.
Оптимальный размер: от 20 ГБ и больше — все зависит от инфраструктуры, так как PySpark отлично работает с кластерами.
Когда работа данных уже овермного на сцену выходит PySpark с его потоковой обработкой дв реальном времени, которую кстати очень любят в бигтехах.
Почему стоит обратить внимание на PySpark?
• использует возможности Apache Spark, позволяя работать с огромными объемами данных, распределяя вычисления по кластерам.
• несмотря на свою мощь, PySpark может обрабатывать данные даже на машинах с ограниченными ресурсами, загружая данные по частям.
• поддерживает работу с различными форматами данных, такими как оптимизированный ORC и многие другие помимо наших любимых CSV и Parquet, что делает его универсальным решением.
• легко масштабируется, что позволяет решать задачи как на локальных машинах, так и в крупных кластерах.
PySpark создан для объемов информации достигающих сотен гигабайт и более.
Оптимальный размер: от 20 ГБ и больше — все зависит от инфраструктуры, так как PySpark отлично работает с кластерами.
👍9🔥3❤1👌1
Сравнение синтаксиса [ Pandas | Polars | PySpark] ч.1
Ранее на канале мы уже ознакомились с теорией о:
• Pandas и Polars
• PySpark
Сегодня разберемся, как одни и те же операции выполняются в данных инструментах.
Главное саммари по этому сравнению:
1. Polars очень схож с Pandas
2. PySpark очень схож с Polars
Так как в свободном доступе не получается поработать с PySpark - можно научиться работать с Polars и бОльшую часть вы уже будете знать
Ранее на канале мы уже ознакомились с теорией о:
• Pandas и Polars
• PySpark
Сегодня разберемся, как одни и те же операции выполняются в данных инструментах.
Главное саммари по этому сравнению:
1. Polars очень схож с Pandas
2. PySpark очень схож с Polars
Так как в свободном доступе не получается поработать с PySpark - можно научиться работать с Polars и бОльшую часть вы уже будете знать
👍9❤5⚡3🔥3
Практические вопросы по JOIN-ам
Мои любимые вопросы по JOIN-ам, которые часто показывают, знает ли человек на самом деле, как они работают:
У вас есть 2 таблицы.
1ая - 100 строк
2ая - 10 строк
Какое [ min & max ] количество записей выдаст:
1 секция
• inner join
• left join
• right join
2 секция
• cross join
• full outer join
• anti left join
Переходим к скринами, сначала пробуем сами решить, следующим скрином сверяемся с моим решением.
Ставим 💯 если получилось решить все, ✍️ если узнали для себя что-то новое
Мои любимые вопросы по JOIN-ам, которые часто показывают, знает ли человек на самом деле, как они работают:
У вас есть 2 таблицы.
1ая - 100 строк
2ая - 10 строк
Какое [ min & max ] количество записей выдаст:
1 секция
• inner join
• left join
• right join
2 секция
• cross join
• full outer join
• anti left join
Переходим к скринами, сначала пробуем сами решить, следующим скрином сверяемся с моим решением.
Ставим 💯 если получилось решить все, ✍️ если узнали для себя что-то новое
✍22🔥5❤3💯3👍1
Взаимодействие с командой DWH
Один из важнейших навыков миддл аналитика — грамотное взаимодействие с командой DWH. Здесь подразумевается:
1. Понимание работы дата-инженера
• Вы должны понимать основные задачи и инструменты, с которыми работают дата-инженеры: ETL-процессы, структуры бд, способы оптимизации запросов.
2. Коммуникация на одном языке
• Важно уметь объяснить свои потребности на понятном команде языке и также понимать их ответ.
• Это не только упростит работу, но и поможет вам быть на одной волне с командой + снизит количество возможных недоразумений.
3. Составление четкого ТЗ для создания витрин
• Умение чётко и структурированно составить ТЗ для команды DWH — ключ к получению правильных данных.
• Хорошее ТЗ должно включать все необходимые детали: требования к данным, фильтры, формат и частоту обновления.
4. Понимание работы витрин
• Вы должны знать, как работают витрины данных: из каких источников данные собираются, как они обновляются и как их правильно использовать в аналитике.
• Это позволит не только корректно запрашивать данные, но и использовать их наиболее эффективно.
Один из важнейших навыков миддл аналитика — грамотное взаимодействие с командой DWH. Здесь подразумевается:
1. Понимание работы дата-инженера
• Вы должны понимать основные задачи и инструменты, с которыми работают дата-инженеры: ETL-процессы, структуры бд, способы оптимизации запросов.
2. Коммуникация на одном языке
• Важно уметь объяснить свои потребности на понятном команде языке и также понимать их ответ.
• Это не только упростит работу, но и поможет вам быть на одной волне с командой + снизит количество возможных недоразумений.
3. Составление четкого ТЗ для создания витрин
• Умение чётко и структурированно составить ТЗ для команды DWH — ключ к получению правильных данных.
• Хорошее ТЗ должно включать все необходимые детали: требования к данным, фильтры, формат и частоту обновления.
4. Понимание работы витрин
• Вы должны знать, как работают витрины данных: из каких источников данные собираются, как они обновляются и как их правильно использовать в аналитике.
• Это позволит не только корректно запрашивать данные, но и использовать их наиболее эффективно.
❤7🔥4👍2