はじめに: ノートブックから CSV データをインポートして視覚化する

この入門記事では、Databricks ダッシュボードを使用して、CSV health.data.ny.gov の赤ちゃんの名前データを含む ファイルから、Unity Catalog Python、 、R を使用して ボリュームにデータをインポートする方法について説明します。Scalaまた、列名の変更、データの視覚化、およびテーブルへの保存についても学習します。

要件

この記事のタスクを完了するには、次の要件を満たす必要があります。

ヒント

この記事の完成したノートブックについては、 「データのインポートと視覚化ノートブック」を参照してください。

ステップ1: 新しいアカウントを作成する

ワークスペースにノートブックを作成するには:

  1. クリック新しいアイコンサイドバーで[新規] をクリックし、 [ノートブック]をクリックします。

  2. 「ノートブックの作成」ページで、以下の操作を行います。

    • ノートブックの一意の名前を指定します。

    • ノートブックのデフォルトの言語を設定し、プロンプトが表示されたら「確認」をクリックします。

    • [接続]をクリックし、コンピュートリソースを選択します。 新しいコンピュートリソースを作成するには、 「コンピュートの使用」を参照してください。

ノートブックの作成と管理の詳細については、「ノートブックの管理」を参照してください。

ステップ2: 変数を定義する

このステップでは、この記事で作成するサンプル ライブラリで使用する変数を定義します。

  1. 次のコードをコピーして、新しい空のノートブック セルに貼り付けます。 <catalog-name><schema-name><volume-name> をUnity Catalogボリュームのカタログ名、スキーマ名、ボリューム名に置き換えます。 <table_name> を任意のテーブル名に置き換えます。赤ちゃんの名前のデータは、この記事の後半でこのテーブルに保存します。

  2. Shift+Enterを押すとセルが実行され、新しい空白のセルが作成されます。

    catalog = "<catalog_name>"
    schema = "<schema_name>"
    volume = "<volume_name>"
    download_url = "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    file_name = "baby_names.csv"
    table_name = "baby_names"
    path_volume = "/Volumes/" + catalog + "/" + schema + "/" + volume
    path_tables = catalog + "." + schema
    print(path_tables) # Show the complete path
    print(path_volume) # Show the complete path
    
    val catalog = "<catalog_name>"
    val schema = "<schema_name>"
    val volume = "<volume_name>"
    val download_url = "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    file_name = "baby_names.csv"
    table_name = "baby_names"
    val path_volume = s"/Volumes/$catalog/$schema/$volume"
    val path_tables = s"$catalog.$schema.$table_name"
    print(path_volume) // Show the complete path
    print(path_tables) // Show the complete path
    
    catalog <- "<catalog_name>"
    schema <- "<schema_name>"
    volume <- "<volume_name>"
    download_url <- "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    file_name <- "baby_names.csv"
    table_name <- "baby_names"
    path_volume <- paste("/Volumes/", catalog, "/", schema, "/", volume, sep = "")
    path_tables <- paste(catalog, ".", schema, sep = "")
    print(path_volume) # Show the complete path
    print(path_tables) # Show the complete path
    

ステップ 3: CSVファイルをインポートする

このステップでは、CSV health.data.ny.gov から赤ちゃんの名前データを含む ファイルをUnity Catalog ボリュームにインポートします。

  1. 次のコードをコピーして、新しい空のノートブック セルに貼り付けます。 このコードは 、Databricks dbutuils コマンドを使用して、 rows.csvhealth.data.ny.gov から ファイルを ボリュームにコピーします。Unity Catalog

  2. Shift+Enterを押すとセルが実行され、次のセルに移動します。

    dbutils.fs.cp(f"{download_url}", f"{path_volume}" + "/" + f"{file_name}")
    
    dbutils.fs.cp(download_url, s"$path_volume/$file_name")
    
    dbutils.fs.cp(download_url, paste(path_volume, "/", file_name, sep = ""))
    

ステップ4: CSVデータをDataFrameに読み込む

