SQL для анализа данных


Оглавление (нажмите, чтобы открыть):

Курс Анализ данных на языке SQL в PDF-книге

Этот курс пригодится будущим и нынешним:

  • менеджерам, которым в работе необходимо готовить аналитические выборки и отчёты;
  • программистам независимо от специализации и языка программирования, так как умение работать с базами данных и писать запросы на SQL требуется от претендентов на почти 90 % вакансий программиста;
  • администраторам баз данных и информационных систем;
  • аналитикам данных (data scientists).

Ссылка на скачивание курса в виде книги PDF

Скачать курс Анализ данных на языке SQL

Стоимость 60 руб. По ссылке выше Вы перейдёте на страницу оплаты книги доступным для Вас способом. После оплаты книгу можно скачать на той же странице.

Курс построен на решении задач из примеров реальной работы аналитика — анализа рынка и аудитории медиа (сайтов) и рекламы. В каждой главе содержится в среднем 6 заданий на написание запросов. Решение части заданий следует сразу же и с объяснением, а часть заданий требуется выполнить от Вас. Правильные решения и объяснения содержатся в конце главы.

Задания для самостоятельного решения содержат подсказки.

Автор курса — Юрий Зубков, создатель этого сайта, статистик, разработчик SQL баз данных с 8-летним стажем.

Содержание курса

  1. Установка SQL Server Management Studio. Загрузка базы данных. Первый запрос (в открытом доступе)
  2. Структура базы данных. Предпочитаемые и читаемые медиа (в открытом доступе)
  3. От и до, больше всех, меньше всех. Подзапросы SQL и соединение таблиц с использованием JOIN. Когда что применять
  4. Темы медиа: кто и что предпочитает. Закрепляем навыки применения оператора JOIN. Группировка с применением оператора GROUP BY. Приступаем к практике применения агрегатных функций
  5. Считаем количество просмотренных сайтов. Арифметическая операция деления, секреты и тонкости её применения. Приведение типов с использованием функции CAST
  6. Типы контента сайтов (текст, видео, аудио): у кого больше читателей. Уверенное применение арифметических операций. Что ставится в запросе раньше: группировка или упорядочение?
  7. Темы рекламы: сколько крутится, для кого. Оператор HAVING и его отличия от секции WHERE. Их совместное применение. Когда необходимо использовать оператор DISTINCT для выбора уникальных значений
  8. Типы контента рекламы (текст, видео, аудио): у кого больше аудитория, совпадает ли тип рекламы с типом сайта. Указание условия «всегда» и «никогда» с помощью предикатов EXISTS и NOT EXISTS. Совместное использование ORDER BY и TOP для вывода наибольшего и наименьшего значений.
  9. Пересечение и разность запросов. Ещё раз об использовании EXISTS и NOT EXISTS и их альтернатив — INTERSECT и EXCEPT
  10. Больше всех, равно хотя бы какому либо. Использование кванторных функций ALL и ANY
  11. Обобщения по городу, области, теме, дням визитов. Фундаментальные свойства группировки (GROUP BY) и упорядочения (ORDER BY). Работа с датой. Применение оператора CASE для замены значения нужным текстом
  12. Итоги и индивидуальные значения в одной таблице. Использование оператора UNION для объединения результатов запросов. Ещё раз о приведении типов с помощью функции CAST

Ссылка на скачивание курса в виде книги PDF

Скачать курс Анализ данных на языке SQL

Стоимость 60 руб. По ссылке выше Вы перейдёте на страницу оплаты книги доступным для Вас способом. После оплаты книгу можно скачать на той же странице.

Уроки курса содержат ссылки на размещённые на сайте материалы, из которых можно получить элементарные сведения об операторах, предикатах и функциях языка SQL и ознакомиться с более простыми примерами их использования в написании запросов.

Бесплатные курсы по SQL: всё, что вы не знали о базах данных

Данные, которые вы анализируете в Excel хранятся в специальном хранилище — базе данных (вы, конечно же, это знаете). Чтобы проводимый анализ был точным и не оказался на деле какой-то несуразицей, нужно: правильно выбирать данные, уметь выгружать базу и анализировать только «чистые данные». Для этого нужно уметь работать с базой данных — этот навык оценит любой работодатель.

Developing SQL Databases

Анализ данных больше, табличка в Excel со столбцами и строками. Поэтому советуем присмотреться к этому курсу, в котором научитесь строить логические структуры таблиц, исключать «утечки» информации и проектировать (острожно, страшное слово!) реляционные схемы баз данных.

SQL Server Analysis Services: Developing a Tabular Data Model

После этого курса сами сможете выгружать базы данных, будете управлять табличными БД, научитесь «развертывать» таблицы на Azure Analysis Services, легко сравнивать многомерные модели и участвовать в умной беседе о моделях архитектуры 😀

Turn Data Into Value

Здесь научитесь применять Excel, Tableau и MySQL для анализа данных. Будете создавать прогнозы, модели и визуализировать бизнес-процессы. В итоговой работе, проведете собственное исследование и предложите решения по совершенствованию бизнес-процессов в реальном мире.

Управление большими данными с MySQL

Курс-введение в использование реляционных баз данных в бизнес-аналитике. Научитесь «отсеивать» и анализировать данные, выполнять запросы в системе баз данных и команды обобщения таблиц. Поэтому больше не будете ждать пока аналитический отдел отберет вам данные — вы сами можете!

Погружение в СУБД

Подходит больше программистам, использующим базы данных в своих приложениях. В курсе много теории о том, как строить системы управления базами данных. Но и без практики никак: рассматриваются ситуации, в которых нестандартные решения шаблоны могут навредить работе и поделятся полезными альтернативами.

SQL для анализа данных

SQL Server занимал лидирующие позиции в области прогнозирующей аналитики с выпуска 2000, обеспечивая интеллектуальный анализ данных в Службы Analysis Services. Сочетание Службы Integration Services, Службы Reporting Services и интеллектуального анализа данных SQL Server формирует интегрированную платформу для прогнозной аналитики, которая охватывает решения по очистке и подготовке данных, машинному обучению и отчетности. SQL Server Интеллектуальный анализ данных включает в себя несколько стандартных алгоритмов, включая модели кластеризации EM и K-средние, нейронные сети, логистическую регрессию и линейную регрессию, деревья принятия решений и классификаторы упрощенного алгоритма Байеса. Все модели располагают интегрированными визуальными элементами для упрощения разработки, уточнения и оценки моделей. Интеграция интеллектуального анализа данных в решения бизнес-аналитики помогает принимать обоснованные решения по сложным вопросам.

В интеллектуальном анализе данных (который также называется прогнозирующей аналитикой и машинным обучением) используются хорошо исследованные статистические принципы для выделения закономерностей в данных. Применив алгоритмы интеллектуального анализа данных Службы Analysis Services к своим данным, вы сможете прогнозировать тенденции, выделять закономерности, создавать правила и рекомендации, анализировать последовательность событий в сложных наборах данных и обнаруживать новые зависимости.

Средства интеллектуального анализа данных в SQL Server 2020имеют широкие возможности, легко доступны и интегрированы со средствами, которые многие пользователи предпочитают применять для анализа и составления отчетов.

SQL Server Интеллектуальный анализ данных предоставляет следующие функции по поддержке встроенных решений интеллектуального анализа данных.

Несколько источников данных: можно использовать любой источник табличных данных для интеллектуального анализа данных, включая электронные таблицы и текстовые файлы. Также легко доступен интеллектуальный анализ кубов OLAP, созданных в службах Службы Analysis Services. При этом невозможно использовать данные из выполняющейся в памяти базы данных.

Встроенная очистка данных, управление данными и отчетность: в Службы Integration Services предусмотрены мощные средства для профилирования и очистки данных. Можно создавать процессы ETL для очистки данных в процессе подготовки к моделированию, а ssISnoversion упрощает повторное обучение и обновление моделей.

Несколько настраиваемых алгоритмов: в дополнение к кластеризации, нейронным сетям и деревьям принятия решений интеллектуальный анализ данных SQL Server поддерживает разработку собственных пользовательских подключаемых алгоритмов.

Инфраструктура проверки моделей: проверять модели и наборы данных теперь можно с помощью таких важных статистических средств, как перекрестная проверка, матрицы классификации, диаграммы точности прогнозов и точечные диаграммы. Простое создание проверочных и обучающих наборов и управление ими.

Запросы и детализация: интеллектуальный анализ данных SQL Server предоставляет язык DMX для интеграции прогнозирующих запросов в приложения. Вы можете получать подробные статистические данные и шаблоны из моделей и выполнять детализацию данных вариантов.

Клиентские средства: в дополнение к средам разработки и проектирования, входящим в состав SQL Server, появились надстройки интеллектуального анализа данных для Excel в решении таких задач, как создание и просмотр моделей, а также выполнение запросов к ним. Кроме того, можно создавать пользовательские клиенты, в том числе веб-службы.

Поддержка языка сценариев и управляемые API-интерфейсы: все объекты интеллектуального анализа данных являются полностью программируемыми. Сценарии через MDX, XMLA или расширения PowerShell для служб Службы Analysis Services. С помощью языка расширения интеллектуального анализа данных (DMX) можно быстро создавать запросы и сценарии.

Защита и развертывание: обеспечивает безопасность на основе ролей через Службы Analysis Services, в том числе раздельные разрешения для детализации на моделирование и структурирование данных. Простота развертывания моделей на других серверах, которая предоставляет пользователям доступ к закономерностям и прогнозированию

В подразделах этого раздела описаны основные возможности интеллектуального анализа данных SQL Server и связанные с ним задачи.

Бизнес-аналитика и анализ данных с SQL Reporting и Hadoop

