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.
Die Tutorials und Schnellstarts, die dieses Dataset verwenden, umfassen die folgenden Artikel:
- Kennenlernen der datenbankinternen Analyse mithilfe von R in SQL Server
- Kennenlernen der datenbankinternen Analyse mithilfe von Python in SQL Server
Herunterladen von Dateien
Bei der Beispieldatenbank handelt es sich um eine von Microsoft gehostete SQL Server 2016-Backup-Datei (.bak). 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.
Laden Sie die Datenbanksicherungsdatei NYCTaxi_Sample.bak herunter.
Kopieren Sie die Datei in
C:\Program files\Microsoft SQL Server\MSSQL-instance-name\MSSQL\Backup
oder einen ähnlichen Pfad für denBackup
-Standardordner Ihrer Instanz.Klicken Sie in SSMS mit der rechten Maustaste auf Datenbanken, und wählen Sie Dateien und Dateigruppen wiederherstellen aus.
Geben Sie
NYCTaxi_Sample
als Datenbanknamen ein.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, umNYCTaxi_Sample.bak
auszuwählen.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.
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.Tabelle dbo.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.
Klicken Sie in Objekt-Explorer unter Datenbanken mit der rechten Maustaste auf die Datenbank NYCTaxi_Sample, und starten Sie eine neue Abfrage.
Ausführen einiger einfacher Abfragen:
SELECT TOP(10) * FROM dbo.nyctaxi_sample; SELECT COUNT(*) FROM dbo.nyctaxi_sample;
Die Datenbank enthält 1,7 Millionen Datensätze.
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.
Nächste Schritte
Die NYC Taxi-Beispieldaten sind nun für die praktischen Übungen verfügbar.