メインコンテンツまでスキップ

データパイプラインのソース データを探索する

データパイプラインを作成する一般的な最初のステップは、パイプラインのソースデータを理解することです。 この手順では、ノートブックで Databricks ユーティリティと PySpark コマンドを実行して、ソース データとアーティファクトを調べます。

探索的データ分析の詳細については、「 Databricks での探索的データ分析: ツールと手法」を参照してください。

データ探索ノートブックを作成する

  1. サイドバーで、[新しいアイコン 新規] をクリックし、メニューから[ノートブック] を選択します。ノートブックが開き、置き換えることができるデフォルト名が表示されます。

  2. ノートブックの名前を入力します(例:Explore songs data)。デフォルトでは、

  3. データセットを含むディレクトリの内容を表示するには、ノートブックの最初のセルに次のように入力し、 実行メニューをクリックして、 [セルの実行] を選択します。

    Bash
    %fs ls "/databricks-datasets/songs"

    パス

    name

    サイズ

    modification時間

    dbfs:/databricks-データセット/songs/README.md

    README.md

    1719

    1454620183000

    dbfs:/databricks-データセット/songs/data-001/

    データ-001/

    0

    1672791237846

    dbfs:/databricks-データセット/songs/data-002/

    データ-002/

    0

    1672791237846

データの探索

  1. README ファイルには、データ スキーマの説明など、データセットに関する情報が含まれています。 スキーマ情報は、次の手順でデータを取り込むときに使用されます。 READMEの内容を表示するには、セル・アクション・メニューの「 ダウンキャレット 」をクリックし、「 セルを下に追加 」を選択し、新しいセルに次のように入力して「 実行メニュー」をクリックし、「 セルの実行」 を選択します。

    Bash
    %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. この例で使用するレコードは、 /databricks-datasets/songs/data-001/ ディレクトリにあります。 このディレクトリの内容を表示するには、セル・アクション・メニューで「 ダウンキャレット 」をクリックし、「 セルを下に追加 」を選択し、新しいセルに次のように入力して「 実行メニュー」をクリックし、「 セルの実行」 を選択します。

    Bash
    %fs ls "/databricks-datasets/songs/data-001"

    パス

    name

    サイズ

    modification時間

    dbfs:/databricks-データセット/songs/data-001/header.txt

    header.txt

    377

    1454633901000

    dbfs:/databricks-データセット/songs/data-001/part-00000

    部品-00000

    52837

    1454547464000

    dbfs:/databricks-データセット/songs/data-001/part-00001

    部品-00001

    52469

    1454547465000

  3. README とファイル名はファイル形式を示していないため、レコードのサンプルを表示して、各レコードの内容と形式をよりよく理解できます。 データ・ファイルの 1 つから最初の 10 個のレコードを読み取って表示するには、セル・アクション・メニューの「 ダウンキャレット 」をクリックし、「 セルを下に追加 」を選択し、新しいセルに次のように入力して「 実行メニュー」をクリックし、「 セルの実行」 を選択します。

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

    レコードのサンプルを表示することで、データに関するいくつかのことを観察できます。 これらの観測値は、後でデータを処理するときに使用します。

    • レコードにヘッダーが含まれていません。 代わりに、ヘッダーは同じディレクトリ内の別のファイルに格納されます。
      • ファイルはタブ区切り値 (TSV) 形式で表示されます。
      • 一部のフィールドが欠落しているか、無効です。
  4. データをさらに調査して分析するには、これらの観測値を使用して、TSV 形式の曲データを PySpark データフレーム に読み込みます。 ダウンキャレットこれを行うには、セルアクションメニューの「 」をクリックし、「下にセルを追加」 を選択し、新しいセルに次のコードを入力して、「 セルの実行 」実行メニュー >をクリックします。

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

    データ・ファイルにはヘッダーがないため、列名は _c0_c1などと表示されます。 各列は、実際のデータ型に関係なく、 string として解釈されます。 次の手順での生データの取り込みは、データを読み込むときに有効なスキーマを適用する方法の例を示しています。

    生の曲データから作成された データフレーム