Бизнес-аналитика, или Business Intelligence (BI), является важным процессом, во время которого происходит интеграция и консолидация данных в масштабе организации в едином хранилище, к которому пользователи могут выполнять специальные запросы и формировать отчеты для анализа существующих данных. Фактически, целью бизнес-аналитики является именно хранение данных , к которым могут обращаться пользователи, ответственные за принятие бизнес-решения на основе анализа полученных данных. Например, типичным вопросом к системе бизнес-аналитики может быть: «Какая категория продуктов является наихудшей в плане реализации в первом квартале 2013 года?» Наиболее важными свойствами системы бизнес-аналитики являются:

  • Периодические операции записи в результате запросов;
  • небольшое количество пользователей;
  • большой размер данных, хранимых в базе данных.

Пользователи систем бизнес-аналитики занимаются генерацией отчетов, отражающих различные факторы, связанные с важными процессами внутри организации (например, финансовыми) или запросов сравнения данных. Системы бизнес-аналитики должны отслеживать историю данных, так как часто пользователи производят сопоставление данных, собранных в различные периоды времени. По этой причине объем данных в хранилище, обычно очень велик, и механизм хранения данных должен обеспечивать достаточное для задач пользователя и оптимальное с позиции выполнения запросов время. На данный момент существует большое количество решений для бизнес-аналитики, лидерами являются корпорации Microsoft и Oracle , предоставляющие мощные движки и механизмы – SQL Server , SQL Reporting и т.д. Локальная версия системы бизнес-аналитики от Microsoft называется SQL Server Reporting Services (SSRS), которая предлагает программную серверную систему создания отчётов. В SQL Server Reporting Services есть возможность генерировать как печатные, так и динамические отчёты, в том числе с использованием Web-служб. SQL Server Reporting Services входит в состав Express, Workgroup, Standard и Enterprise версий Microsoft SQL Server в качестве устанавливаемого дополнения. Отчёты, создаваемые в SQL Server Reporting Services, должны быть описаны с помощью специального подязыка Report Definition Language ( RDL ), и могут проектироваться при помощи Visual Studio с установленным дополнением Business Intelligence Projects либо при помощи входящего в комплект Report Builder. Отчёты, определенные при помощи RDL , могут быть созданы и сохранены в различных файловых форматах, например, XLS, PDF . Начиная с версии SQL Server 2008 SQL Server Reporting Services предлагает возможность генерации отчетов в формате DOC. RDL -отчёты можно просматривать программным способом с помощью элемента управления ASP . NET ReportViewer, что позволяет встраивать отчёты прямо в приложение или сайт .

С развитием облачных вычислений стало возможным переносить как хранилища данных, так и системы бизнес-аналитики на мощности вендора, таким образом, оплачивая только те ресурсы, которые используются. Облачные особенности предоставляют важное преимущество эластичности и возможности обрабатывать большие массивы данных. Системы бизнес-аналитики в облаках можно условно разделить на два типа:

  • Данные в облаке, бизнес-аналитика локально,
  • Движок и приложение в облаке.

Размещение движка и отчётов в облаке позволяют размещать отчёты таким образом, что их можно встраивать как в приложение , так и иметь глобальный доступ с помощью URL .

К основным сценариям облачной системы бизнес-аналитики, которая называется Windows Azure SQL Databases Reporting, относятся следующие сценарии:

  • Сезонные нагрузки. Например, организация, реализующая некоторые продукты, имеет периодическую задачу генерации отчётов из хранилища данных. Размещение ресурсов, на которых выполняется решение этой задачи, в локальном центре обработки данных влечёт за собой необходимость в расчёте максимальных нагрузок, эффективного использования и т.д. После этого в какие-то моменты осуществляется нагрузка, но большую часть времени ресурсы могут простаивать. В этом случае, когда есть периодическая необходимость генерации отчётов, может быть использован облачный сервис Windows Azure SQL Databases Reporting. После спада пика нагрузки, как и в случае с любыми другими сервисами, можно отказаться от оплачиваемых ресурсов.
  • Сценарий, в котором происходит разделение отчётности между несколькими партнёрами, возникает, когда сгенерированную отчётность необходимо предоставить партнёрской организации. В случае размещения систем аналитики в локальном центре обработки данных партнёру, который должен обеспечить доступ к отчётам, необходимо проводить конфигурацию, настройку безопасности, портов, предоставлять аккаунты и т.д. Если поместить отчёты в облако, процесс значительно упрощается – клиенты и поставщики могут получить доступ к отчетам тогда, когда им это необходимо.
  • Гибридная инфраструктура. Часть данных в локальном центре обработки данных, часть, которую можно публично выставлять, расположена в облаке.

Рассмотрим последовательность действий по созданию отчётов с помощью Report Builder и базы данных AdventureWorks, предоставляемой корпорацией Microsoft в тестовых целях.

Создадим сервер баз данных Windows Azure SQL Databases с помощью портала управления Windows Azure. Подробнее процесс создания описывается в главе 6 «Хранение и обработка данных с Windows Azure Storage и Windows Azure SQL Databases».

База данных AdventureWorks расположена на CodePlex по адресу http:// http://msftdbprodsamples.codeplex.com/releases/view/37304. В данном примере используется версия AdventureWorks2012ForWindowsAzureSQLDatabase.

После распаковки архива, содержащего базу данных, необходимо выполнить следующую команду для развертывания базы данных в Windows Azure:

Развертывание базы данных может занять некоторое время.

Создадим сервис Windows Azure SQL Reporting с помощью портала управления Windows Azure. Расположение сервиса в одном регионе с созданным сервером Windows Azure SQL Databases значительно уменьшит задержки при их взаимодействии.

Для генерации отчётов необходимо связать сервис SQL Reporting с источником данных. Добавим источник данных в сервис SQL Reporting.

В открывшемся диалоговом окне необходимо задать логическое название источника данных и его описание. Базу данных для источника данных можно выбрать в выпадающем меню DATABASE.

На следующей странице выберем опцию PROV >пароль администратора сервера баз данных.


Для взаимодействия с сервисом SQL Reporting установим Report Builder, дистрибутив которого можно загрузить с сайта Microsoft: http://www.microsoft.com/ru-ru/download/details.aspx? >

После запуска Report Builder (в зависимости от языка установки он может называться «Построитель Отчетов 3.0») подключимся к серверу, нажав «Соединение» в нижней части интерфейса.

Анализ данных на языке SQL. Расширенные возможности

Код: SQLAA
Направление обучения: Базы данных
Продолжительность: 5 дней 40 ак. часов
Цена для физ. лиц: 22500 руб.
Цена для юр. лиц: 25000 руб.

Аннотация

По окончании курса Вы будете уметь:
• Профессионально пользоваться современными базами данных
• Использовать сложные конструкции SQL
• Выполнять глубокий анализ данных
• Строить сложные отчёты
• Выбирать адекватный задаче метод анализа данных

Целевая аудитория

Аудитория курса: аналитики и разработчики отчётов, работающие с базами данных.

Содержание

Модуль 1. Постановка задачи

Модуль 2. Функции, операторы и программные модули

  • Логические выражения и условные вычисления
  • Типы данных
  • Математические функции
  • Работа с календарём
  • Статистические функции
  • Работа с текстом
  • Представления, процедуры и пользовательские функции
  • Табличные выражения

Модуль 3. Структуры данных

  • Нормализованные базы данных
  • Хранилища и витрины данных
  • Объектные данные
  • Данные в формате XML
  • Работа с большими таблицами
  • Иерархии
  • Сети и графы

Модуль 4. Методы анализа

  • Вычисления и поиск
  • Работа с упорядоченными сериями
  • Распределение
  • Сегментирование
  • Регрессия
  • Корреляция
  • Анализ связанных событий
  • Вероятностные модели
  • Другие методы анализа данных

Анализ данных: SQL для маркетологов

План курса

Здравствуйте и добро пожаловать на занятия по теме «SQL для маркетологов».

В этой лекции мы рассмотрим план данного курса.

В следующей после этой лекции части мы сделаем обзор различных типов баз данных, поддерживающих SQL. Мы остановимся подробнее на SQLite, поскольку именно эта база данных будет рассматриваться в курсе, а кроме того, она легкодоступна для всех использующих Windows, Linux или Mac. На самом деле если вы используете Mac, то она у вас уже установлена. Если же вы работаете под Windows или Linux, то я дам указания, как получить собственную бесплатную копию SQLite.

В следующей части я объясню, что такое реляционная база данных и наведу пример простенькой таблицы вроде тех, которые мы будем использовать на протяжении всего курса. Я покажу, как считывать данные из таблицы и создавать таблицу – простейшие действия.

Мастер Йода рекомендует:  Выбираем медиа-запросы min-width или max-width

4,0,1,0,0

В последующей части мы углубимся в тему и поговорим о том, как ускорить обработку запросов при помощи индексов. Как вы понимаете, в один прекрасный момент таблица станет настолько большой, что для её чтения понадобится всё больше и больше времени. Я докажу, что индексы позволяют ускорить работу.

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

В последующей части мы обсудим объединение, когда у вас есть две содержащие данные таблицы, а вы хотите их объединить. Я покажу вам разные способы слияния.

В следующей части мы поговорим о группировке, сортировке и подсчёте объектов в таблицах. Как вы понимаете, это поможет вам выяснить, какой продукт является наиболее прибыльным, каково среднее количество обращений каждого клиента и другие подобные вопросы.

8,1,0,0,0

И в последней части мы перейдём к более сложному материалу, и я покажу вам, как можно давать SQL-запросы применительно к большим объёмам данных с помощью Spark, запускаемой на Hadoop.

Почему вам следует прекратить зависеть от программистов и изучить SQL

В дополнении я хочу обсудить с вами тему – зачем маркетологам необходимо знать SQL.

