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
Na pasku bocznym kliknij pozycję Nowy i wybierz pozycję Notes z menu. Notes zostanie otwarty z nazwą domyślną, którą można zamienić.
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.
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ę Uruchom 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
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 w menu akcji komórki, wybierz pozycję Dodaj komórkę poniżej, wprowadź następujące polecenie w nowej komórce, kliknij pozycję , 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 ...
Rekordy używane w tym przykładzie
/databricks-datasets/songs/data-001/
znajdują się w katalogu . Aby wyświetlić zawartość tego katalogu, kliknij w menu akcji komórek, wybierz pozycję Dodaj komórkę poniżej, wprowadź następujące polecenie w nowej komórce, kliknij pozycję , 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 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 w menu akcji komórki, wybierz pozycję Dodaj komórkę poniżej, wprowadź następujące polecenie w nowej komórce, kliknij pozycję 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.
- Rekordy nie zawierają nagłówka. Zamiast tego nagłówek jest przechowywany w osobnym pliku w tym samym katalogu.
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 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 przycisk> 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
,_c1
itd. Każda kolumna jest interpretowana jakostring
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.