Megosztás a következőn keresztül:


Az adatfolyam forrásadatainak megismerése

Az adatfolyamok létrehozásának egyik gyakori első lépése a folyamat forrásadatainak megértése. Ebben a lépésben Databricks Utilities és PySpark parancsokat fog futtatni egy jegyzetfüzetben a forrásadatok és összetevők vizsgálatához.

A feltáró adatelemzésről további információt az Azure Databricks feltáró adatelemzése: Eszközök és technikák című témakörben talál.

Videó: A Databricks-jegyzetfüzetek bemutatása

A Databricks-jegyzetfüzetek bemutatásához tekintse meg ezt a videót:

Adatfeltárási jegyzetfüzet létrehozása

  1. Az oldalsávon kattintson az Új gombraÚj ikon, és válassza a Jegyzetfüzet lehetőséget a menüből. A jegyzetfüzet megnyílik egy alapértelmezett névvel, amelyet lecserélhet.

  2. Adja meg például a jegyzetfüzet Explore songs datanevét. Alapértelmezés szerint:

    • A Python a kiválasztott nyelv.
    • A jegyzetfüzet az utolsó használt fürthöz van csatolva. Ebben az esetben az 1. lépésben létrehozott fürt: Fürt létrehozása.
  3. Az adathalmazt tartalmazó könyvtár tartalmának megtekintéséhez írja be a következőt a jegyzetfüzet első cellájába, kattintson Futtatási menüa gombra, és válassza a Cella futtatása lehetőséget.

    %fs ls "/databricks-datasets/songs"
    
    ösvény név Méret 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

Az adatok feltárása

  1. A README fájl információkat tartalmaz az adatkészletről, beleértve az adatséma leírását is. A sémainformációk a következő lépésben lesznek felhasználva az adatok betöltésekor. A README tartalmának megtekintéséhez kattintson Down Caret a Cellaműveletek menüre, válassza az Alábbi cella hozzáadása lehetőséget, írja be a következőt az új cellába, kattintson a gombraFuttatási menü, és válassza a Cella futtatása parancsot.

    %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. A példában használt rekordok a /databricks-datasets/songs/data-001/ könyvtárban találhatók. A könyvtár tartalmának megtekintéséhez kattintson Down Caret a cellaműveletek menüre, válassza az Alábbi cella hozzáadása lehetőséget, írja be a következőt az új cellába, kattintson a gombraFuttatási menü, és válassza a Cella futtatása parancsot.

    %fs ls "/databricks-datasets/songs/data-001"
    
    ösvény név Méret modificationTime
    dbfs:/databricks-datasets/songs/data-001/header.txt header.txt 377 1454633901000
    dbfs:/databricks-datasets/songs/data-001/part-00000 rész-000000 52837 1454547464000
    dbfs:/databricks-datasets/songs/data-001/part-00001 part-000001 52469 1454547465000
  3. Mivel a README és a fájlnevek nem jelzik a fájlformátumot, megtekintheti a rekordok mintáját, hogy jobban megértse az egyes rekordok tartalmát és formátumát. Az egyik adatfájl első tíz rekordjának olvasásához és megjelenítéséhez kattintson Down Caret a cellaműveletek menübe, válassza az Alábbi cella hozzáadása lehetőséget, írja be a következőt az új cellába, kattintson a gombraFuttatási menü, és válassza a Cella futtatása parancsot.

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

    Az adatokkal kapcsolatos néhány dolgot megfigyelhet a rekordok mintájának megtekintéséből. Ezeket a megfigyeléseket később fogja használni az adatok feldolgozásakor:

    • A rekordok nem tartalmaznak fejlécet. Ehelyett a fejléc egy külön fájlban, ugyanabban a könyvtárban van tárolva.
      • Úgy tűnik, hogy a fájlok tabulátorral tagolt (TSV) formátumban jelennek meg.
      • Egyes mezők hiányoznak vagy érvénytelenek.
  4. Az adatok további feltárásához és elemzéséhez használja ezeket a megfigyeléseket a TSV formátumú daladatok PySpark DataFrame-be való betöltéséhez. Ehhez kattintson Down Careta Cellaműveletek menüre, válassza az Alábbi cella hozzáadása lehetőséget, írja be a következő kódot az új cellába, majd kattintson a Cella futtatása parancsraFuttatási menü>.

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

    Mivel az adatfájlból hiányzik egy fejléc, az oszlopnevek így jelennek meg _c0: , _c1és így tovább. A rendszer minden oszlopot string a tényleges adattípustól függetlenül értelmez. A következő lépésben a nyers adatok betöltése azt mutatja be, hogyan szabhat ki érvényes sémát az adatok betöltésekor.

    Nyers dalok adataiból létrehozott DataFrame