Share via


Dati demo NYC Taxi per le esercitazioni su Python e R in SQL Server

Si applica a: SQL Server 2016 (13.x) e versioni successive Istanza gestita di SQL di Azure

Questo articolo illustra come configurare un database di esempio costituito da dati pubblici della New York City Taxi and Limousine Commission. Questi dati vengono usati in varie esercitazioni su R e Python per l'analisi nel database in SQL Server. Per velocizzare l'esecuzione del codice di esempio, abbiamo creato un campione rappresentativo dell'1% dei dati. Nel sistema dell'utente il file di backup del database è leggermente superiore a 90 MB, fornendo 1,7 milioni di righe nella tabella dati primaria.

Per completare questo esercizio, è necessario avere SQL Server Management Studio (SSMS) o un altro strumento in grado di ripristinare un file di backup del database ed eseguire query T-SQL.

Le esercitazioni e le guide di avvio rapido che usano questo set di dati includono:

Scaricare i file

Il database di esempio è un file BAK di SQL Server 2016 ospitato da Microsoft. È possibile ripristinarlo in SQL Server 2016 e versioni successive. Il download del file inizia subito dopo aver aperto il collegamento.

Le dimensioni del file sono di circa 90 MB.

Nota

Per ripristinare il database di esempio in cluster Big Data di SQL Server, scaricare NYCTaxi_Sample.bak e seguire le istruzioni in Ripristinare un database nell'istanza master di un cluster Big Data di SQL Server.

Nota

Per ripristinare il database di esempio in Servizi di Machine Learning in Istanza gestita di SQL di Azure, seguire le istruzioni riportate in Avvio rapido: Ripristinare un database in Istanza gestita di SQL di Azure usando il file .bak del database demo NYC Taxi: https://aka.ms/sqlmldocument/NYCTaxi_Sample.bak.

  1. Scaricare il file di backup del database NYCTaxi_Sample. bak.

  2. Copiare il file in C:\Program files\Microsoft SQL Server\MSSQL-instance-name\MSSQL\Backup o in un percorso simile per la cartella predefinita Backup dell'istanza.

  3. In SSMS, fare clic con il pulsante destro del mouse su Database e scegliere Ripristina file e gruppo di file.

  4. Immettere NYCTaxi_Sample come nome del database.

  5. Selezionare Da dispositivo, quindi aprire la pagina di selezione file per selezionare il file di backup NYCTaxi_Sample.bak. Selezionare Aggiungi per selezionare NYCTaxi_Sample.bak.

  6. Selezionare la casella di controllo Ripristina e fare clic su OK per ripristinare il database.

Esaminare gli oggetti di database

Verificare che gli oggetti di database esistano nell'istanza di SQL Server con SQL Server Management Studio. Si dovrebbero vedere il database, le tabelle, le funzioni e le stored procedure.

rsql_devtut_BrowseTables

Oggetti nel database NYCTaxi_Sample

La tabella seguente riepiloga gli oggetti creati nel database demo NYC Taxi.

Nome oggetto Tipo oggetto Descrizione
NYCTaxi_Sample database Crea un database e due tabelle:

Tabella dbo.nyctaxi_sample: contiene il set di dati NYC Taxi principale. Alla tabella viene aggiunto un indice columnstore cluster per migliorare le prestazioni di archiviazione e query. Un campione dell'1% del set di dati NYC Taxi è inserito in questa tabella.

Tabella dbo.nyc_taxi_models: viene usata per salvare il modello di analisi avanzata sottoposto a training.
fnCalculateDistance funzione a valori scalari Calcola la distanza diretta tra le posizioni di salita e discesa del passeggero. Questa funzione viene usata in Creare funzionalità di dati, Eseguire il training e il salvataggio di un modello e Operazionalizzare il modello R.
fnEngineerFeatures funzione con valori di tabella Crea nuove caratteristiche di dati per il training del modello. Questa funzione viene usata in Creare caratteristiche di dati e Eseguire stime usando R incorporato in una stored procedure.

Le stored procedure vengono create usando script R e Python disponibili in varie esercitazioni. La tabella seguente riepiloga le stored procedure che è possibile aggiungere facoltativamente al database demo NYC Taxi quando si eseguono gli script delle varie lezioni.

Stored procedure Lingua Descrizione
RxPlotHistogram R Chiama la funzione rxHistogram di RevoScaleR per tracciare l'istogramma di una variabile e restituisce il tracciato come oggetto binario. Questa stored procedure viene usata in Esplorare e visualizzare i dati.
RPlotRHist R Crea un elemento grafico tramite la funzione Hist e salva l'output come file PDF locale. Questa stored procedure viene usata in Esplorare e visualizzare i dati.
RxTrainLogitModel R Esegue il training di un modello di regressione logistica mediante la chiamata di un pacchetto R. Il modello consente di prevedere il valore della colonna tipped. Viene eseguito un training usando il 70% dei dati selezionati casualmente. L'output della stored procedure corrisponde al modello con training, che viene salvato nella tabella dbo.nyc_taxi_models. Questa stored procedure viene usata in Eseguire il training e il salvataggio di un modello.
RxPredictBatchOutput R Chiama il modello con training per creare stime tramite il modello. La stored procedure accetta una query come parametro di input e restituisce una colonna di valori numerici contenente i punteggi per le righe di input. Questa stored procedure viene usata in Stimare i risultati potenziali.
RxPredictSingleRow R Chiama il modello con training per creare stime tramite il modello. Questa stored procedure accetta una nuova osservazione come input, con i singoli valori della funzionalità passati come parametri in linea, e restituisce un valore che stima il risultato in base alla nuova osservazione. Questa stored procedure viene usata in Stimare i risultati potenziali.

Eseguire una query sui dati

Come passaggio di convalida, eseguire una query per confermare che i dati sono stati caricati.

  1. In Esplora oggetti, fare clic con il pulsante destro del mouse sul database NYCTaxi_Sample in Database e avviare una nuova query.

  2. Eseguire alcune query semplici:

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

Il database contiene 1,7 milioni di righe.

  1. All'interno del database è presente una tabella dbo.nyctaxi_sample che contiene il set di dati. La tabella è stata ottimizzata per i calcoli basati su set con l'aggiunta di un indice columnstore. Eseguire questa istruzione per generare un breve riepilogo per la tabella.

    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
    

I risultati dovrebbero essere simili a quelli mostrati nello screenshot seguente.

Table summary information

Passaggi successivi

I dati di esempio NYC Taxi sono ora disponibili per l'apprendimento pratico.