Вы устали от своеволия хитроумных аналитических программ? Вам приходится просить помощи у программиста каждый раз, когда возникает вопрос по данным?

Это неприятно и вряд ли позволит вам эффективно работать. SQL расшифровывается как structured query language – язык структурированных запросов. Это язык, который можно использовать для работы со всеми видами баз данных, начиная от крошечных, хранящихся на вашем iPhone, и заканчивая огромными, охватывающими данные с нескольких континентов. Программисты проделали огромную работу по созданию различных типов этих сложных хранилищ данных, в то же время позволяя использовать одинаковый язык для работы почти со всеми из них.

Что это значит для вас? Это значит, что, зная SQL, вы можете пользоваться преимуществами всех этих программ и получать нужную вам информацию, независимо от типа базы данных, лишь бы она поддерживала SQL. Вы можете формулировать запросы вроде сколько людей отсеиваются на каждом этапе заключения торговой сделки, какова ваша годовая прибыль, есть ли какие-то демографические различия среди покупателей товара X и покупателей товара Y, какой месяц оказался самым прибыльным и есть ли сезонные колебания в вашей сфере деятельности.

Будучи программистом, я, вероятно, не учёл всех вопросов, которые интересуют вас долгие годы, но я гарантирую, что знание SQL поможет вам ответить них. Работая среди различных людей мира техники, я заметил, что многие менеджеры по маркетингу и продакт-менеджеры обладают навыками в работе с SQL, а иногда даже навыками в написании кода.

16,0,0,0,1

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

Какой инструмент выбрать для визуального анализа данных (база MySQL)?

Имеется база розничных транзакций (6+ млн записей; id клиента, товара, категорий, сумма, дата/время), сейчас загружена в MySQL-базу. Также имеем человека, знающего что вытащить из базы («средний чек у покупателей категорий 1, 2, 3», «распределение оборота по месяцам» и т.п.), но совершенно не знакомый с SQL (и обучать нецелесообразно).

Что может посоветовать уважаемое сообщество из инструментов/подходов в данном случае? Сейчас все выборки делаются через сисадмина, что сильно не эффективно и не гуманно 😉
Нашел вот этот вопрос, но здесь скорее инструмент для управления с 1 табличкой и вводом/поиском простых значений (вроде поиска по фамилии).

  • Вопрос задан более трёх лет назад
  • 808 просмотров

Написать генератор отчетов самим:

Например, есть код:

!ОТЧЕТ «По сегментам»
!ПО ДАТЕ
!ВЫЧИСЛИТЬ
Конверсия = ОКРУГЛИТЬ(СЕГМЕНТ.ПРОДАЖИ / СЕГМЕНТ.КЛИКИ_УНИКАЛЬНЫЕ),
Openrate = ОКРУГЛИТЬ((СЕГМЕНТ.ОТКРЫТО / СЕГМЕНТ.ОТПРАВЛЕНО)*100),
Clickrate = ОКРУГЛИТЬ((СЕГМЕНТ.КЛИКИ / СЕГМЕНТ.ОТПРАВЛЕНО)*100),
CTR = ОКРУГЛИТЬ((СЕГМЕНТ.КЛИКИ / СЕГМЕНТ.ОТКРЫТО)*100),
RPE = ОКРУГЛИТЬ(СЕГМЕНТ.ДОХОД / СЕГМЕНТ.ЛИДЫ),
EPM = ОКРУГЛИТЬ((СЕГМЕНТ.ДОХОД / СЕГМЕНТ.ОТПРАВЛЕНО) * 1000)
!ПОКАЗАТЬ ТАБЛИЦУ И ГРАФИК
СЕГМЕНТ.НАЗВАНИЕ_СЕГМЕНТА [ !НАЗВАНИЕ «Сегмент» ],
СЕГМЕНТ.ОТПРАВЛЕНО [ !НАЗВАНИЕ «Отправки» ],
СЕГМЕНТ.ОТКРЫТО [ !НАЗВАНИЕ «Открытия» ],
Openrate [ !НАЗВАНИЕ «Открытия, %» ],
СЕГМЕНТ.КЛИКИ [ !НАЗВАНИЕ «Клики» ],
Clickrate [ !НАЗВАНИЕ «Клики, %» ],
CTR,
СЕГМЕНТ.ЛИДЫ,
СЕГМЕНТ.ПРОДАЖИ,
СЕГМЕНТ.ДОХОД,
RPE,
EPM,
Конверсия
!ГДЕ СЕГМЕНТ = [[ СЕГМЕНТ ]]
!ИТОГИ !ПО [[ ИТОГИ_ПО ]]

И по ней уже строит нужные данные.

Арсений: ну тут собственно решений простых нет.
Или перейти на какую нибудь из существующих систем имеющих функционал аналитики.
Или пилить своё решение.
Или иметь человека который может руками сделать запрос.

Все зависит от объемов, если запросы нужно строить редко — вариант с человеком самый бюджетный

Tableau подойдет. Он подключится к базе, а ваш аналитик сможет считать свои параметры уэе в самой программе. Правда определённые типы запросов, которые требуют джоинов, все равно придётся писать в SQL.

Эксель в чистом виде не потянет, но есть надстройки вроде PowerPivot, которые позволяют использовать его с большими данными.

Ну и последнее — учить SQL. Аналитику это 100% необходимо, а учить его не так уж и сложно.

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

Да, SQL нужен аналитику, просто он у нас пока маленький, скорее личинка аналитика :)))

Курс Анализ данных на языке SQL в PDF-книге

Этот курс пригодится будущим и нынешним:

  • менеджерам, которым в работе необходимо готовить аналитические выборки и отчёты;
  • программистам независимо от специализации и языка программирования, так как умение работать с базами данных и писать запросы на SQL требуется от претендентов на почти 90 % вакансий программиста;
  • администраторам баз данных и информационных систем;
  • аналитикам данных (data scientists).

Ссылка на скачивание курса в виде книги PDF

Скачать курс Анализ данных на языке SQL

Стоимость 60 руб. По ссылке выше Вы перейдёте на страницу оплаты книги доступным для Вас способом. После оплаты книгу можно скачать на той же странице.

Курс построен на решении задач из примеров реальной работы аналитика — анализа рынка и аудитории медиа (сайтов) и рекламы. В каждой главе содержится в среднем 6 заданий на написание запросов. Решение части заданий следует сразу же и с объяснением, а часть заданий требуется выполнить от Вас. Правильные решения и объяснения содержатся в конце главы.

Задания для самостоятельного решения содержат подсказки.

Автор курса — Юрий Зубков, создатель этого сайта, статистик, разработчик SQL баз данных с 8-летним стажем.

Содержание курса

  1. Установка SQL Server Management Studio. Загрузка базы данных. Первый запрос (в открытом доступе)
  2. Структура базы данных. Предпочитаемые и читаемые медиа (в открытом доступе)
  3. От и до, больше всех, меньше всех. Подзапросы SQL и соединение таблиц с использованием JOIN. Когда что применять

  4. Темы медиа: кто и что предпочитает. Закрепляем навыки применения оператора JOIN. Группировка с применением оператора GROUP BY. Приступаем к практике применения агрегатных функций
  5. Считаем количество просмотренных сайтов. Арифметическая операция деления, секреты и тонкости её применения. Приведение типов с использованием функции CAST
  6. Типы контента сайтов (текст, видео, аудио): у кого больше читателей. Уверенное применение арифметических операций. Что ставится в запросе раньше: группировка или упорядочение?
  7. Темы рекламы: сколько крутится, для кого. Оператор HAVING и его отличия от секции WHERE. Их совместное применение. Когда необходимо использовать оператор DISTINCT для выбора уникальных значений
  8. Типы контента рекламы (текст, видео, аудио): у кого больше аудитория, совпадает ли тип рекламы с типом сайта. Указание условия «всегда» и «никогда» с помощью предикатов EXISTS и NOT EXISTS. Совместное использование ORDER BY и TOP для вывода наибольшего и наименьшего значений.
  9. Пересечение и разность запросов. Ещё раз об использовании EXISTS и NOT EXISTS и их альтернатив — INTERSECT и EXCEPT
  10. Больше всех, равно хотя бы какому либо. Использование кванторных функций ALL и ANY
  11. Обобщения по городу, области, теме, дням визитов. Фундаментальные свойства группировки (GROUP BY) и упорядочения (ORDER BY). Работа с датой. Применение оператора CASE для замены значения нужным текстом
  12. Итоги и индивидуальные значения в одной таблице. Использование оператора UNION для объединения результатов запросов. Ещё раз о приведении типов с помощью функции CAST

Ссылка на скачивание курса в виде книги PDF

Скачать курс Анализ данных на языке SQL

Стоимость 60 руб. По ссылке выше Вы перейдёте на страницу оплаты книги доступным для Вас способом. После оплаты книгу можно скачать на той же странице.

Уроки курса содержат ссылки на размещённые на сайте материалы, из которых можно получить элементарные сведения об операторах, предикатах и функциях языка SQL и ознакомиться с более простыми примерами их использования в написании запросов.

SQL для анализа данных

SQL Server занимал лидирующие позиции в области прогнозирующей аналитики с выпуска 2000, обеспечивая интеллектуальный анализ данных в Службы Analysis Services. Сочетание Службы Integration Services, Службы Reporting Services и интеллектуального анализа данных SQL Server формирует интегрированную платформу для прогнозной аналитики, которая охватывает решения по очистке и подготовке данных, машинному обучению и отчетности. SQL Server Интеллектуальный анализ данных включает в себя несколько стандартных алгоритмов, включая модели кластеризации EM и K-средние, нейронные сети, логистическую регрессию и линейную регрессию, деревья принятия решений и классификаторы упрощенного алгоритма Байеса. Все модели располагают интегрированными визуальными элементами для упрощения разработки, уточнения и оценки моделей. Интеграция интеллектуального анализа данных в решения бизнес-аналитики помогает принимать обоснованные решения по сложным вопросам.

