NYC Taxi-Demodaten für Python- und R-Tutorials in SQL Server

Gilt für: SQL Server 2016 (13.x) und höher Azure SQL Managed Instance

In diesem Artikel wird beschrieben, wie eine Beispieldatenbank mit öffentlichen Daten von der New York City Taxi and Limousine Commission eingerichtet wird. Diese Daten werden in verschiedenen R- und Python-Tutorials für datenbankinterne Analysen unter SQL Server verwendet. Damit der Beispielcode schneller ausgeführt werden kann, haben wir ein repräsentatives 1 %-Sampling der Daten erstellt. In unserem System ist die Datenbanksicherungsdatei etwas größer als 90 MB, wobei sich in der primären Datentabelle 1,7 Millionen Datensätze befinden.

Für diese Übung benötigen Sie SQL Server Management Studio (SSMS) oder ein anderes Tool zum Wiederherstellen einer Datenbanksicherungsdatei sowie zum Ausführen von T-SQL-Abfragen.

Dieses Dataset wird in folgenden Tutorials und Schnellstarts verwendet:

Herunterladen von Dateien

Bei der Beispieldatenbank handelt es sich um eine von Microsoft gehostete SQL Server 2016-BAK-Datei. Sie kann unter SQL Server 2016 und höher wiederhergestellt werden. Der Download der Datei beginnt sofort, wenn Sie den Link öffnen.

Die Dateigröße beträgt ungefähr 90 MB.

Hinweis

Zur Wiederherstellung der Beispieldatenbank auf Big Data-Cluster in SQL Server laden Sie NYCTaxi_Sample.bak herunter, und Sie befolgen die Anweisungen unter Wiederherstellen einer Datenbank in der Masterinstanz eines Big Data-Clusters für SQL Server.

Hinweis

Zur Wiederherstellung der Beispieldatenbank für Machine Learning Services in Azure SQL Managed Instance befolgen Sie die Anweisungen im Schnellstart: Wiederherstellen einer Datenbank in Azure SQL Managed Instance mithilfe der BAK-Datei der Demodatenbank für Taxifahrten in New York City: https://aka.ms/sqlmldocument/NYCTaxi_Sample.bak.

  1. Laden Sie die Datenbanksicherungsdatei NYCTaxi_Sample.bak herunter.

  2. Kopieren Sie die Datei in C:\Program files\Microsoft SQL Server\MSSQL-instance-name\MSSQL\Backup oder einen ähnlichen Pfad für den Backup-Standardordner Ihrer Instanz.

  3. Klicken Sie in SSMS mit der rechten Maustaste auf Datenbanken, und wählen Sie Dateien und Dateigruppen wiederherstellen aus.

  4. Geben Sie NYCTaxi_Sample als Datenbanknamen ein.

  5. Wählen Sie Von Gerät, und öffnen Sie anschließend die Seite zum Auswählen von Dateien, um die Sicherungsdatei NYCTaxi_Sample.bak auszuwählen. Wählen Sie Hinzufügen aus, um NYCTaxi_Sample.bak auszuwählen.

  6. Aktivieren Sie das Kontrollkästchen Wiederherstellen, und wählen Sie OK, um die Datenbank wiederherzustellen.

Überprüfen von Datenbankobjekten

Vergewissern Sie sich mithilfe von SQL Server Management Studio, dass die Datenbankobjekte in der SQL Server-Instanz vorhanden sind. Dabei sollten Datenbank, Tabellen, Funktionen und gespeicherte Prozeduren angezeigt werden.

rsql_devtut_BrowseTables

Objekte in der Datenbank „NYCTaxi_Sample“

In der folgenden Tabelle finden Sie eine Übersicht über die in der Demodatenbank „NYCTaxi_Sample“ erstellten Objekte.

Objektname Objekttyp Beschreibung
NYCTaxi_Sample database Erstellt eine Datenbank und zwei Tabellen:

Tabelle dbo.nyctaxi_sample: Enthält das Hauptdataset von NYC Taxi. Einer Tabelle wird ein gruppierter Columnstore-Index hinzugefügt, um den Speicher und die Abfrageleistung zu verbessern. Die 1 %-Stichprobe des NYC Taxi-Datasets wird in diese Tabelle eingefügt.

