Демонстрационные данные по работе такси в Нью-Йорке для учебников по Python и R в SQL Server

Применимо к: SQL Server 2016 (13.x) и более поздних Управляемый экземпляр SQL Azure

В этой статье объясняется, как настроить демонстрационную базу данных, состоящую из общедоступных данных Комиссии по такси и лимузинам Нью-Йорка. Эти данные используются в нескольких учебниках по R и Python для аналитики в базе данных в SQL Server. Чтобы пример кода выполнялся быстрее, была создана репрезентативная выборка в объеме 1 % данных. В вашей системе файл резервной копии базы данных немного превышает 90 МБ и представляет 1,7 млн строк в основной таблице данных.

Для выполнения этого упражнения необходимо иметь SQL Server Management Studio (SSMS) или другое средство, которое может восстановить файл резервной копии базы данных и выполнять запросы T-SQL.

Этот набор данных используется в следующих учебниках и кратких руководствах:

Загрузка файлов

Демонстрационная база данных — это BAK-файл SQL Server 2016, размещенный корпорацией Майкрософт. Этот файл можно восстановить в SQL Server 2016 и более поздних версий. Скачивание файла начинается сразу после открытия ссылки.

Размер файла составляет приблизительно 90 МБ.

Примечание

Чтобы восстановить пример базы данных в кластерах больших данных SQL Server, скачайте файл NYCTaxi_Sample.bak и следуйте указаниям в разделе Восстановление базы данных на главном экземпляре кластера больших данных SQL Server.

Примечание

Чтобы восстановить пример базы данных в службах машинного обучения в управляемом экземпляре SQL Azure, следуйте инструкциям в кратком руководстве по восстановлению базы данных в Управляемом экземпляре Azure SQL, используя BAK-файл демонстрационной базы данных такси Нью-Йорка: https://aka.ms/sqlmldocument/NYCTaxi_Sample.bak.

  1. Скачайте файл резервной копии базы данных NYCTaxi_Sample.bak .

  2. Скопируйте файл в папку C:\Program files\Microsoft SQL Server\MSSQL-instance-name\MSSQL\Backup по умолчанию Backup вашего экземпляра или аналогичный путь.

  3. В SSMS щелкните правой кнопкой мыши Базы данных и выберите Восстановить файлы и группы файлов.

  4. Введите NYCTaxi_Sample в качестве имени базы данных.

  5. Выберите С устройства , а затем откройте страницу выбора файла, чтобы выбрать файл резервной NYCTaxi_Sample.bak копии. Нажмите кнопку Добавить , чтобы выбрать NYCTaxi_Sample.bak.

  6. Установите флажок Восстановить и нажмите кнопку ОК , чтобы восстановить базу данных.

Проверка объектов базы данных

Проверьте существование объектов базы данных в экземпляре SQL Server с помощью SQL Server Management Studio. Вы должны увидеть базу данных, таблицы, функции и хранимые процедуры.

rsql_devtut_BrowseTables

Объекты в базе данных NYCTaxi_Sample

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

Имя объекта Тип объекта Описание
NYCTaxi_Sample База данных Создает базу данных и две таблицы:

dbo.nyctaxi_sampletable: содержит набор данных main такси Нью-Йорка. К таблице добавляется кластеризованный индекс columnstore для оптимизации хранения данных и производительности запросов. В таблицу вставлена выборка, содержащая 1 % от общего набора данных по работе такси в Нью-Йорке.

dbo.nyc_taxi_models table: используется для сохранения обученной модели расширенной аналитики.
fnCalculateDistance скалярная функция Вычисляет прямое расстояние между местами посадки и высадки. Эта функция используется в разделах Создание признаков данных, Обучение и сохранение модели и Ввод модели R в эксплуатацию.
fnEngineerFeatures функция с табличным значением Создает новые характеристики данных для обучения модели. Эта функция используется в занятиях Создание характеристик данных и Ввод модели R в эксплуатацию.

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

Хранимая процедура Язык Описание
RxPlotHistogram R Вызывает функцию RevoScaleR rxHistogram для построения гистограммы переменной, а затем возвращает график в виде двоичного объекта. Эта хранимая процедура используется в занятии Анализ и визуализация данных.
RPlotRHist R Создает рисунок с помощью Hist функции и сохраняет выходные данные в виде локального PDF-файла. Эта хранимая процедура используется в занятии Анализ и визуализация данных.
RxTrainLogitModel R Обучает модель логистической регрессии путем вызова пакета R. Модель прогнозирует значение столбца tipped и обучается с использованием случайно выбранных 70 % данных. Выходными данными хранимой процедуры является обученная модель, которая сохраняется в таблице dbo.nyc_taxi_models. Эта хранимая процедура используется в занятии Обучение и сохранение модели.
RxPredictBatchOutput R Вызывает обученную модель для составления прогнозов с ее помощью. Хранимая процедура принимает запрос в качестве входного параметра и возвращает столбец числовых значений, представляющих оценки для входных строк. Эта хранимая процедура используется в занятии Прогнозирование возможных результатов.
RxPredictSingleRow R Вызывает обученную модель для составления прогнозов с ее помощью. Эта хранимая процедура принимает новое наблюдение в качестве входных данных, причем отдельные значения характеристик передаются как встроенные параметры, и возвращает значение, представляющее прогнозируемый результат для нового наблюдения. Эта хранимая процедура используется в занятии Прогнозирование возможных результатов.

Запрос данных

Для проверки выполните запрос и убедитесь, что данные были отправлены.

  1. В обозреватель объектов в разделе Базы данных щелкните правой кнопкой мыши базу данных NYCTaxi_Sample и запустите новый запрос.

  2. Выполните несколько простых запросов:

    SELECT TOP(10) * FROM dbo.nyctaxi_sample;
    SELECT COUNT(*) FROM dbo.nyctaxi_sample;
    

База данных содержит 1,7 млн строк.

  1. В базе данных находится dbo.nyctaxi_sample таблица, содержащая набор данных. Эта таблица оптимизирована для вычислений с использованием наборов путем добавления индекса columnstore. Выполните эту инструкцию, чтобы создать краткую сводку для этой таблицы.

    SELECT DISTINCT [passenger_count]
        , ROUND (SUM ([fare_amount]),0) as TotalFares
        , ROUND (AVG ([fare_amount]),0) as AvgFares
    FROM [dbo].[nyctaxi_sample]
    GROUP BY [passenger_count]
    ORDER BY  AvgFares DESC
    

Результаты должны быть аналогичны показанным на следующем снимке экрана.

Сводные данные по таблице

Дальнейшие действия

Теперь выборка данных по работе такси в Нью-Йорке готова для использования в практическом обучении.