В интеллектуальном анализе данных (который также называется прогнозирующей аналитикой и машинным обучением) используются хорошо исследованные статистические принципы для выделения закономерностей в данных. Применив алгоритмы интеллектуального анализа данных Службы Analysis Services к своим данным, вы сможете прогнозировать тенденции, выделять закономерности, создавать правила и рекомендации, анализировать последовательность событий в сложных наборах данных и обнаруживать новые зависимости.

Средства интеллектуального анализа данных в SQL Server 2020имеют широкие возможности, легко доступны и интегрированы со средствами, которые многие пользователи предпочитают применять для анализа и составления отчетов.

SQL Server Интеллектуальный анализ данных предоставляет следующие функции по поддержке встроенных решений интеллектуального анализа данных.

Несколько источников данных: можно использовать любой источник табличных данных для интеллектуального анализа данных, включая электронные таблицы и текстовые файлы. Также легко доступен интеллектуальный анализ кубов OLAP, созданных в службах Службы Analysis Services. При этом невозможно использовать данные из выполняющейся в памяти базы данных.

Встроенная очистка данных, управление данными и отчетность: в Службы Integration Services предусмотрены мощные средства для профилирования и очистки данных. Можно создавать процессы ETL для очистки данных в процессе подготовки к моделированию, а ssISnoversion упрощает повторное обучение и обновление моделей.

Несколько настраиваемых алгоритмов: в дополнение к кластеризации, нейронным сетям и деревьям принятия решений интеллектуальный анализ данных SQL Server поддерживает разработку собственных пользовательских подключаемых алгоритмов.

Инфраструктура проверки моделей: проверять модели и наборы данных теперь можно с помощью таких важных статистических средств, как перекрестная проверка, матрицы классификации, диаграммы точности прогнозов и точечные диаграммы. Простое создание проверочных и обучающих наборов и управление ими.

Запросы и детализация: интеллектуальный анализ данных SQL Server предоставляет язык DMX для интеграции прогнозирующих запросов в приложения. Вы можете получать подробные статистические данные и шаблоны из моделей и выполнять детализацию данных вариантов.

Клиентские средства: в дополнение к средам разработки и проектирования, входящим в состав SQL Server, появились надстройки интеллектуального анализа данных для Excel в решении таких задач, как создание и просмотр моделей, а также выполнение запросов к ним. Кроме того, можно создавать пользовательские клиенты, в том числе веб-службы.

Поддержка языка сценариев и управляемые API-интерфейсы: все объекты интеллектуального анализа данных являются полностью программируемыми. Сценарии через MDX, XMLA или расширения PowerShell для служб Службы Analysis Services. С помощью языка расширения интеллектуального анализа данных (DMX) можно быстро создавать запросы и сценарии.

Защита и развертывание: обеспечивает безопасность на основе ролей через Службы Analysis Services, в том числе раздельные разрешения для детализации на моделирование и структурирование данных. Простота развертывания моделей на других серверах, которая предоставляет пользователям доступ к закономерностям и прогнозированию

В подразделах этого раздела описаны основные возможности интеллектуального анализа данных SQL Server и связанные с ним задачи.

АВТОМИР

Вики источник
Импорт и анализ писем в Outlook

Плюсы : PowerQuery — один из самых сильных инструментов, имеющий с одной стороны широкую функциональность для анализа, с другой стороны достаточно сложен в освоении, и используется в основном аналитиками. Работает как с табличными моделями, так и с многомерными. Умеет подключать дополнительные источники

Минусы : Не годится для «обычных» пользователей, сложен в освоении, достаточно медлителен. Нет возможности разделения доступа, ограничения на размер файлов/записей etc.

MS Power BI

  • Быстрая разработка информативных бизнес отчетов и панелей (в сети) – с возможностью взаимодействия и исследования данных.
  • Автоматическое обновление BI-отчетов и визуализации, при изменении данных
  • Поддержка языка запросов, в том числе и Power Query. Возможность взаимодействия между участниками на уровне запросов.
  • Создание каталога данных с индексами для поиска.
  • Язык запросов близкий к естественному (для бизнес-аналитика) и возможность интерактивной работы.
  • Поддержка мобильных устройств

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

Пример с запросами и объединением источников: комбинирование источников из Нью-Йоркской фондовой биржи и финансового индекса S&P 500.

Плюсы : новый современный продукт, дружелюбный интерфейс, легок в освоении, онлайн решение.

Минусы : решение «сырое» (некоторые компоненты могут работать нестабильно), не работает с OLAP кубами, урезанный функционал в сравнении с конкурентами.

  • Вводное видео в Power BI
  • Пример применения Power BI для финансового анализа
  • Обзор возможностей (видео)
  • Анализ истории World Cup history с помощью Excel и Power BI

Pyramid Analytics

Pyramid Analytics — облачная платформа бизнес-аналитики; имеет три ключевых компонента:

  • Интеллектуальный анализ данных — Data Discovery
  • Интерактивная работа с данными и визуализацией — Dashboards
  • Представление данных аудитории — Publisher

Примеры отчета с гео-визуализацией и возможностью исследования данных.

Платформа обладает возможностью совместной аналитики и моделирования данных , а так же рядом других полезных возможностей:

PyramidAnalytics — самый мощный инструмент из используемых нами.

Плюсы : легок в освоении, работает с огромным количеством источников, очень широкая функциональность.

Компоненты аналитики MS SQL server (MDS, SSIS, SSAS)

SQL Сервер позволяет проводить анализ внутри своей экосистемы. У него есть обширный набор компонент и мы сфокусируемся на трех наиболее известных.

Master Data Services — процессы и инструменты управления мастер-данными компании. Подробнее .
(Мастер-данные — это данные бизнеса: о клиентах, продуктах, услугах, персонале, технологиях, материалах etc.)

SQL Server Integration Services — миграция и интеграция данных. Подробнее .

SQL Server Analysis Services OLAP и data mining внутри SQL сервера. Подробнее .

Главный инструмент — мозг

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

