Analisar dados numa conta de armazenamento

Neste tutorial, irá aprender a analisar dados localizados numa conta de armazenamento.

Descrição Geral

Até agora, abordámos cenários em que os dados residem em bases de dados na área de trabalho. Agora, vamos mostrar-lhe como trabalhar com ficheiros em contas de armazenamento. Neste cenário, vamos utilizar a conta de armazenamento primária da área de trabalho e do contentor que especificámos ao criar a área de trabalho.

  • O nome da conta de armazenamento: contosolake
  • O nome do contentor na conta de armazenamento: utilizadores

Criar ficheiros CSV e Parquet na conta de armazenamento

Execute o seguinte código num bloco de notas numa nova célula de código. Cria um ficheiro CSV e um ficheiro parquet na conta de armazenamento.

%%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")

Analisar dados numa conta de armazenamento

Pode analisar os dados na conta predefinida do ADLS Gen2 da área de trabalho ou ligar uma conta de armazenamento de Blobs ou ADLS Gen2 à sua área de trabalho através de "Gerir" > "Serviços Ligados" "Novo" > (os passos abaixo referem-se à conta principal do ADLS Gen2).

  1. Em Synapse Studio, aceda ao Data Hub e, em seguida, selecione Ligado.

  2. Aceda a Azure Data Lake Storage Gen2>myworkspace (Principal - contosolake).

  3. Selecione utilizadores (Primário). Deverá ver a pasta NYCTaxi . No interior deverá ver duas pastas chamadas PassengerCountStats_csvformat e PassengerCountStats_parquetformat.

  4. Abra a pasta PassengerCountStats_parquetformat . No interior, verá um ficheiro parquet com um nome como part-00000-2638e00c-0790-496b-a523-578da9a15019-c000.snappy.parquet.

  5. Clique com o botão direito do rato em .parquet e, em seguida, selecione Novo bloco de notas e, em seguida, selecione Carregar para DataFrame. É criado um novo bloco de notas com uma célula como esta:

    %%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. Anexe ao conjunto do Spark com o nome Spark1. Execute a célula. Se encontrar um erro relacionado com a falta de núcleos, este conjunto de spark poderá ser utilizado por outra sessão. Cancele todas as sessões existentes e repita.

  7. Selecione novamente para a pasta utilizadores . Clique novamente com o botão direito do rato no ficheiro .parquet e, em seguida, selecione Novo script> SQLSELECT TOP 100 linhas. Cria um script SQL como este:

    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]
    

    Na janela do script, certifique-se de que o campo Ligar ao está definido para o conjunto de SQL sem servidor incorporado.

  8. Execute o script.

Passos seguintes