注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
このチュートリアルでは、以下の内容を実行します。
titanic_dataset
は、行(乗客を表す)と列(乗客に関する情報を表す)を含んでいるため、棒グラフを使って、特定の乗客の属性(Sex や Pclass など)に対する乗客数を可視化することができます。たとえば、以下は性別別の乗客の内訳です。
この例では、所望のチャートを作成するトランスフォームを作成します。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
このトランスフォームを実行すると、上に示したチャートがワークブックのトランスフォームノードのグラフに表示されます。トランスフォームノード内のチャートにマウスオーバーして View Image を選択することで、フルスクリーンの画像ビューに移動することもできます。この画像ビューアは、コンテンツサイドバーと Visualization タブからもアクセスできます。
チャートを SVG として作成するには、プロットを作成する前に以下のコードを使用してください:
Copied!1 2
# 出力画像のタイプを'svg'に設定します set_output_image_type('svg')
または、より良い可視性のためにデコレーターを使用します:
Copied!1 2 3 4 5
# 'svg'という形式で出力する画像のタイプを指定します @output_image_type('svg') def bar_chart_of_row_counts(titanic_dataset): # ここにコードを書く # ...
次に、この変換をテンプレートに変換して、一般化して再利用できるようにします。コードエディターの右上にあるActionsボタンをクリックし、Create templateをクリックします。
これで、フルスクリーンエディターのテンプレート作成ビューに移動します。
テンプレートエディターでは、テンプレートの名前、説明、パラメーターを編集できます。このテンプレートの名前を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.
任意の入力データセット - この場合は titanic_dataset
のみ - は、テンプレートの dataset
型のパラメーターとして自動的に追加されます。テンプレートエディターで titanic_dataset
をクリックして変更します。このテンプレートを汎用的に使いたいので、パラメーター名を titanic_dataset
から input_dataset
に変更し、説明を追加します。
変換コード内の {{{input_dataset}}}
の2つのインスタンスがハイライト表示されます。次に、入力列をパラメータ化しましょう。コード本文内の変数をテンプレートの入力パラメーターとして割り当てるには、変換の右上にある Add new parameter をクリックして、コード内の適切な変数をハイライトします。以下のように "Sex"
をハイライトします:
これにより、このコードの一部が、ソースデータセットが input_dataset
の 行
型のパラメーターとして追加されます。テンプレートエディターで、 param1
パラメーター名を編集し、それを selected_column
に変更します。
この例のコードでは、最初の変換で列名を変数として定義しているため、一度だけパラメータ化する必要があります。他の変換をテンプレート化するときは、 Add ボタンを使用して同じパラメーターのインスタンスを追加できます。
次に、このテンプレートをデフォルトでデータセットとして保存するかどうかを選択します。 Save as dataset ボックスをチェックすると、テンプレートが追加されたときに、デフォルトで永続化された変換として追加されます。 Save as dataset がチェックされていない場合、テンプレートはデフォルトで永続化されていない変換として適用されます。今回は、出力を他のアプリケーションで使用したいので、デフォルトでデータセットとして保存を選択しましょう。
最後に、Create template ボタンをクリックしてテンプレートを作成し保存します。新しいテンプレートを作成するたびに、それを保存するフォルダーを選択する必要があります。この例では、ホームフォルダーにテンプレートを保存できます。
テンプレートは、アクセス権を持つユーザーだけが発見して使用できるため、作業中はホームフォルダーにテンプレートを保存し、広範囲に普及させたいときに共有フォルダーに移動できます。テンプレートは、Data Catalogにも追加できます。
テンプレートを作成して保存した後、テンプレートをポイントアンドクリックの方法で使用できます。
利用可能なテンプレートを表示するには、変換作成ビューで Browse all templates をクリックします。
Browse Templatesでは、テンプレートを名前、説明、タグで検索したり、Favorites、Recently used templates、またはFiles structureに基づいてブラウズしたりできます。テンプレートを適用するには、その名前をクリックし、"Select"を選択します。作成したばかりのテンプレートを追加しましょう。
テンプレートをグラフに追加した後、変換の名前を変更し、入力を記入できます。input_dataset
パラメーターを割り当てるには、Click here to add dataset をクリックし、グラフ内の titanic_dataset
をクリックします。これで、任意の列を selected_column
パラメーターとして選択し、その列に基づいたチャートを作成できます。
Run を選択して変換を計算します。出力が可視化の変換の場合、グラフビューはGraphのデフォルトです。右クリックし、Edit を選択し、次に Show table view を選択すると、ノードをテーブルとして表示できます。
テンプレートの背後にあるコードを更新したい場合は、Actions をクリックし、次に Edit Template をクリックしてコードエディターに入り、テンプレートを編集します。