(Matplotlib

  • Взаимодействие между R и python
  • Интерактивные веб-графики в plotly

    Бонус-инструмент

    Datazen — это мульти-платформенное решение, позволяющее построить отчетность, независимо от платформы (PC, iOS, Android, Windows Phone). Отличительной чертой продукта является широкая интеграция и возможность полноценной работы аналитической платформы через мобильные устройства.

    Плюсы : поддерживает широкий спектр платформ, поддерживается и развивается MS, работает с большим количеством источников.

    Минусы : Не работает с OLAP напрямую (необходимо создавать запросы MDX самостоятельно), имеет ряд ограничений (начиная от возможностей интерфейса и заканчивая настройкой функциональности), не продается отдельно, идет в комплекте с MS SQL Enterprise Edition.

    В следующей статье мы рассмотрим Datazen и Pyramid Analytics в деталях, а также разберемся как на их основе создавать отчетность.

    Ирина Никифорова получила PhD по социологии в Технологическом институте Джорджии. В настоящее время она является научным сотрудником НИУ ВШЭ. Она также является доцентом Кафедры методов и технологий социологических исследований факультета социологии кампуса НИУ ВШЭ в Санкт-Петербурге.

    Аннотация:

    Программы с открытым кодом, такие как система управления базами данных MySQL и язык программирования R, предназначенный для статистических вычислений, стали стандартными средствами анализа данных в академических и прикладных исследованиях. Эти инструменты могут использоваться в различных операционных системах, включая Windows, Linux и Mac OS. Данный курс предназначен для исследователей, обладающих навыками работы с R и специализирующихся в сфере статистического анализа данных в различных дисциплинах, которые хотели бы также освоить базы данных MySQL, методы их интеграции с R и способы разрешения возникающих при этом технических проблем.

    В рамках курса будут представлены основные приёмы и средства управления реляционными базами данных, в том числе язык MySQL, правила формирования запросов в SQL, а также интеллектуальный анализ данных с помощью R. Кроме того, будут рассмотрены вопросы, связанные с совместимостью Excel, SPSS и MySQL, и использование статистических средств языка R.

    Предполагается, что слушатели курса знакомы с языком программирования R и владеют навыками статистического анализа в R, а также имеют опыт работы с базами данными. Для участия в курсе требуется иметь личный ноутбук с установленными программами R, Excel и SPSS.

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

    Структура курса:

    • Семинар 1: Принципы работы с базами данных и системы управления базами данных; установка и основы использования MySQLи SQLite
    • Семинар 2: Навигация по базам данных: основы языка SQL и формирование запросов.
    • Семинар 3: Комплексные запросы в SQL
    • Семинар 4: Управление данными и совместимость
    • Семинар 5: Интеллектуальный анализ данных в R.
    • Bessant, Conrad, Shadforth, Ian, & Oakley, Darren. (2009). Building Bioinformatics Solutions: with Perl, R and MySQL . Oxford, UK: Oxford University Press.
    • Spector, Phil. (2008). Data Manipulation with R (Use R!) . New York: Springer.
    • Torgo, Luis. (2010). Data Mining with R: Learning with Case Studies . Chapman & Hall/CRC.
    • Welling, Luke, & Thomson, Laura. (2003). MySQL Tutorial . Indianapolis, Indiana, USA: MySQL Press.
    Мастер Йода рекомендует:  12 лучших Wordpress-плагинов для резервного копирования

    Если вы хотите стать специалистом по обработке и анализу данных, без SQL не обойтись. Пользоваться этим языком могут не только аналитики или учёные, но и все, кто может потратить несколько дней на изучение SQL запросов :


    SQL для анализа данных? Что это? Какая от него польза?

    SQL расшифровывается как Structured Query Language , что переводится как «язык структурированных запросов ».

    Но я люблю другое описание: это Excel на стероидах. Вот как выглядит один и тот же набор данных в Excel и SQL :

    Как мы видим, SQL и Excel довольно похожи. Оба представляют данные в виде двухмерной таблицы со столбцами и строками. Оба предельно структурированы и просты для понимания.

    Но между ними есть и ряд отличий:

    1. Первое — это производительность . Excel отлично работает с небольшими объёмами данных, но когда у вас 100 000 строк, использование формул становится долгим и неэффективным занятием.
    2. Второе — это способ взаимодействия с базой данных . Excel — это, в первую очередь, графический интерфейс пользователя (GUI ). Он позволяет прокручивать таблицу, вводить формулы, курсором необходимые области. В SQL нет графического интерфейса — здесь используются так называемые SQL-запросы .

    Когда вы освоите SQL запросы для начинающих , то поймёте, что работа с ним прозрачнее и эффективнее, чем с Excel. Кроме этого, в SQL намного удобнее автоматизировать свою работу и использовать предыдущие наработки.

    При анализе данных вы будете использовать SQL для довольно простых задач: суммирования, объединения массивов данных, простых статистических и математических методов. Но с SQL ваша работа станет эффективнее, и вы сможете использовать более крупные массивы данных, чем раньше.

    А как насчёт Python, R или bash?

    Когда вы начнёте использовать эти языки для анализа данных, то поймёте, что Python и R хороши для одного, а SQL для другого. Основное различие этих языков — в синтаксисе, «функциях » и производительности. Ну а теперь давайте перейдём к практической части!

    Шаг 0 – установите SQL-систему управления базами данных

    Я буду использовать postgreSQL . Есть и другие виды СУБД SQL . Но все они похожи, поэтому если выучить postgreSQL , адаптация к другому языку займёт всего несколько часов (или даже минут).

    На данный момент у вас должно быть три вещи:

    1. Сервер данных с доступом через терминал или iTerm ;
    2. PostgreSQL , установленный на ваш сервер;
    3. Установленный на компьютер Pgadmin4 (или SQL Workbench ).

    Примечание : в качестве инструмента для работы с SQL я буду использовать SQL Workbench .

    Шаг 1 – Зайдите в свою базу данных SQL через командную строку

    Сначала нужно получить доступ к базе данных из командной строки. Я покажу, как это сделать, и в дальнейшем вам нужно будет действовать аналогичным образом:

    1. Откройте Терминал (или iTerm ):
    2. Подключитесь к серверу через SSH .

    В моём случае я ввожу:

    1. Зайдя на сервер, я получаю доступ к базе данных postgreSQL . Поскольку уже разрешил доступ своему пользователю, ввожу следующую команду:

    psql -U tomi -d postgres

    psql это сама команда, -U указывает на имя пользователя (в моём случае это “tomi” ), а -d указывает название базы данных (в моём случае postgres , как и у вас ). Приглашение командной строки должно измениться на следующее:

    Готово! Теперь у вас есть полный доступ к базе данных SQL .

    1. Для проверки SQL запроса можете ввести:

    dt

    На экране появится список всех таблиц данных. Пока что она только одна. Но скоро это изменится:

    Примечание : базы данных SQL также называют « реляционными базами данных ».

    Шаг 2 – Загружаем данные

    В этом разделе мы будем работать с небольшим набором данных под названием zoo («зоопарк »). Можете скачать его отсюда в текстовом формате .tsv .

    Но давайте продолжим с SQL запроса примера :

    1) Создайте таблицу :

    CREATE TABLE zoo (animal varchar(10), uniq_id integer PRIMARY KEY, water_need integer);

    2) Проверьте, что таблица точно была создана :

    У нас есть новая таблица данных: zoo!

    3) Загружаем данные!

    INSERT INTO zoo (animal,uniq_id,water_need) VALUES («elephant»,1001,500), («elephant»,1002,600), («elephant»,1003,550), («tiger»,1004,300), («tiger»,1005,320), («tiger»,1006,330), («tiger»,1007,290), («tiger»,1008,310), («zebra»,1009,200), («zebra»,1010,220), («zebra»,1011,240), («zebra»,1012,230), («zebra»,1013,220), («zebra»,1014,100), («zebra»,1015,80), («lion»,1016,420), («lion»,1017,600), («lion»,1018,500), («lion»,1019,390), («kangaroo»,1020,410), («kangaroo»,1021,430), («kangaroo»,1022,410);

    Если всё прошло успешно, вы получите следующее сообщение:

    Самый важный оператор SQL: SELECT

    Настало время изучить главный оператор языка запросов SQL . Вот он:

    SELECT * FROM имя_таблицы;

    Мы будем пользоваться SELECT каждый раз, когда нужно будет прочитать, отфильтровать, преобразовать и суммировать данные. Для начала выберем (английское слово select переводится именно «выбрать» ) всё, что есть в таблице zoo .

    SELECT * FROM zoo;

    Оператор вернул мне всю таблицу.

    SELECT * FROM zoo;

    SELECT — основной оператор, сообщающий SQL , что мы хотим прочитать данные из таблицы.
    * — указывает на то, что мы хотим выбрать все столбцы.
    FROM сообщает SQL , что мы собираемся указать таблицу для чтения данных.
    zoo это название таблицы. Его можно заменить на любое другое, если у вас есть несколько таблиц.
    ; это синтаксис, обязательный для SQL . Каждый запрос должен заканчиваться точкой с запятой. Если случайно её пропустить, SQL будет ждать продолжения запроса, и ничего не выведет на экран.

    Рассмотренное выше выражение мы будем регулярно использовать при работе со сложными запросами SQL .

    Выбор столбцов

    Знак * можно заменить на названия столбцов. Рассмотрим в качестве примера следующий запрос:

    SELECT animal, water_need FROM zoo;

    Получаем именно то, что ожидали: на экране есть столбцы “animal” и “water_need” , но уже нет “uniq_id” .

    Аналогичным образом можно выбирать любые столбцы, достаточно указать их имена, разделённые запятой. Можно сделать и что-то вроде этого:

    SELECT animal, animal, animal FROM zoo;

    Один и тот же столбец повторится несколько раз… Но так как смысла в этом мало, делать так не стоит.

    Показываем несколько первых строк данных — инструкция LIMIT

    На данный момент мы работаем с таблицей данных, состоящей, из 22 строк. Чтобы ограничить выборку несколькими первыми строками, воспользуемся инструкцией LIMIT – небольшим «расширением » к базовому запросу:

    SELECT * FROM zoo LIMIT 10;

    На экран будет выведено только 10 первых строк.

    Фильтрация строк — инструкция WHERE

    Используя инструкцию WHERE , можно выбрать конкретные строки, основываясь на их значениях. SQL запроса пример:

    SELECT * FROM zoo WHERE animal = «elephant»;

    SELECT * FROM zoo –» это «базовый запрос »
    WHERE –» говорит SQL , что вы хотите что-то отфильтровать.
    animal = «elephant» –» animal — это название столбца, в котором мы ищем нужное значение, а elephant – само значение. В SQL всегда необходимо добавлять столбец, в котором мы ищем нужное значение.
    ; –» Не забываем про точку с запятой!

    Самопроверка #1

    Это вводная статья, поэтому первое задание тоже будет довольно простым:

    Выберите первых трёх зебр (zebra ) из таблицы zoo .

    Решение этой задачи будет, по сути, итогом сегодняшней статьи.

    Вот моё решение:

    SELECT * FROM zoo WHERE animal = «zebra» LIMIT 3;

    Согласитесь, SQL — это просто .

    И ещё кое-что: синтаксис…

    1. Все SQL запросы должны заканчиваться точкой с запятой (; ). Если вы случайно её пропустите, SQL будет считать, что запрос не закончен, и на экран ничего не выведется. Например:

    postgres=> SELECT * FROM zoo postgres->

    Как-то не очень… Вот так будет лучше:

    Postgres=> SELECT * FROM zoo;

    1. Язык SQL не чувствителен к регистру символов, когда дело касается ключевых слов (SELECT , WHERE , LIMIT и т.д .). Например:

    SELECT * FROM zoo;

    работает так же, как и

    Select * from zoo;

    Чувствительность к регистру имён таблиц, столбцов и их значений зависит от настроек. В нашей ситуации (при использовании postgreSQL ) имена таблиц и столбцов не чувствительны к регистру, в отличие от значений полей. Например:


    SELECT * FROM zoo WHERE animal = «elephant»; –» РАБОТАЕТ SELECT * FROM ZOO WHERE ANIMAL = ‘elephant’; –» РАБОТАЕТ SELECT * FROM ZOO WHERE ANIMAL = «ELEPHANT»; –» НЕ РАБОТАЕТ

    Обратите внимание, что большинство людей в языке запросов SQL пишут ключевые слова заглавными буквами ( SELECT, WHERE, LIMIT, etc… ), что повышает читаемость кода.

    Заключение

    Мы сделали первый шаг к использованию SQL для анализа данных! Поздравляю! Теперь вы можете писать основные запросы. Но это только начало!

    Перевод статьи “ SQL for Data Analysis – Tutorial for Beginners – ep1 ” был подготовлен дружной командой проекта Сайтостроение от А до Я.

    Анализ данных на языке SQL

    Язык SQL – самый мощный инструмент для обработки данных, придуманный человеком. Этот простой и выразительный язык запросов поддерживается всеми современными базами данных (в том числе Microsoft, Oracle, IBM) и инструментами анализа и программирования (в том числе Excel).

    На данном курсе Вы познакомитесь с базами данных языком запросов SQL. Цель курса – научиться свободно и уверенно пользоваться современными базами данных, в том числе анализировать данные и строить отчёты.

    Аудитория курса: аналитики и разработчики отчётов, работающие с базами данных.

    По окончании курса Вы будете уметь:

    • Использовать современные базы данных
    • Составлять запросы к базам данных на языке SQL
    • Использовать сложные конструкции SQL
    • Выполнять простой анализ данных
    • Строить отчёты

    Специалисты, обладающие этими знаниями и навыками, в настоящее время крайне востребованы. Большинство выпускников наших курсов делают успешную карьеру и пользуются уважением работодателей.

    Продолжительность курса — 24 ак. ч.

    Программа курса

    Модуль 1. Реляционные базы данных

    • СУБД SQL Server
    • Язык запросов SQL
    • Программа Management Studio
    • Базы данных и таблицы
    • Написание и исполнение запросов
    • Доступ к данным из Excel
    • Извлечение данных из различных источников

    Модуль 2. Простые операции с одной таблицей

    • Инструкция SELECT
    • Фильтрация таблицы по столбцам
    • Фильтрация таблицы по строкам
    • Использование функций
    • Типы данных
    • Обработка неизвестных значений
    • Сортировка
    • Операция TOP
    • Устранение дубликатов
    • Порядок операций в запросе

    Модуль 3. Трансформация таблицы

    • Агрегация
    • Группировка
    • Фильтрация групп

    Модуль 4. Модификация данных

    • Добавление строк
    • Модификация строк
    • Удаление строк

    Модуль 5. Операции с несколькими таблицами

    • Использование нескольких таблиц в запросе
    • Объединение, пересечение и разность множеств
    • Подзапросы
    • Использование подзапросов в инструкции SELECT
    • Соединение таблиц
    • Использование соединений
    • Внешние соединения
    • Коррелированные соединения
    • Реляционное деление

    Модуль 6. Построение отчётов

    • Сводные таблицы
    • Вычисление подытогов
    • Ранжирование
    • Постраничный вывод
    • Агрегация со скользящим окном
    • Функции смещения

    Модуль 7. Работа с хранилищами и витринами данных

    • Операционные базы данных
    • Хранилища и витрины данных
    • Структура хранилища
    • Работа с хранилищем
    • Аналитическая обработка больших объёмов данных
    • Статистический анализ данных
    • Инструменты анализа данных

    По окончании обучения на курсе проводится итоговая аттестация. Аттестация проводится в виде теста на последнем занятии или на основании оценок практических работ, выполняемых во время обучения на курсе.

    Быстродействующее сочетание: DB2 10.5 with BLU Acceleration и R

    Грант Хатчисон (Grant Hutchison)
    Опубликовано 11.06.2014

    R — это язык программирования с открытым исходным кодом, который отлично подходит для анализа данных и для работы с графикой. Изначально R был разработан сотрудниками Оклендского университета Россом Айхэкой (Ross Ihaka) и Робертом Джентлменом (Robert Gentleman). Айхэка и Джентлмен хотели создать язык, который помог бы им в процессе преподавания студентам вводного курса по статистике. Язык R был спроектирован под влиянием языка S, который был создан компанией Bell Labs в 1970-е годы. R считается предметно-ориентированным языком, поскольку он был разработан преимущественно для анализа данных — и справляется с этой задачей очень хорошо. R можно использовать как в виде интерактивной среды, так и в виде скриптов и моделей, встраиваемых в пакеты и интегрируемых с другими программными модулями.

    Язык R можно использовать для анализа данных из множества различных источников данных, включая внешние файлы или базы данных. В данной статье объясняется, как подключаться к данным, как запрашивать данные и как обновлять данные, которые находятся на серверах реляционных баз данных. Вы также узнаете, почему технология DB2 v10.5 with BLU Acceleration — это отличный выбор для аналитики. И, наконец, в статье объясняется, каким образом среда BLU Acceleration for Cloud упрощает загрузку и анализ наборов данных при использовании языка R.

    Часто используемые сокращения
    • CRAN: Comprehensive R Archive Network
    • CSV: Comma-separated values
    • DSN: Data source name
    • ODBC: Open Database Connectivity
    • RODBC: Open Database Connectivity for R
    • SIMD: Single instruction multiple data
    • SQL: Structured Query Language

    Внешние данные

    В языке R создание объектов и управление ими осуществляются в рамках одной области памяти. В большинстве случаев для задач анализа данных требуется, чтобы данные были доступны в виде кадра данных (data frame). Кадр данных можно рассматривать как двумерный массив гетерогенных данных или как таблицу в оперативной памяти (in-memory table). Если данные уже существуют в виде текстового файла с разделителями, то пользователь среды R может загрузить данные в память для анализа с помощью одной из множества функций вида read.xxx() , например, функции read.csv() для CSV-файлов. Точно так же, если кадр данных R необходимо «экстернализировать» в виде файла, можно воспользоваться множеством функций вида write.xxx() .

    Язык R позволяет сохранять кадры данных на диске в виде объектов (т.е. за пределами своей памяти) с помощью встроенных функций saveRDS() , save() и save.image() . Затем эти объекты можно считывать обратно в память для дальнейшего анализа. Тем не менее такой механизм персистентности имеет большое количество недостатков, в том числе ограниченные размеры пространства для кадров данных. Кроме того, существуют проблемы, связанные с использованием текстовых файлов для анализа данных; они требует значительных усилий для очистки данных и при передаче наборов данных другим пользователям.

    Возникает вопрос: если ваши данные для анализа сгенерированы с использованием существующих операционных систем и реляционных баз данных, то почему бы просто не извлечь данные из операционной системы и не заполнить этими данными аналитическую базу данных с целью их анализа с помощью R?

    Что дает использование реляционной базы данных с языком R?

    R можно использовать для исследования данных и для создания прогнозирующих моделей. Серверы реляционных баз данных предназначены для обработки больших объемов данных и позволяют обеспечить непротиворечивость данных для одновременно работающих пользователей. Поскольку данные в реляционных базах данных обычно хранятся в нормализованном виде, при выполнении задач разведочного анализа данных (exploratory data analysis, EDA) вам с большой вероятностью придется применить определенные навыки в области SQL для объединения релевантных атрибутов в нескольких таблицах. Если вы работаете совместно с администратором баз данных или с аналитиком данных, хорошо владеющим навыками работы с реляционными БД, вы можете создавать вспомогательные представления в режиме «только для чтения», чтобы ускорить анализ исходных данных. Работая с данными в среде DB2, вы можете воспользоваться инструментом IBM Data Studio или веб-консолью среды IBM BLU Acceleration for Cloud для исследования схемы базы данных или для задания новых представлений с целью упрощения доступа к данным из своих R-скриптов.

    По умолчанию перед выполнением любого анализа среда R загружает все данные в оперативную память. Когда обработку запросов осуществляет сервер реляционных баз данных, такой как DB2, система не будет просто загружать все данные с диска в память. Сервер баз данных проанализирует запрос в целом и определит наиболее эффективный метод получения запрашиваемых результатов.

    DB2 with BLU Acceleration

    Продукт DB2 10.5 with BLU Acceleration оптимизирован для аналитических задач и поэтому является отличным выбором для анализа данных с помощью R. В пользу решения DB2 with BLU Acceleration можно привести множество аргументов, включая следующие.

    • Простота
      • Анализ данных можно выполнять сразу после их загрузки. Функциональность BLU оптимизирована для аналитики, что избавляет вас от необходимости создания индексов или выполнения каких-либо задач по настройке.
    • Производительность
      • BLU использует столбцовую (columnar) модель хранения, что сокращает количество чтений с диска и минимизирует объем памяти, используемый для поддержки очень быстрой обработки запросов.
      • Применяемые по умолчанию усовершенствованные методы сжатия данных сокращают использование памяти и дискового пространства.

    В отличие от среды R, продукт DB2 with BLU Acceleration исследует все аппаратные возможности своего сервера и оптимизирует использование ресурсов. Например, когда это возможно, DB2 задействует SIMD-команды процессора на нескольких ядрах. Кроме того, DB2 использует различные механизмы кэширования памяти для уменьшения количества чтений данных с диска. Такая оптимизация осуществляется автоматически. В настоящее время эта платформа также доступна в облаке — в виде решения BLU Acceleration for Cloud.

    BLU Acceleration for Cloud

    BLU Acceleration for Cloud — это основанный на веб-технологиях сервер баз данных, оптимизированный для достижения максимальной простоты. Всего за несколько минут вы можете создать таблицы, загрузить данные и приступить к анализу. Пользователям предоставляются соответствующие инструменты (IBM Data Studio и IBM InfoSphere Data Architect) для упрощения создания и для сопровождения моделей и объектов баз данных (таких как таблицы). После создания схемы вы можете использовать веб-консоль решения BLU Acceleration for Cloud для загрузки своих данных. Предусмотрено множество способов загрузки данных, в том числе локальные файлы, сервисы облачного хранения (например, Amazon S3), IBM InfoSphere DataStage. В веб-консоли можно выполнять анализ с использованием Excel, SQL, Cognos Business Insight (BI), а также скриптов и моделей на R.

    На рис. 1 показаны два различных сценария работы пользователя языка R с данными, которые хранятся в среде BLU Acceleration for Cloud. Аналитик данных может использовать свою среду R, например, RStudio, для извлечения данных и их анализа на своем собственном компьютере. В качестве альтернативного варианта аналитик может через браузер создавать и исполнять R-скрипты на облачном сервере.

    Рисунок 1. Исследование данных с использованием R (дистанционное)

    Диаграмма на рис. 2 представляет пример среды R, интегрированной в среду BLU Acceleration for Cloud. Решение BLU Acceleration for Cloud предоставляет для R среду исполнения и хранилище данных в облачной инфраструктуре. BLU Acceleration for Cloud предоставляет веб-консоль, которая позволяет всего за несколько минут загрузить данные и выполнить анализ. Анализ данных может производиться с использованием средств SQL, BI-инструментов, R-скриптов и R-моделей. В вашем распоряжении имеются как простой редактор R-скриптов, так и возможность запустить среду RStudio непосредственно из своего браузера. На рис. 2 показан пример такой интеграции, в том числе графические результаты анализа данных по переписи населения США. Для создания новых скриптов следует нажать на знак (+), подсвеченный в левом верхнем углу окна на рис. 2. Управление R-скриптами осуществляется в облаке в рамках вашего собственного рабочего пространства. Вы также можете импортировать скрипты, чтобы работать с ними в облаке.

    Мастер Йода рекомендует:  Если ты открываешь веб-студию
    Рисунок 2. Исследование данных в облаке с использованием R

    BLU Acceleration for Cloud — план Trial

    Лучший способ приобрести опыт использования R в работе с базами данных — воспользоваться пробной версией BLU Acceleration for Cloud Trial Plan в рамках программы открытого бета-тестирования. Для начала перейдите на веб-сайт BLU Acceleration for Cloud . Нажмите на кнопку Try BLU Acceleration Now ; вы будете направлены на страницу Plans and Pricing . План Solo предусматривает инициализацию аналитической среды BLU у выбранного вами поставщика облачных сервисов (IBM SoftLayer или Amazon Web Services), а план Trial мгновенно предоставит вам доступ к собственной среде на 5 часов.

    На рис. 3 показан виджет BLU Acceleration for для плана Trial. Нажмите на кнопку start . Начнется инициализация вашей системы; когда ваш сервер будет готов, нажмите на Start BLU Acceleration . Теперь вы можете войти в веб-консоль с идентификатором пользователя bluadmin и предоставленным паролем. Чтобы проверить интеграцию R, перейдите в область Developing R Scripts и создайте тестовый скрипт с использованием кода, показанного ниже в листинге 1. Поскольку вы инициализировали новую среду, вам, вероятно, будет предложено установить R и RStudio (эта процедура занимает не более двух минут). В листинге 1 вы увидите, что в скрипт загружается пакет с именем bluR. Этот пакет (на данный момент он доступен только в рамках BLU Acceleration for Cloud) использует в качестве интерфейса доступа к данным RODBC.

    Рисунок 3. BLU Acceleration for Cloud — план Trial

    Типы данных и соображения по проектированию

    Данные в среде R и данные, хранящиеся в реляционных базах данных, имеют определенный тип или структуру. Необходимо понимать различия в типах данных, чтобы отображать значения надлежащим образом.

    R имеет весьма ограниченный набор базовых типов данных: character, numeric (целые числа и числа с плавающей точкой двойной точности), logical, raw (двоичные данные). Символьные векторы в R просто отображаются на SQL-данные типа CHARACTER или VARCHAR . Числовые типы данных сервера баз данных обычно отображаются на типы данных INTEGER и DOUBLE в среде R. Поскольку тип данных logical в R не имеет очевидного эквивалента среди типов данных SQL, этот тип обычно отображается в таблицах базы данных на текстовое поле. При работе с данными временных рядов необходимо тщательно продумывать, как эти данные будут отображаться между R и сервером баз данных.

    С точки зрения статистических методов непрерывные и категорийные данные обрабатываются совершенно по-разному. Пользователи R знают об этих различиях и кодируют категорийные данные с помощью такого типа данных, как factor После извлечения данных из базы данных следует учитывать, как нужно обращаться с этими данным — как с данными в непрерывной форме или как с категорийными данными. Если данные действительно являются категорийными, то соответствующую переменную необходимо перекодировать или выполнить приведение с помощью функции factor() .

    В таблице 1 приведено сопоставление терминов между R и реляционной СУБД.

    Таблица 1. Сравнение терминологии (R и RDBMS)

    Варианты подключения

    IBM Netezza и R

    IBM Netezza Analytics — это встраиваемая специализированная платформа для углубленной аналитики. Аппаратно-программные комплексы (appliance) Netezza поддерживают несколько различных способов использования R, в том числе анализ непосредственно в базе данных и анализ на стороне клиента. с информацией по использованию R на платформе Netezza.

    Язык R не имеет встроенных возможностей доступа к реляционным базам данных, однако на сегодняшний день существует большое количество интерфейсов доступа к данным, которые можно получить от поставщиков или на сайте CRAN (Comprehensive R Archive Network).

    Далее вы узнаете, как использовать RJDBC или RODBC для обращения из среды R к данным, хранящимся в серверах баз данных DB2. Если вы планируете обращаться к другим серверам баз данных, вы можете воспользоваться этими же интерфейсами или изучить возможности других пакетов для доступа к конкретным базам данных.

    Соединение с помощью RJDBC

    Пакет RJDBC основан на интерфейсе DBI (database interface), широко применяемом в сообществе R. Пакет DBI содержит виртуальные классы, за реализацию которых отвечает обеспечивающий драйвер. RJDBC использует для обмена данными между R и сервером баз данных сочетание JDBC-совместимого драйвера базы данных и среды JRE (Java Runtime Environment). Мы будем использовать для поддержания обеспечивающего соединения JDBC-драйвер от IBM (тип 4). Этот JDBC-драйвер IBM можно использовать для обращения к базам данных семейства DB2, включая DB2 for Linux, Unix, Windows, DB2 for z/OS, DB2 i. Если в вашей среде R еще не установлен пакет RJDBC, установите его из репозитория CRAN командой install.packages(«RJDBC») .

    В листинге 1 пакет RJDBC загружает R-объект, представляющий JDBC-драйвер. Маршрут к файлу db2jcct4.jar должен быть описан в вашей переменной CLASSPATH ; а в JAVA_PATH должно быть указано положение действующей JRE. Функция dbConnect() выделяет серверу баз данных объект channel (канал или соединение). Соединение устанавливается с базой данных с именем SAMPLEDB, которая расположена на сервере с именем хоста blueforcloud.imdemocloud.com .Обратите внимание, что для соединения требуется пароль, однако в данном скрипте он не сохранен.

    Листинг 1. BLU for Cloud — R-скрипт

    Потратьте несколько минут на работу с планом Trial для продукта BLU Acceleration for Cloud и со скриптом, показанным в листинге 1. В остальной части этой статьи будет изложена дополнительная информация по обращению к данным из R.

    В листинге 2 показано, как с помощью функции dbSendQuery() отправить SQL-запрос серверу через объект соединения. Реальные данные возвращаются клиенту только при исполнении функции fetch() . В этом сценарии возвращаются все строки из результирующего набора, поскольку второму параметру присвоено значение -1.

    Листинг 2. RJDBC — извлечение данных

    В листинге 3 кадр данных df содержит результаты запроса. Назначение этого скрипта состоит в том, чтобы определить типы автомобилей с наилучшей топливной экономичностью и соответствующую модель. Результаты показывают, что согласно данным нашей таблицы по 1165 автомобилям наилучшую комбинированную топливную экономичность имеют автомобили Toyota Prius.

    Листинг 3. RJDBC — отключение

    Если из таблицы базы данных возвращаются значения NULL, они отображаются в кадре данных R как недоступные (NA). Функция na.omit() в первой строке листинга 3 удаляет все наблюдения с отсутствующими значениями. Переменные кадра данных R извлекаются из DB2 в виде строк символов в верхнем регистре. Чтобы высвободить ресурсы базы данных на сервере, не забывайте выполнять функцию dbDisconnect() в конце своих R-скриптов.

    Можно также связать объекты R с SQL-операторами с помощью функции dbSendQuery() (листинг 4).

    Листинг 4. RJDBC — использование параметров

    В листинге 4 значение manufacturer не является частью текста запроса; оно отсылается в составе запроса при исполнении функции dbSendQuery() .

    На рис. 4 показана коробчатая диаграмма, которую мы без труда создали на основе возвращенного кадра данных.

    Рисунок 4. Пример коробчатой диаграммы

    Соединение с помощью RODBC

    RODBC – это более эффективный и более быстрый интерфейс доступа к данным DB2 для пользователей R. Пакет RODBC доступен в репозитории CRAN и используется многими участниками сообщества R. Если пакет RODBC еще не установлен в вашей среде R, установите его командой install.packages(«RODBC») .

    Интерфейс ODBC первоначально был разработан корпорацией Microsoft в начале 1990-х гг. За прошедшее с тех пор время он стал официальным стандартом для доступа к данным под общим названием SQL/CLI (Call Level Interface). Среда ODBC состоит из компонента ODBC Driver Manager и ODBC-совместимого драйвера для конкретного сервера баз данных. В операционной системе Windows компонент ODBC Driver Manager встроен в саму платформу, однако в случае Linux или других платформ компонент ODBC Driver Manager следует установить отдельно.

    Для соединения с базой данных при посредстве RODBC-драйвера необходимо указать расположение сервера, имя базы данных и информацию для доступа (например, имя пользователя и пароль). Имя базы данных обычно задается в виде DSN-имени ODBC. DSN-имя – это подробная ссылка на базу данных, которая может быть как локальной, так и удаленной относительно клиентского компьютера. DSN можно рассматривать как псевдоним базы данных — он не обязан соответствовать подлинному имени базы данных, заданному на сервере.

    Для создания DSN-имен на платформе Windows применяется инструмент ODBC Data Source Administrator, доступный в меню Control Panel->Administration Tools. На рис. 5 показаны несколько DSN-имен, определенных на этом клиентском компьютере.

    Рисунок 5. Windows-инструмент ODBC Data Source Administrator

    Если вы планируете использовать R и DB2 Express-C for Windows с локальными базами данных, то DSN-имена для ваших баз данных уже должны существовать в системе. Если вы хотите обращаться к удаленной базе данных, то необходимо выполнить следующие действия: получить подробности соединения от поставщика сервера баз данных, каталогизировать это соединение и задать DSN-имя в инструменте ODBC Data Source Administrator.

    Кроме того, существует которым вы можете воспользоваться, если хотите обойтись без DSN-имен.

    Пакет RODBC предоставляет несколько функций, имеющих отношение к соединениям (таблица 2).

    Таблица 2. RODBC — функции соединения и метаданных
    Функция Описание / назначение Информация на входе Информация на выходе
    odbcDataSources () Предоставляет список доступных DSN-имен. Не требуется Символьный вектор DSN-имен.
    odbcConnect (dsn, uid, pwd, . ) dsn=»DSN_name», u — другие необязательные параметры
    odbcDriverConnect (connection =»», . ) Устанавливает соединение с сервером баз данных. connection string.
    Значения для DSN, идентификатора пользователя и пароля должны быть предоставлены в одной строке. См. пример в .
    Объект channel, представляющий активное соединение с базой данных.
    odbcGetInfo (channel) Предоставляет подробную информацию об активном соединении с базой данных. Объект channel, представляющий активное соединение с сервером баз данных. Именованный символьный вектор, описывающий соединение, включая тип ODBC-драйвера и уровень соответствия стандартам API.

    Установив соединение (channel ) с нашей базе данных, мы можем использовать функции метаданных для исследования поддерживаемых типов данных, определений таблиц и заданных в них столбцов.

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

    Таблица 3. RODBC — функции метаданных базы данных и таблиц
    Функция Описание / назначение Информация на входе Информация на выходе
    sqlTypeInfo (channel, . ) Предоставляет информацию о поддерживаемых типах данных ODBC-базы данных channel Кадр данных поддерживаемых типов данных и их характеристик.
    sqlTables (channel, . ) Предоставляет описание объектов табличного вида, определенных в рамках базы данных. channel
    рекомендуемые необязательные параметры: «schema=», «tableType=»
    Кадр данных, содержащий подробности о таблицах, о представлениях и других объектах табличного вида в базе данных.
    sqlColumns (channel, sqtable, . ) Предоставляет описание столбцов, определенных в рамках таблицы. channel, table name Кадр данных, содержащий подробности об именах столбцов и о других атрибутах таблицы.

    Когда вы определите, с какой таблицей вы собираетесь работать, воспользуйтесь функцией sqlFetch() для извлечения данных в R. Пакет RODBC отобразит эти данные на соответствующий тип данных R, исходя из заданных отображений, которые содержатся в выходной информации функции getSqlTypeInfo(«DB2/NT») .

    Рассмотрим простой R-скрипт, который устанавливает соединение с базой данных с использованием DSN-имени и задает некоторую базовую информацию. Программа определит количество табличных объектов и столбцов в указанной таблице. Функция sqlFetch() извлекает все данные в R и показывает первую строку, которая была возвращена в кадре данных.

    В листинге 5 функция odbcConnect() и функции метаданных показывают, что в схеме «DB2INST1» имеется 27 таблиц и что в таблице fuel economy задано 18 столбцов. Функция sqlFetch() запрашивает содержимое таблицы и создает кадр данных с именем cars . Первые четыре переменные первого наблюдения в кадре данных демонстрируются пользователю; затем соединение с сервером базы данных закрывается с помощью функции odbcCloseAll() .

    Листинг 5. RODBC — установление соединения и использование функций метаданных

    Другой метод установления соединения с базами данных DB2 при посредстве RODBC предусматривает применение функции odbcDriverConnect() . В листинге 6 обратите внимание на то, что db.name — это реальное имя базы данных на сервере баз данных, которое не обязательно совпадает с DSN-именем, созданным на клиентском компьютере.

    Листинг 6. RODBC — метод прямого соединения

    Извлечение данных

    Главный мотив применения R для анализа данных, хранящихся на серверах баз данных, вместо анализа файлов состоит в том, что такой подход помогает справиться с трудностями, связанными с большими наборами данных. Как указывалось выше, по умолчанию R загружает все данные в память, поэтому работа с большими наборами данных будет эффективнее, если извлекать лишь фрагменты данных с помощью условных SQL-запросов.

    Как показано в таблице 4, функция sqlQuery() позволяет отправить серверу баз данных любой допустимый SQL-запрос. Если вы имеете полномочия для применения операции DROP к таблицам или для удаления данных, то функции sqlDrop() и sqlClear() также доступны.

    Таблица 4. RODBC — функции извлечения и удаления данных
    Функция Описание / назначение Информация на входе Информация на выходе
    sqlQuery (channel, query, . ) Исполняет SQL-запрос на сервере баз данных и возвращает результаты. channel, query
    рекомендуемые опции: errors=FALSE (помогает фиксировать возможные ошибки)
    Кадр данных результирующего набора. Данные будут отображены на совместимые типы данных R.
    sqlDrop (channel, sqtable, . ) Удаляет содержимое и определение таблицы из базы данных. channel, table Обратите внимание, что эта функция попытается выполнить операцию DROP TABLE.
    sqlClear (channel, sqtable, . ) Удаляет все строки из таблицы в базе данных. channel, table Обратите внимание, что эта функция попытается выполнить операцию TRUNCATE TABLE.

    Весьма универсальную функцию sqlQuery() можно использовать для инициирования SQL-операторов на языке DML (Data Manipulation Language), таких как SELECT, INSERT, UPDATE, DELETE, и для инициирования SQL-операторов на языке DDL (Data Definition Language), таких как CREATE TABLE. SQL-оператор в листинге 7 содержит ошибку. Тип данных указан некорректно — фраза INTEGR должна была бы иметь вид INTEGER. К счастью, в нашем распоряжении имеется функция odbcGetErrMsg() для получения и демонстрации подробного сообщения об ошибке. Эта функция очень полезна при редактировании и тестировании R-скриптов.

    Листинг 7. RODBC — диагностика ошибок

    Хранение данных

    Сохранение данных в реляционных БД обычно производится с помощью SQL-оператора INSERT. Если у вас есть кадр данных R и вы хотите поместить эти данные на хранение в реляционную базу данных, воспользуйтесь функцией sqlSave() . По умолчанию эта функция создает новую таблицу с теми же данными, которые содержатся в переменной кадра данных. Имена столбцов также будут совпадать с именами столбцов в кадре данных. При желании вы можете не сохранять имена строк R из кадра данных в сохраненной таблице, поскольку в рамках вашего набора данных обычно имеется естественный ключ.

    Функция sqlSave() заполняет таблицу данными из кадра данных при помощи SQL-оператора INSERT. Если вы хотите сохранить большой набор данных, может быть предпочтительнее создать внешний файл данных с разделителями, а затем применить высокоскоростной загрузчик конкретной базы данных для публикации данных и их передачи в коллективное пользование другим аналитикам данных. После того как данные будут сохранены в реляционной базе данных, вам больше не придется беспокоиться о поддержании их целостности и доступности — сервер баз данных возьмет это на себя.

    В листинге 8 функция sqlSave() создает и наполняет новую таблицу. Поскольку кадр данных имеет имя CLASSMARKS, таблица будет иметь такое же имя. В этом сценарии параметр safer разрешает скрипту заменить существующую таблицу с таким же именем. По умолчанию при попытке сохранить данные в существующую таблицу возвращается ошибка.

    Листинг 8. RODBC — сохранение данных

    Кроме того, можно модифицировать данные в существующих таблицах с помощью RODBC-функции sqlUpdate() . В качестве более эффективной альтернативы я рекомендую использовать SQL-операторы UPDATE, или просто сохранить новые данные во временной таблице с помощью функции sqlSave() , а затем выполнить SQL-оператор UPSERT для этих таблиц. Для функции sqlUpdate() требуется параметр index, служащий для однозначной идентификации каждой строки в существующей таблице.

    Использование хранимых процедур

    Хранимые процедуры — это программные модули, управляемые и исполняемые сервером баз данных. Поскольку данные расположены на одном сервере с программой, хранимые процедуры могут оказаться весьма эффективными и выполнять некоторые задачи гораздо быстрее, чем приложения на клиентской стороне. Хранимые процедуры DB2 могут быть написаны с использованием различных языков программирования, таких как Java, C, PL/SQL и SQL PL. Если у вас имеются готовые хранимые процедуры или если вашу аналитическую работу можно упростить либо улучшить с помощью хранимых процедур, их можно легко вызвать из R-скрипта при посредстве RJDBC или RODBC.

    В листинге 9 хранимая процедура GETMEDIAN вызывается с помощью функции sqlQuery() . В этом сценарии возвращаемые данные представляют собой кадр данных, содержащий единственное значение. Интересующий учебный предмет передается в хранимую процедуру как входной параметр. Какого-либо доступного механизма для извлечения нескольких наборов результатов или выходных параметров из хранимой процедуры DB2 на данный момент не существует.

    Листинг 9. RODBC — хранимые процедуры

    Заключение

    Язык R — это мощный инструмент с открытым исходным кодом для анализа данных, который помогает исследовать данные и создавать прогнозирующие модели. Когда объем ваших данных превысит предельные возможности памяти R, вы сможете прибегнуть к такому способу, как загрузка данных в какой-либо сервер баз данных, например, в IBM DB2 with BLU Acceleration или в IBM BLU Acceleration for Cloud. В этой статье мы исследовали преимущества использования R с базами данных вместо анализа данных в текстовых файлах с разделителями. Кроме того, вы познакомились с использованием пакетов RJDBC и RODBC для анализа больших данных, хранящихся в DB2.

    какой то “куцый” обзор… как будто спешили куда то

  • Добавить комментарий