Tabelledbo.nyc_taxi_models: Wird zum Speichern des trainierten Modells für die erweiterte Analyse verwendet.
fnCalculateDistance Skalarwertfunktion Berechnet die direkte Entfernung zwischen Abhol- und Ablageorten. Diese Funktion wird in den Lektionen Erstellen von Datenfeatures, Trainieren und Speichern eines Modells und Operationalisieren des R-Modells verwendet.
fnEngineerFeatures Tabellenwertfunktion Erstellt neue Datenfeatures für das Modelltraining. Diese Funktion wird in den Lektionen Erstellen von Datenfeatures und Operationalisieren des R-Modells verwendet.

Gespeicherte Prozeduren werden mithilfe von R- und Python-Skripts erstellt, die sich in verschiedenen Tutorials befinden. In der folgenden Tabelle finden Sie eine Übersicht über die gespeicherten Prozeduren, die Sie der NYC Taxi-Demodatenbank optional hinzufügen können, wenn Sie die Skripts in den verschiedenen Lektion ausführen.

Gespeicherte Prozedur Sprache Beschreibung
RxPlotHistogram R Ruft die RevoScaleR-Funktion rxHistogram auf, um das Histogramm einer Variablen zu zeichnen und gibt anschließend das Diagramm als binäres Objekt zurück. Diese gespeicherte Prozedur wird in der Lektion Untersuchen und Visualisieren von Daten verwendet.
RPlotRHist R Erstellt eine Grafik mithilfe der Hist-Funktion, und speichert die Ausgabe als lokale PDF-Datei. Diese gespeicherte Prozedur wird in der Lektion Untersuchen und Visualisieren von Daten verwendet.
RxTrainLogitModel R Trainiert ein logistisches Regressionsmodell durch Aufrufen eines R-Pakets. Das Modell sagt den Wert der Spalte tipped voraus und wird mithilfe von zufällig ausgewählten 70 % der Daten trainiert. Die Ausgabe der gespeicherten Prozedur ist das trainierte Modell, das in der Tabelle dbo.nyc_taxi_models gespeichert wird. Diese gespeicherte Prozedur wird in der Lektion Trainieren und Speichern eines Modells.
RxPredictBatchOutput R Ruft das trainierte Modell zum Erstellen von Vorhersagen mit dem Modell auf. Die gespeicherte Prozedur akzeptiert eine Abfrage als Eingabeparameter und gibt eine Spalte mit numerischen Werten zurück, die die Bewertungen für die Eingabezeilen enthält. Diese gespeicherte Prozedur wird in der Lektion Vorhersagen potenzieller Ergebnisse verwendet.
RxPredictSingleRow R Ruft das trainierte Modell zum Erstellen von Vorhersagen mit dem Modell auf. Diese gespeicherte Prozedur akzeptiert als Eingabe eine neue Beobachtung mit einzelnen Funktionswerten, die als Inlineparameter übergeben werden, und gibt einen Wert zurück, der das Ergebnis für die neue Beobachtung vorhersagt. Diese gespeicherte Prozedur wird in der Lektion Vorhersagen potenzieller Ergebnisse verwendet.

Abfragen der Daten

Führen Sie eine Abfrage aus, um zu prüfen, ob die Daten hochgeladen wurden.

  1. Klicken Sie in Objekt-Explorer unter Datenbanken mit der rechten Maustaste auf die Datenbank NYCTaxi_Sample, und starten Sie eine neue Abfrage.

  2. Führen Sie einige einfache Abfragen aus:

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

Die Datenbank enthält 1,7 Millionen Datensätze.

  1. In der Datenbank befindet sich die Tabelle dbo.nyctaxi_sample, die das Dataset enthält. Die Tabelle wurde für setbasierte Berechnungen optimiert, indem ein Columnstore-Index hinzugefügt wurde. Führen Sie diese Anweisung aus, um eine schnelle Zusammenfassung für die Tabelle zu generieren.

    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
    

Die Ergebnisse sollten ähnlich aussehen wie die im folgenden Screenshot.

Zusammenfassungsinformationen der Tabelle

Nächste Schritte

Die NYC Taxi-Beispieldaten sind nun für die praktischen Übungen verfügbar.