Analizzare i dati in un account di archiviazione
In questa esercitazione si apprenderà ad analizzare i dati presenti in un account di archiviazione.
Panoramica
Fino a questo momento sono stati illustrati gli scenari in cui i dati risiedono nei database nell'area di lavoro. Verrà ora illustrato come usare i file negli account di archiviazione. In questo scenario viene usato l'account di archiviazione primario dell'area di lavoro e il contenitore specificato durante la creazione dell'area di lavoro stessa.
- Nome dell'account di archiviazione: contosolake
- Nome del contenitore nell'account di archiviazione: users
Creare file CSV e Parquet nell'account di archiviazione
Eseguire il codice seguente in un notebook in una nuova cella di codice. per creare un file CSV e un file Parquet nell'account di archiviazione.
Suggerimento
Questa tabella è stata creata in precedenza nella guida introduttiva ed è possibile trovare i passaggi qui.
%%pyspark
df = spark.sql("SELECT * FROM nyctaxi.passengercountstats")
df = df.repartition(1) # This ensures we'll get a single file during write()
df.write.mode("overwrite").csv("/NYCTaxi/PassengerCountStats_csvformat")
df.write.mode("overwrite").parquet("/NYCTaxi/PassengerCountStats_parquetformat")
Analizzare i dati in un account di archiviazione
È possibile analizzare i dati nell'account di Azure Data Lake Storage (ADLS) Gen2 predefinito dell'area di lavoro oppure collegare un account di archiviazione ADLS Gen2 o BLOB all'area di lavoro selezionando "Gestisci” > “Servizi collegati” > “Nuovo" (la procedura seguente fa riferimento all'account ADLS Gen2 primario).
In Synapse Studio passare all'hub Data (Dati) e quindi selezionare Linked (Collegati).
Passare ad Azure Data Lake Storage Gen2>myworkspace (primario - contosolake).
Selezionare utenti (Primario). Verrà visualizzata la cartella NYCTaxi. All'interno dovrebbero essere visibili due cartelle denominate PassengerCountStats_csvformat e PassengerCountStats_parquetformat.
Aprire la cartella PassengerCountStats_parquetformat. All'interno è presente un file parquet con un nome simile a
part-00000-2638e00c-0790-496b-a523-578da9a15019-c000.snappy.parquet
.Fare clic con il pulsante destro del mouse su parquet, quindi scegliere Nuovo notebook, quindi selezionare Carica nel dataframe. Viene creato un nuovo notebook con una cella simile alla seguente:
%%pyspark abspath = 'abfss://users@contosolake.dfs.core.windows.net/NYCTaxi/PassengerCountStats_parquetformat/part-00000-1f251a58-d8ac-4972-9215-8d528d490690-c000.snappy.parquet' df = spark.read.load(abspath, format='parquet') display(df.limit(10))
Collegarsi al pool di Spark denominato Spark1. Eseguire la cella. Se si verifica un errore correlato alla mancanza di core, è possibile che un'altra sessione stia usando il pool di Spark. Annullare tutte le sessioni esistenti e riprovare.
Selezionare nuovamente la cartella utenti. Fare nuovamente clic con il pulsante destro del mouse sul file .parquet e selezionare Nuovo SQL Script>Seleziona prime 100 righe. Verrà creato uno script SQL simile al seguente:
SELECT TOP 100 * FROM OPENROWSET( BULK 'https://contosolake.dfs.core.windows.net/users/NYCTaxi/PassengerCountStats_parquetformat/part-00000-1f251a58-d8ac-4972-9215-8d528d490690-c000.snappy.parquet', FORMAT='PARQUET' ) AS [result]
Nella finestra dello script verificare che il campo Connetti a è impostato sul pool SQL serverless Predefinito.
Eseguire lo script.