このステップでは、DataFrame dfCSVUnity Catalogspark.read.csv メソッドを使用して、以前に ボリュームにロードした ファイルから という名前の を作成します。

  1. 次のコードをコピーして、新しい空のノートブック セルに貼り付けます。 このコードは、CSV ファイルから赤ちゃんの名前データを DataFrame dfに読み込みます。

  2. Shift+Enterを押すとセルが実行され、次のセルに移動します。

    df = spark.read.csv(f"{path_volume}/{file_name}",
      header=True,
      inferSchema=True,
      sep=",")
    
    val df = spark.read
      .option("header", "true")
      .option("inferSchema", "true")
      .option("delimiter", ",")
      .csv(s"$path_volume/$file_name")
    
    # Load the SparkR package that is already preinstalled on the cluster.
    library(SparkR)
    
    df <- read.df(paste(path_volume, "/", file_name, sep=""),
      source="csv",
      header = TRUE,
      inferSchema = TRUE,
      delimiter = ",")
    

サポートされている様々なファイル形式からデータを読み込むことができます。

ステップ5: ゲーマーからデータを視覚化する

このステップでは、display() メソッドを使用して、 DataFrameの内容を 1 ページのテーブルに表示し、そのデータを 1 ページのワード クラウド チャートに視覚化します。

  1. 次のコードをコピーして新しい空のノートブック セルに貼り付け、 [セルの実行]をクリックしてデータをテーブルに表示します。

    display(df)
    
    display(df)
    
    display(df)
    
  2. 表の結果を確認します。

  3. [テーブル] タブの横にある [+] をクリックし、 [ビジュアライゼーション]をクリックします。

  4. 視覚化エディターで、 [視覚化タイプ]をクリックし、 [ワード クラウド]が選択されていることを確認します。

  5. [ 単語] 列で、[ First Name ] が選択されていることを確認します。

  6. [周波数制限] で [35] をクリックします。

    ワードクラウドチャート
  7. 保存」をクリックします。

ステップ6: DataFrameテーブルに保存する

重要

DataFrame を Unity Catalog に保存するには、カタログとスキーマに対するCREATEテーブル権限が必要です。 Unity Catalogの権限に関する情報については、 Unity Catalogの権限とセキュリティ保護可能なオブジェクト」および「 Unity Catalogの権限の管理」 、および 「Catalog Explorer でのUnity Catalog権限の管理」を参照してください。

  1. 次のコードをコピーして、空のノートブックのセルに貼り付けます。 このコードは、DataFrame をテーブルに書き込む前に、DataFrame 内の列名のスペースを削除します。 スペースなどの特殊文字は、列名には使用できません。このコードは Apache Spark withColumnRenamed()メソッドを使用します。

    df = df.withColumnRenamed("First Name", "First_Name")
    df.printSchema
    
    val df_Renamed = df.withColumnRenamed("First Name", "First_Name")
    // when modifying a DataFrame in Scala, you must assign it to a new variable
    df_Renamed.printSchema()
    
    df <- withColumnRenamed(df, "First Name", "First_Name")
    printSchema(df)
    
  2. 次のコードをコピーして、空のノートブックのセルに貼り付けます。 このコードは、この記事の冒頭で定義したテーブル名変数を使用して、DataFrame の内容を Unity Catalog 内のテーブルに保存します。

    df.write.saveAsTable(f"{path_tables}" + "." + f"{table_name}")
    
    # To overwrite an existing table, use the following code:
    # df.write.mode("overwrite").saveAsTable(f"{path_tables}" + "." + f"{table_name}")
    
    df_Renamedwrite.saveAsTable(s"$path_tables" + "." + s"$table_name")
    
    // To overwrite an existing table, use the following code:
    // df_Renamed.write.mode("overwrite").saveAsTable(s"$path_tables" + "." + s"$table_name")
    
    saveAsTable(df, paste(path_tables, ".", table_name))
    # To overwrite an existing table, use the following code:
    # saveAsTable(df, paste(path_tables, ".", table_name), mode = "overwrite")
    
  3. テーブルが保存されたことを確認するには、左側のサイドバーで[ カタログ ]をクリックして、カタログエクスプローラUIを開きます。 カタログを開き、スキーマを開いて、テーブルが表示されることを確認します。

  4. テーブルをクリックすると、 [概要]タブにテーブル スキーマが表示されます。

  5. 「サンプル・データ」をクリックして、表から100行のデータを表示します。

データノートブックをインポートして視覚化する

この「はじめに」記事のステップを実行するには、次の手順に従ってください。

使って からデータをインポートするCSVPython

ノートブックを新しいタブで開く

使って からデータをインポートするCSVScala

ノートブックを新しいタブで開く

Rを使用してCSVからデータをインポートする

ノートブックを新しいタブで開く