GUI の ETL ツール Google Cloud Dataprep by Trifacta を使ってみた
- Google Cloud
- ユースカジノ twitter分析
- AI/ML
- エンジニア
投稿日:
はじめに
Google Cloud Dataprep by Trifacta(以下、Dataprep と呼称します。)は、Google と Trifacta が連携して提供する GUI の ETL ツールです。
本記事では、Dataprep のクイックスタートの手順を参考にハンズオンを実施し、Dataprep の基本的な使い方とその利便性について確認します。
事前準備
- Google Cloud のプロジェクトを作成し、課金を有効化します。
- 下記 サービスと API を有効化します。
- Dataflow
- BigQuery
- Cloud Storage APIs
ここでは詳細な手順は割愛します。Google の公式ドキュメントを参照してください。
参考:Google Cloud プロジェクトをセットアップする
参考:API を有効にしています
手順
1. Dataprep の有効化
はじめにでお伝えした通り、Dataprep は Google と Trifacta が連携して提供しています。
そのため、利用にあたっては Trifacta によるプロジェクト内のユースカジノ twitterへのアクセス等を許可する必要があります。
本手順では、Dataprep の利用開始に伴い必要な操作を解説します。
1-1. 各種同意及び許可
Dataprep を初めて利用する場合は、以下の確認画面が表示されるため、利用規約を確認して同意します。
続けて Google から Trifacta への情報提供や、Trifacta によるプロジェクト内のユースカジノ twitterへのアクセスについて確認画面が表示されるため、同意します。
Dataprep へログインします。
1-2. ステージングバケットの設定
Dataprep の利用にあたり、Dataprep 内で利用するユースカジノ twitterを保存するためのストレージ(ステージングバケット)を設定する必要があります。
デフォルトでは US リージョンに自動で作成されるため、デフォルトのままステージングバケットを設定します。
ステージングバケットの設定が完了すると、Dataprep が利用可能となります。
2. フローの作成
Dataprep では、どの元ユースカジノ twitter(ユースカジノ twitterセット)に対し、どんな処理(レシピ)を実施し、どのようにアウトプットするのかを定義したものをフローと呼びます。
本手順では、フローを作成する方法について解説します。
2-1. フローの作成
Dataprep のコンソール画面にて、左側のナビゲーションバーからFlowsユースカジノ twitter。
CreateからBlank Flowを選択してフローを作成します。
2-2. フロー名の編集
フローの名称や説明は、フロー名を選択することで編集できます。
クイックスタートでは、米国連邦選挙委員会の 2016 年のユースカジノ twitterを利用しているため、名前と説明をそのように編集します。
3. ユースカジノ twitterセットのインポート
本手順では、フローで処理する元ユースカジノ twitter(ユースカジノ twitterセット)のインポートの方法を解説します。
3-1. ユースカジノ twitterセットの選択
フロー画面にてDatasetの+ユースカジノ twitter。
利用可能なユースカジノ twitterセットが表示されますが、今回は新たにインポートするため、Import datasetsユースカジノ twitter。
3-2. ユースカジノ twitterセットのインポート
ユースカジノ twitterセットのインポート画面からCloud Storageを選択し、検索欄に今回インポートするユースカジノ twitterが保存されているバケットのパスgs://dataprep-samples/us-fecを入力してGoユースカジノ twitter。
cn-2016.txtとitcont-2016.txtの 2 つのファイルを選択し、それぞれユースカジノ twitterセット名をCandidate Master 2016とCampaign Contributions 2016に変更した後、Import & Add to Flowユースカジノ twitter。
なお、Candidate Master 2016は候補者マスターユースカジノ twitter、Campaign Contributions 2016は選挙献金ユースカジノ twitterです。
3-3. フローの確認
フローに 2 つのユースカジノ twitterセットが追加されていることを確認します。
1 つめのユースカジノ twitterセットには、デフォルトで空のレシピとアウトプットが追加されています。
4. レシピの作成(その1)
本手順では、候補者マスターユースカジノ twitterに対するレシピ(処理の定義)の作成方法を解説します。
処理の内容としては、候補者マスターユースカジノ twitterから 2016 年の選挙における大統領候補を抽出します。
4-1. レシピの編集
デフォルトで作成された空のレシピを選択し、Edit recipeユースカジノ twitter。
レシピの編集画面では、ユースカジノ twitterセットのプレビューと処理の内容が確認できます。
大規模なユースカジノ twitterセットの場合は、ユースカジノ twitterセットの最初の数行がプレビューとして表示されています。
最初の数行以外を表示したい場合には、initial dataからプレビューの設定を変更できます。
4-2. 年度の抽出
レシピの編集画面では、各列における値の分布をヒストグラムで確認できます。
column2は候補者IDなので、各値が一意であることが分かります。
column5は年度で、カーソルを当てると行数や割合などが確認できます。
ただし、ユースカジノ twitterセット全体ではなく、プレビューとして表示されているユースカジノ twitterの範囲での分布であることに注意してください。
column5にて 2016 年を含んだ範囲のバーを選択すると、Suggestionsが表示されます。
Keep rowsには、選択した範囲でユースカジノ twitterを抽出する式が表示されています。
2016 年のユースカジノ twitterのみを抽出するため、Editユースカジノ twitter。
Conditionの式を 2016 年のユースカジノ twitterのみを抽出するように修正し、Addユースカジノ twitter。
レシピに処理が追加されたことを確認します。
4-3. ユースカジノ twitter型の修正
column6は州ですが、ヒストグラムの上部に赤色のバーが表示されています。
説明文にはmismatched valuesとの記述があります。
赤色のバーを選択した状態で、Show only affected Rowsをチェックすると、原因となっている行が表示されます。
これは、column6のユースカジノ twitter型がState(州)であるのに対し、US(国)やGU(島嶼地域、例:グアム)などが含まれており、ユースカジノ twitter型と不一致しているためです。
cloumn6のユースカジノ twitter型をStirngに変更し、ユースカジノ twitter型との不一致を解消します。
バーが全て緑色になったことを確認します。
4-4. 大統領候補の抽出
column7は候補者が大統領候補(P)なのか、副大統領候補(H)なのかを表します。
P(大統領候補)のバーを選択し、SuggestionsからKeep rowsのAddを選択して大統領候補のみを抽出します。
以上で候補者マスターユースカジノ twitterから 2016 年の大統領候補を抽出するレシピが完成しました。
5. レシピの作成(その2)
本手順では、選挙献金ユースカジノ twitterに対するレシピ(処理の定義)の作成方法を解説します。
処理の内容としては、選挙献金ユースカジノ twitterから余分な区切り文字を削除した後、加工後の候補者マスターユースカジノ twitterと結合し、献金に関するサマリーを生成します。
5-1. レシピの作成
フロー画面にて、2 つ目のユースカジノ twitterセットの+を選択し、Add new Recipeユースカジノ twitter。
5-2. 区切り文字の削除
レシピの編集画面でReplaceのText or patternユースカジノ twitter。
Columnでは、置換する列の選択ができます。
Multipleでは複数の列を、Allではすべての列を、Rangeでは連続する列の範囲を、AdvancedではMultipleとRangeを組み合わせた形で列を指定できます。
Advancedで*を指定してすべての列を対象に設定し、Findに {start}"|"{end} と入力してAddユースカジノ twitter。
{start}は正規表現における^に相当し、{end}は正規表現における$に相当します。
置換後の文字を空欄のままとしているため、"|"に完全一致する値を削除する処理が追加されます。
5-3. ユースカジノ twitterセットの結合
New Stepを選択して表示される検索欄にjoinと入力し、Join datasetsユースカジノ twitter。
Recipes in current flowタブにて、4. レシピの作成(その 1)で作成した候補者マスターユースカジノ twitterのレシピを選択し、Acceptユースカジノ twitter。
Join keysの編集アイコンユースカジノ twitter。
Currentにcolumn2を、Joined-inにcolumn11を指定し、Save and Continue、Nextと選択します。
候補者IDをキーとして 2 つのユースカジノ twitterを結合しています。
結合後のユースカジノ twitterに全ての列を表示するため、全ての列のチェックボックスをチェックし、Review、Add to Recipeと選択します。
レシピに処理が追加され、ユースカジノ twitterが結合されていることを確認します。
5-4. 献金ユースカジノ twitterのサマライズ
New Stepを選択して表示される検索欄にpivotと入力し、Pivotユースカジノ twitter。
Row labelsに以下の行を指定します。
それぞれ候補者ID、候補者名、所属政党、献金者です。
- column2
- column24
- column8
- column9
Valuesには以下の式を入力します。
それぞれ合計献金額、平均献金額、献金回数です。
- SUM(column16)
- average(column16)
- 0)
Addを選択しユースカジノ twitterをサマライズします。
5-5. 列名の編集
New Stepを選択して表示される検索欄にrenameと入力し、Rename columnsユースカジノ twitter。
OptionにManual renameを選択し、以下の通りに各列名を変更しAddユースカジノ twitter。
変更前 | 変更後 |
---|---|
column2 | Candidate_ID |
column24 | Candidate_Name |
column8 | Party_Affiliation |
column9 | Donor_Name |
sum_column16 | Total_Contribution_Sum |
average_column16 | Average_Contribution_Sum |
contif | Number_of_Contributions |
5-6. 端数処理
New Stepを選択して表示される検索欄にeditと入力し、Edit with formulaユースカジノ twitter。
ColumnsにMultipleのAverage_Contribution_Sumを指定し、FormulaにROUND(Average_Contribution_Sum,0)と入力してAddユースカジノ twitter。
6. ジョブの実行
本手順では、レシピで定義した処理を実際に実行し、加工後のユースカジノ twitterをアウトプットする方法を解説します。
6-1. アウトプットの設定
選挙献金ユースカジノ twitterに対するレシピの編集画面右上からRunユースカジノ twitter。
Publishng ActionsのAdd Actionユースカジノ twitter。
なお、デフォルトで csv ファイルを CloudStorage にアウトプットするアクションが設定されています。
Create a new fileユースカジノ twitter。
ファイル名を入力してフォーマットにJSONを指定した後Addユースカジノ twitter。
6-2. ジョブの実行
アクションが追加されたことを確認し、Runユースカジノ twitter。
6-3. ジョブの確認
左側のナビゲーションバーからJob historyを選択し、対象のレシピ名を選択して進行状況を表示します。
Output destinationsタブではアウトプット一覧を確認できます。
ジョブの完了後、各アウトプットのView on Cloud Storageを選択し、Cloud Storage に遷移します。
対象のバケットにファイルがアウトプットされていることが確認できました。
以上で、全手順が終了となります。
その他の機能
上記の手順では触れなかった機能について、概要を記載します。
Plan
ジョブの実行や HTTP リクエストの実行など、個別のタスクを一連の処理として定義できます。
定義したPlanはスケジュール実行させることが可能です。
設定したスケジュールはSchedulesにて管理できます。
Library
インポート済みのユースカジノ twitterセットなどを確認できます。
Connections
ユースカジノ twitterソースとの接続を設定できます。
ユースカジノ twitterソースには BigQuery の他、様々なアプリケーションやユースカジノ twitterベース等を選択できます。
接続されたユースカジノ twitterソースはユースカジノ twitterセットのインポート元として利用できるほか、一部の接続ではアウトプット先としても指定できます。
料金
Dataprep には 30 日間の無料期間が存在します。
無料期間の終了後はStarter、Professional、Enterpriseのいずれかのプランで契約が必要です。
各プランの契約形態や料金は以下の通りです。
機能面でもいくつかの違いがありますがここでは割愛します。
プラン名 | Starter | Professional | Enterprise |
---|---|---|---|
契約形態 | 年間もしくは月間 | 年間のみ | 年間のみ |
利用料金(年間) | 0/user | ,950/user + ,000(basefee) | 要見積 |
利用料金(月間) | 0/user | - | - |
最小利用人数 | 1user~ | 3users~ | 7users~ |
次回予告
引き続き、Data周りのご紹介を予定しています。
ご期待ください!