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 di 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 i seguenti articoli:

Scarica i file

Il database di esempio è un file di backup (.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.

  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. Dovresti vedere il database, le tabelle, le funzioni e le procedure memorizzate.

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 clusterizzato per migliorare le prestazioni di archiviazione e delle query. Un campione dell'1% del set di dati NYC Taxi è inserito in questa tabella.

dbo.nyc_taxi_models tabella: utilizzata per memorizzare il modello addestrato di analisi avanzata.
fnCalculateDistance funzione a valori scalari Calcola la distanza diretta tra i punti di prelievo e di consegna. 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 utilizzata in Creare feature dei dati e Rendere operativo il modello R.

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

Procedura memorizzata 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 utilizzata in Esplora e visualizza i dati.
RPlotRHist R Crea un elemento grafico tramite la funzione Hist e salva l'output come file PDF locale. Questa stored procedure viene utilizzata 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 è il modello addestrato, 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 Richiama il modello addestrato per generare previsioni. 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 utilizzata in Predict potential outcomes.
RxPredictSingleRow R Chiama il modello addestrato per creare previsioni utilizzando il modello stesso. Questa stored procedure accetta in input una nuova osservazione, con i singoli valori delle caratteristiche passati come parametri inline, e restituisce un valore che predice l'esito della nuova osservazione. Questa stored procedure viene utilizzata in Prevedere i possibili risultati.

Eseguire una query sui dati

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

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

  2. Eseguire alcune query di base:

    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. Esegui questa istruzione per generare un riepilogo rapido della 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.

Informazioni di riepilogo della tabella