Udostępnij za pośrednictwem


Eksplorowanie danych źródłowych dla potoku danych

Typowym pierwszym krokiem tworzenia potoku danych jest zrozumienie danych źródłowych potoku. W tym kroku uruchomisz polecenia Databricks Utilities i PySpark w notesie, aby zbadać dane źródłowe i artefakty.

Aby dowiedzieć się więcej na temat eksploracyjnej analizy danych, zobacz Eksploracyjna analiza danych w usłudze Azure Databricks: narzędzia i techniki.

Wideo: Wprowadzenie do notesów usługi Databricks

Aby zapoznać się z wprowadzeniem do notesów usługi Databricks, obejrzyj ten film wideo:

Tworzenie notesu eksploracji danych

  1. Na pasku bocznym kliknij pozycję Nowa ikona Nowy i wybierz pozycję Notes z menu. Notes zostanie otwarty z nazwą domyślną, którą można zamienić.

  2. Wprowadź nazwę notesu, na przykład Explore songs data. Domyślnie:

    • Język Python jest wybranym językiem.
    • Notes jest dołączony do ostatniego użytego klastra. W takim przypadku klaster utworzony w kroku 1: Tworzenie klastra.
  3. Aby wyświetlić zawartość katalogu zawierającego zestaw danych, wprowadź następujące polecenie w pierwszej komórce notesu, kliknij pozycję , a następnie wybierz pozycję Menu UruchamianiaUruchom komórkę.

    %fs ls "/databricks-datasets/songs"
    
    path name size modificationTime
    dbfs:/databricks-datasets/songs/README.md README.md 1719 1454620183000
    dbfs:/databricks-datasets/songs/data-001/ data-001/ 0 1672791237846
    dbfs:/databricks-datasets/songs/data-002/ data-002/ 0 1672791237846

Eksplorowanie danych

  1. Plik README zawiera informacje o zestawie danych, w tym opis schematu danych. Informacje o schemacie są używane w następnym kroku podczas pozyskiwania danych. Aby wyświetlić zawartość pliku README, kliknij Daszek w dółw menu akcji komórki, wybierz pozycję Dodaj komórkę poniżej, wprowadź następujące polecenie w nowej komórce, kliknij pozycjęMenu Uruchamiania , a następnie wybierz pozycję Uruchom komórkę.

    %fs head --maxBytes=10000 "/databricks-datasets/songs/README.md"
    
    Sample of Million Song Dataset
    ===============================
    
    ## Source
    This data is a small subset of the [Million Song Dataset](http://labrosa.ee.columbia.edu/millionsong/).
    The original data was contributed by The Echo Nest.
    Prepared by T. Bertin-Mahieux <tb2332 '@' columbia.edu>
    
    ## Attribute Information
    - artist_id:string
    - artist_latitude:double
    - artist_longitude:double
    - artist_location:string
    - artist_name:string
    - duration:double
    - end_of_fade_in:double
    - key:int
    - key_confidence:double
    - loudness:double
    - release:string
    - song_hotnes:double
    - song_id:string
    - start_of_fade_out:double
    - tempo:double
    - time_signature:double
    - time_signature_confidence:double
    - title:string
    - year:double
    - partial_sequence:int
    ...
    
  2. Rekordy używane w tym przykładzie /databricks-datasets/songs/data-001/ znajdują się w katalogu . Aby wyświetlić zawartość tego katalogu, kliknij Daszek w dółw menu akcji komórek, wybierz pozycję Dodaj komórkę poniżej, wprowadź następujące polecenie w nowej komórce, kliknij pozycjęMenu Uruchamiania , a następnie wybierz pozycję Uruchom komórkę.

    %fs ls "/databricks-datasets/songs/data-001"
    
    path name size modificationTime
    dbfs:/databricks-datasets/songs/data-001/header.txt header.txt 377 1454633901000
    dbfs:/databricks-datasets/songs/data-001/part-0000 część-00000 52837 1454547464000
    dbfs:/databricks-datasets/songs/data-001/part-00001 część-00001 52469 1454547465000
  3. Ponieważ pliki README i nazwy plików nie wskazują formatu pliku, można wyświetlić próbkę rekordów, aby lepiej zrozumieć zawartość i format każdego rekordu. Aby odczytać i wyświetlić pierwsze dziesięć rekordów z jednego z plików danych, kliknij Daszek w dółw menu akcji komórki, wybierz pozycję Dodaj komórkę poniżej, wprowadź następujące polecenie w nowej komórce, kliknij pozycjęMenu Uruchamiania i wybierz pozycję Uruchom komórkę.

    %fs head --maxBytes=10000 "/databricks-datasets/songs/data-001/part-00000"
    
     AR81V6H1187FB48872  nan     nan             Earl Sixteen    213.7073        0.0     11      0.419   -12.106 Soldier of Jah Army     nan     SOVNZSZ12AB018A9B8      208.289 125.882 1       0.0     Rastaman        2003    --
     ARVVZQP11E2835DBCB  nan     nan             Wavves  133.25016       0.0     0       0.282   0.596   Wavvves 0.471578247701  SOJTQHQ12A8C143C5F      128.116 89.519  1       0.0     I Want To See You (And Go To The Movies)        2009    --
     ARFG9M11187FB3BBCB  nan     nan     Nashua USA      C-Side  247.32689       0.0     9       0.612   -4.896  Santa Festival Compilation 2008 vol.1   nan     SOAJSQL12AB0180501      242.196 171.278 5       1.0     Loose on the Dancefloor 0       225261
     ...
    

    Możesz obserwować kilka kwestii dotyczących danych, wyświetlając próbkę rekordów. Te obserwacje będą używane później podczas przetwarzania danych:

    • Rekordy nie zawierają nagłówka. Zamiast tego nagłówek jest przechowywany w osobnym pliku w tym samym katalogu.
      • Pliki wydają się być w formacie wartości rozdzielanej tabulatorami (TSV).
      • Brakuje niektórych pól lub są one nieprawidłowe.
  4. Aby dokładniej eksplorować i analizować dane, użyj tych obserwacji, aby załadować sformatowane dane piosenek TSV do ramki danych PySpark. Aby to zrobić, kliknij Daszek w dółw menu akcji komórki, wybierz pozycję Dodaj komórkę poniżej, wprowadź następujący kod w nowej komórce, a następnie kliknij przyciskMenu Uruchamiania> Uruchom komórkę.

    df = spark.read.format('csv').option("sep", "\t").load('dbfs:/databricks-datasets/songs/data-001/part-00000')
    df.display()
    

    Ponieważ w pliku danych brakuje nagłówka, nazwy kolumn są wyświetlane jako _c0, _c1itd. Każda kolumna jest interpretowana jako string niezależnie od rzeczywistego typu danych. Pozyskiwanie danych pierwotnych w następnym kroku pokazuje przykład sposobu, w jaki można nałożyć prawidłowy schemat podczas ładowania danych.

    Ramka danych utworzona na podstawie nieprzetworzonych danych utworów