Condividi tramite


Esercitazione: Analizzare i dati in un account di archiviazione

In questa esercitazione si apprenderà ad analizzare i dati presenti in un account di archiviazione.

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).

  1. In Synapse Studio passare all'hub Data (Dati) e quindi selezionare Linked (Collegati).

  2. Passare ad Azure Data Lake Storage Gen2>myworkspace (primario - contosolake).

  3. Selezionare utenti (Primario). Verrà visualizzata la cartella NYCTaxi. All'interno dovrebbero essere visibili due cartelle denominate PassengerCountStats_csvformat e PassengerCountStats_parquetformat.

  4. 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.

  5. 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))
    
  6. Collegarsi al pool di Spark denominato Spark1. Eseguire la cella. Se si verifica un errore correlato alla mancanza di core, un'altra sessione potrebbe usare questo pool di spark. Annullare tutte le sessioni esistenti e riprovare.

  7. 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.

  8. Eseguire lo script.

Passaggio successivo