こんにちは。KIYONOのエンジニアです。
今回はTableau Cloudに保存されているデータをBigQueryに転送する方法をご紹介したいと思います。可能な限り丁寧に説明しますので、最後までご覧いただけると幸いです。
① BigQuery上での操作
前提として、Tableau Cloudからデータを受け取るためのデータセットおよびテーブルを作成しておかなくてはなりません。
・始めにデータセットの作り方から説明します。BigQueryを開きます。プロジェクトIDの横の:をクリックし、「データセットを作成」を選択します。
・データセットID(データセットの名前)を入力し、「データセットを作成」を選択します。
・作成したデータセットの横にある:をクリックし、「テーブルを作成」を選択します。
・テーブル名を入力します。
・スキーマはTableau Cloudから送りたいデータの形式に設定します(Tableau Cloudのデータの型とBigQueryのテーブルの型が異なるとエラーを引き起こすことがあります)。
② Tableau Cloud上での操作
・データを転送する際には、Tableau Cloud上での操作を行う必要があります。まず、Tableau Cloud上で転送したいデータが入っているプロジェクトを開きます。その後、新規のボタンをクリックし、「フロー」を選択します。
・すると画面が遷移するので、「データに接続」を選択します。
・次に接続の横の+をクリックし、「Tableau Server」を選択します。
そうすると転送元のデータソースを選択できるので、BigQueryに転送したいデータを選択します。
・すると、Tableau Serverが接続のところに追加されます。
・もう一度接続の部分にある+をクリックし、転送先である「Google BigQuery」を選択します。
その後、サインインを求められるのでBigQueryを実行するGoogleアカウントでログインしましょう。
・次に入力元のデータ(本記事ではtableau_transfer_BigQuery)の横にあるプラスをクリックし、「クリーニングステップ」を選択します。
・クリーニングステップでは、フィールド名やデータの型を変換できます。ここではBigQueryに転送するためにフィールド名を日本語から英語に変換します(元から英語ならフィールド名の変更しなくても構いません)。以下フィールド名を変更する2つの方法を紹介します。
❶ 「テキストを検出」で変換したいフィールド名を入力し、「次で置換」に変換後のフィールド名を入力します。
❷ フィールド名の…の部分をクリックし、「フィールド名を変更」を選択します。
その後、フィールド名を入力します。
・最後に出力先の設定をします。先ほど作成したクリーニングステップの右にある+を選択し、
「出力」を選択します。
・出力の保存先は「データベースとクラウドストレージ」を選択します。
・接続は「BigQuery」を選択し、送信先のプロジェクト、データセット、テーブルを選択します。
・データの書き込み方法について選択します。書き込み方法は3つあり、
❶ テーブルの作成
❷ テーブルに追加
❸ テーブルの置換
があります。状況に応じて選択してください(今回はテーブルの作成を選択しました)。
・「フローの実行」をクリックすると変更のパブリッシュを求められるので、パブリッシュします。
・Tableau Cloudのホーム画面に戻り、作成したフローを選択します。
・「スケジュールされたタスク」をクリックします。その後、新しいタスクの横にある⬇️を選択し、「単一のタスク」を選択します。
・フローを実行するスケジュール設定します。その後「タスクの作成」をクリックします。
・フローが実行されます(うまくいくとステータスが正常に終了しましたとなります)。
最後に
本日の記事はいかがだったでしょうか?Tableau CloudとBigQueryのみならず、様々なサービスのデータ連携方法を覚えると、データ分析や可視化のバリエーションが増えると思います。
本ブログが少しでも皆様のお役に立てれば幸いです。
本日は以上となります。
コメント