分析Code Workbooksテンプレートはじめに

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

はじめに

このチュートリアルでは、次の内容を説明します。

チャートを作成する

titanic_dataset には行(乗客を表す)と列(乗客に関する情報を表す)が含まれているため、棒グラフを使用して、特定の乗客プロパティ(Sex や Pclass など)ごとの乗客の件数を可視化できます。たとえば、次の図は性別ごとの乗客の内訳を示しています。

template-bar-chart

この例では、目的のチャートを作成するトランスフォームを作成します。bar_chart_of_row_counts という名前の Python トランスフォームを作成し、次のコードを挿入します。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 def bar_chart_of_row_counts(titanic_dataset): import matplotlib.pyplot as plt from pyspark.sql import functions as F import numpy as np input_df = titanic_dataset categorical_column = "Sex" # 件数を計算します total = input_df \ .groupBy(categorical_column) \ .agg(F.count("*").alias("count")) \ .orderBy("count") # 集計したデータセットを pandas に変換します total_pdf = total.toPandas() # 描画コード fig = plt.figure() ax = fig.add_subplot(111) y_pos = np.arange(len(total_pdf[categorical_column])) ax.set_yticks(y_pos) ax.barh(y_pos,total_pdf["count"]) ax.set_yticklabels(total_pdf[categorical_column]) plt.xlabel("count") plt.ylabel(categorical_column) plt.tight_layout() plt.show() # データセットとして保存するために、集計したデータフレームを返します return total

このトランスフォームを実行すると、上のチャートが Workbook 内のグラフのトランスフォームノードに表示されます。また、トランスフォームノード内のチャートにカーソルを合わせ、画像を表示を選択すると、全画面の画像表示に切り替えられます。この画像ビューアーには、内容サイドバーと可視化タブからもアクセスできます。

チャートを SVG として作成するには、プロットを作成する前に次のコードを使用します。

Copied!
1 set_output_image_type('svg')

または、より見やすくするためにデコレーターを使用します。

Copied!
1 2 3 @output_image_type('svg') def bar_chart_of_row_counts(titanic_dataset): # ...

テンプレートを作成する

次に、このトランスフォームをテンプレートに変換して、汎用化し、再利用できるようにします。コードエディターの右上にあるアクションボタンをクリックし、Template を作成をクリックします。

creating_a_template_1

全画面エディターのテンプレート作成ビューが表示されます。 テンプレートエディターでは、テンプレートの名前、説明、パラメーターを編集できます。このテンプレートに Bar Chart of Row Counts by Categorical Variable という名前を付け、説明を次のように入力します。Create a transform with a bar chart of the row counts of 1 categorical column in any input dataset.

creating_a_template_2

入力データセット(この場合は titanic_dataset のみ)は、テンプレートの dataset 型のパラメーターとして自動的に追加されます。テンプレートエディターで titanic_dataset をクリックして変更します。このテンプレートは汎用的に使用できるようにするため、パラメーター名を titanic_dataset から input_dataset に変更し、説明を追加します。

creating_a_template_3

トランスフォームのコード内で、{{{input_dataset}}} が使用されている2か所が強調表示されます。次に、入力列をパラメーター化します。コード本文内の変数をテンプレートの入力パラメーターとして割り当てるには、トランスフォームの右上にある新しいパラメータを追加をクリックし、コード内の該当する変数を選択して強調表示します。次の図のように、文字列 "Sex" を選択して強調表示します。

creating_a_template_4

これにより、コードのこの部分が、ソースデータセットを input_dataset とする column 型のパラメーターとして追加されます。テンプレートエディターで、パラメーター名 param1 を編集し、selected_column に変更します。

このサンプルコードでは、列名をトランスフォームの先頭で変数として定義しているため、パラメーター化は1回だけで済みます。ほかのトランスフォームをテンプレート化する場合は、追加ボタンを使用して、同じパラメーターの使用箇所を追加できます。

次に、このテンプレートをデフォルトでデータセットとして保存するかどうかを選択します。データセットとして保存チェックボックスをオンにすると、テンプレートを追加したときに、デフォルトで保存されるトランスフォームとして追加されます。データセットとして保存をオフのままにすると、テンプレートはデフォルトで保存されないトランスフォームとして適用されます。この例では、出力をほかのアプリケーションで使用するため、デフォルトでデータセットとして保存する設定を選択します。

template-persistence

最後に、Template を作成ボタンをクリックして、テンプレートを作成し、保存します。新しいテンプレートを作成する際は、毎回、保存先のフォルダーを選択する必要があります。この例では、テンプレートを個人フォルダに保存できます。

テンプレートを見つけて使用できるのは、アクセス権のあるユーザーのみです。そのため、作業中のテンプレートは個人フォルダに保存し、より広く利用してもらうためにおすすめにしたいときに、共有フォルダーに移動できます。テンプレートはデータカタログに追加することもできます。

テンプレートを使用する

テンプレートを作成して保存した後は、画面上のクリック操作でテンプレートを使用できます。

use-template-initial-screen

利用可能なテンプレートを表示するには、トランスフォーム作成ビューですべてのテンプレートの一覧を見るをクリックします。

template-library

テンプレートの一覧では、名前、説明、タグでテンプレートを検索したり、お気に入り、最近使用したテンプレート、ファイル構造に基づいて一覧を見たりできます。テンプレートを適用するには、その名前をクリックして「選択」を選択します。先ほど作成したテンプレートを追加します。

グラフにテンプレートを追加した後は、トランスフォームの名前を変更し、入力を設定できます。ここをクリックしてデータセットを追加をクリックしてから、グラフ内の titanic_dataset をクリックし、input_dataset パラメーターに割り当てます。これで、任意の列を selected_column パラメーターとして選択して、その列に基づくチャートを作成できます。

実行を選択してトランスフォームを計算します。可視化を出力するトランスフォームの場合、グラフではグラフ表示がデフォルトです。ノードをテーブルとして表示するには、右クリックし、編集、テーブルビューを表示の順に選択します。

テンプレートを編集する

テンプレートの元となるコードを更新するには、アクション、Template を編集の順にクリックし、コードエディターを開いてテンプレートを編集します。

edit-template-button