Почему SQL – язык, который нужно изучить для науки о данных
Почему SQL – необходимый язык для изучения науки о данных
“Python!”“Нет, R.”“Дураки, это явно Rust.”
Многие изучающие и эксперты в области науки о данных стремятся определить самый лучший язык для науки о данных. По моему мнению, большинство людей ошибается. Среди поиска новейшего, самого сексуального, с наибольшей возможностью контейнеризации языка для науки о данных, люди ищут не то.
Это легко упустить из виду. Легко даже рассматривать его как не язык. Но скромный Язык Структурированных Запросов, или SQL, – это мой выбор языка для изучения науки о данных. У всех этих других языков, конечно, есть свое место, но SQL – это тот язык, который я считаю неотъемлемым требованием для всех, работающих в области науки о данных. Вот почему.
- Исследователи из Microsoft и ETH Цюрих представляют HoloAssist мультимодальный набор данных для киберпомощников AI нового поколения для физического мира.
- Анализ разнообразных столбчатых диаграмм с помощью инструмента продвинутого анализа данных GPT-4
- Эра Gen AI Новое начало
Универсальный язык для баз данных
Слушайте, базы данных идут рука об руку с наукой о данных. Это в названии. Если вы работаете с наукой о данных, вы работаете с базами данных. И если вы работаете с базами данных, вероятно, работаете с SQL.
Почему? Потому что SQL – это универсальный язык запросов к базам данных. Нет другого. Представьте себе, что кто-то сказал вам, что если вы просто изучите определенный язык, вы сможете общаться и понимать каждого человека на Земле. Как ценно было бы это? SQL – это тот язык в науке о данных, язык, который каждый использует для управления и доступа к базам данных.
Каждому ученому в области данных нужен доступ к данным и их извлечение, анализ и построение гипотез, фильтрация, агрегация и сортировка данных. И вот почему каждому ученому в области данных понадобится SQL. Пока вы знаете, как написать SQL-запрос, вы далеко продвинетесь.
Кто-то, читающий эту статью прямо сейчас, говорит о движении NoSQL. Действительно, определенные данные теперь чаще хранятся в нереляционных базах данных, таких как по паре ключ-значение или графовые данные. Это правда, что хранение данных таким образом имеет преимущества – вы получаете большую масштабируемость и гибкость. Но нет стандартного языка запросов NoSQL. Вы можете изучить один для одной работы, а затем нужно будет изучить совершенно новый для новой работы.
Кроме того, вы очень редко найдете компанию, которая полностью работает с NoSQL-базами данных, в то время как многим компаниям не нужны нереляционные базы данных.
Очистка и обработка
Есть известная (и опровергнутая) статистика о том, что ученые по данным тратят 80% своего времени на очистку. Хотя это не так, я думаю, что если вы спросите у любого ученого по данным, на что они тратят время, очистка данных будет одной из пяти основных задач. Вот почему эта секция самая длинная.
Вы можете очищать и обрабатывать данные с помощью других языков, но SQL, в частности, предлагает уникальные преимущества для определенных аспектов очистки и обработки данных.
Выразительный язык запросов SQL позволяет ученым по данным эффективно фильтровать, сортировать и агрегировать данные с помощью кратких выражений. Этот уровень гибкости особенно полезен при работе с большими наборами данных, где ручная манипуляция данными была бы затратной по времени и подвержена ошибкам. Сравнивая это с языком Python, где для выполнения аналогичных задач по манипуляции данными может потребоваться написание большего количества строк кода и работа с циклами, условиями и внешними библиотеками. Хотя Python славится своей универсальностью и богатой экосистемой библиотек для науки о данных, сфокусированный синтаксис SQL может ускорить рутинные операции очистки данных, позволяя ученым по данным быстро подготавливать данные для анализа.
Кроме того, каждый ученый по данным будет жаловаться на то, что является бичом их существования: пропущенные значения. Функции SQL и возможности работы с пропущенными значениями, такие как использование COALESCE, CASE и обработка NULL, предоставляют простые подходы для решения проблем с пропущенными данными без необходимости сложной программной логики.
Вторым бичом существования ученого по данным являются дубликаты. К счастью, SQL предлагает эффективные методы идентификации и удаления дублирующихся записей из наборов данных, такие как ключевое слово `DISTINCT` и фраза `GROUP BY`.
Вы наверняка слышали о ETL-пайплайнах. Что ж, SQL может использоваться для создания пайплайнов преобразования данных, которые берут необработанные или полуобработанные данные и преобразуют их в формат, удобный для анализа. Это особенно полезно для автоматизации и стандартизации этих повторяющихся процессов очистки данных, которые мы все знаем и ненавидим.
Возможность SQL соединять таблицы из разных баз данных или файлов упрощает процесс слияния данных для анализа и является неотъемлемым элементом задач, связанных с интеграцией данных или агрегацией данных из различных источников. Что, для данных ученых, составляет большую часть проектов.
Наконец, я хотел бы напомнить людям, что наука о данных не существует в вакууме. SQL-запросы являются самодостаточными и могут легко передаваться коллегам. Это способствует сотрудничеству и позволяет другим воспроизводить шаги очистки данных без ручного вмешательства.
Хорошо работает с другими
Теперь, вы не продвинетесь далеко в науке о данных, если вы знаете только SQL. Но к счастью, SQL прекрасно интегрируется с любым из ведущих языков науки о данных, таких как R, Python, Julia или Rust. Вы получаете все преимущества анализа, визуализации данных и машинного обучения, сохраняя при этом силу SQL для манипулирования данными.
Это особенно мощно, если вы подумаете о всей той очистке и обработке данных, о которых я говорил ранее. Вы можете использовать SQL для предварительной обработки и очистки данных напрямую в базе данных, а затем полагаться на Python, R, Julia или Rust для выполнения более сложных преобразований данных или создания алгоритмов генерации признаков, используя доступные обширные библиотеки.
Многие организации полагаются на SQL – или, точнее говоря, на ученых о данных, которые знают, как использовать SQL – для создания отчетов, панелей управления и визуализаций, которые служат основой для принятия решений. Ознакомленность с SQL позволяет ученым о данных создавать содержательные отчеты непосредственно из баз данных. И благодаря широкому распространению SQL, эти отчеты обычно совместимы и взаимозаменяемы с практически любой системой.
Благодаря тому, насколько хорошо он работает с инструментами отчетности и языками сценариев, такими как Python, R и JavaScript, ученые о данных могут автоматизировать процесс формирования отчетов, путем безшовного объединения возможностей SQL для извлечения и манипулирования данных с возможностями визуализации и отчетности этих языков. В результате вы получаете всесторонние и проницательные отчеты, которые эффективно передают информацию, основанную на данных, заинтересованным сторонам, все в одном месте.
Работа, работа, работа
Есть причина, по которой вас будут спрашивать множество вопросов на собеседовании по науке о данных. Почти каждая работа по науке о данных требует хотя бы базового знания SQL.
Вот пример того, о чем я говорю: в объявлении о вакансии говорится: “Квалификация в SQL и R или Python для анализа данных и разработки платформы”. Другими словами, SQL – обязательный навык. А затем или R, или Python, но для большинства работодателей один из них такой же хорош, как и другой. Но благодаря преобладанию SQL нет альтернативы SQL. Все работы по науке о данных потребуют от вас работы с SQL.
Правда, самое интересное заключается в том, что SQL является незаменимым инструментом, который можно переносить из одной работы в другую. Одна работа может предпочитать Python, в то время как стартап может требовать Rust из-за личных предпочтений или устаревшей инфраструктуры. Но независимо от того, куда вы идете или что делаете, это SQL или ничего. Потратите время на его изучение, и вы сможете всегда отметить требование к работе.
В конечном счете, если вы найдете работу ученого о данных, которая не требует SQL, вероятнее всего, вы не будете заниматься особо большой наукой о данных.
Почему SQL так необходим для науки о данных?
Это связано с базой данных. Для науки о данных требуется хранение, обработка, извлечение и управление большим количеством данных. Эти данные находятся где-то. К ним можно получить доступ только с помощью одного инструмента – обычно это SQL. SQL – это язык, который нужно изучить для науки о данных и будет нужным до тех пор, пока мы полагаемся на базы данных для работы с данными. Нэйт Росиди – ученый о данных и стратегия продукта. Он также преподает анализ данных в качестве частного преподавателя и является основателем StrataScratch, платформы, помогающей ученым о данных подготовиться к собеседованию с реальными вопросами от лучших компаний. Свяжитесь с ним в Твиттере: StrataScratch или LinkedIn.
****[Нате Росиди](https://twitter.com/StrataScratch)**** – это дата-сайентист и стратег по продукту. Он также преподает аналитику в качестве преподавателя и является основателем StrataScratch, платформы, помогающей дата-сайентистам подготовиться к интервью с реальными вопросами от ведущих компаний. Свяжитесь с ним в Твиттере: StrataScratch или LinkedIn.