Condividi tramite


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

  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, è possibile che un'altra sessione stia usando il 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.

Passaggi successivi