HULFT Square から snowflake の情報を取得してみた

こちらはHULFT Square から snowflake に格納された情報を取得する方法について
紹介する記事になります。

<目次>

1.概要

1-1. はじめに

HULFT Squareとは、日本発のiPaaS(クラウド型データ連携プラットフォーム)です。
詳しい特徴や機能については、以下のURLをご参照ください。
公式製品ページ:https://www.hulft.com/service/hulft-square

1-2. 作業の目的

このページ内の作業を完了すると、以下の処理ができるようになります。

  • snowflake からテーブル読み取りにより情報を取得する。
  • snowflake からSQL実行により情報を取得する。

1-3. 作業準備

このページ内の作業を開始する前に、以下を準備する必要があります。

  • snowflakeコネクション
  • snowflakeのテーブルデータ

HULFT Square上にsnowflakeコネクションを作成するには、
以下の記事をご参照ください。

HULFT Square と snowflake を接続してみた

また、取得するsnowflakeデータのサンプルとして、
本記事では以下のテーブルを利用します。

  • スキーマ名:VEGGIES
  • テーブル名:ROOT_DEPTH

2. snowflakeテーブル読み取り

2-1. テーブル読み取り処理について

この章では、テーブル読み取り処理の利用手順を説明します。
テーブル読み取り処理を利用すると、画面上の設定のみでsnowflakeから情報を取得できます。
そのため、比較的簡単にsnowflake上のテーブルからすべてのデータを取得することができます。


一部データのみ取得したい場合や、データの順序を変更したい場合は
この後説明する「3. 検索系SQL実行」をご参照ください。

2-2. 実施手順

1. HULFT Square デザイナー上で、snowflakeから
 テーブル読取処理にて情報を取得するために利用するスクリプトを作成します。

2. ツールパレットから「データベース」を選択し、「snowflake」フォルダの
 「テーブル読み取り」をドラッグしキャンパス上にドロップします。

3. 「接続先」メニューを開き、「1-3. 作業準備」に記載の別記事を参考に
  作成したsnowflakeコネクションを設定します。

4. 「テーブル名」メニューを開き、データを取得するテーブルを選択します。

5.スキーマ定義が更新されたことを確認し、「抽出テスト」をクリックします。

抽出テストに成功した場合、指定したテーブルの全データを取得することが可能になります。

2-3. 処理結果取得

ここでは、「2-2. 実施手順」にて作成されたテーブル読み取り処理が
実際にsnowflake上のテーブル「ROOT_DEPTH」のデータを全件取得できているか確認します。

1. 2-2にて作成した「テーブル読み取り」に対して、
 「start」と「end」を画像のように接続します。

2. メニューの「ツール」から「オプション」を選択し、
 ログレベルを「DEBUG」に設定する。

3. スクリプトを実行します。
 実行が完了したら、「実行ログ」から実行IDの値を取得します。

4. HULFT Squareの「モニタリング」から「HULFT Integrate」を開きます。
 画面上で「フィルタを追加」をクリックし、「実行ID」を選択し、
 2-3の3.手順にて取得した実行IDを入力します。

5. 表示されたログ右側のメニュー(縦に3点が並ぶ)をクリックし、
 「詳細」を選択します。

6. 「メッセージ」にテーブルデータ全体が表示されていることを確認します。

お疲れ様でした!
これでsnowflake上に存在する特定テーブルの全データが取得できました。
続いて、SQLを利用して取得する手順をご説明いたします。

3. 検索系SQL実行

3-1. 検索系SQL実行処理について

この章では、検索系SQL実行処理の利用手順を説明します。
検索系SQL実行処理を利用すると、SQL文を利用してsnowflakeから情報を取得できます。
そのため、データ取得時の件数や順序などの条件を自由に設定することができます。

SQL文の利用などにより少し手順が複雑となるため、
全件抽出で要件を満たせる場合は「2. snowflakeテーブル読み取り」をご参照ください。

3-2. 実施手順

1. HULFT Square デザイナー上で、snowflakeから
 検索系SQL実行処理にて情報を取得するために利用するスクリプトを開きます。

2. ツールパレットから「snowflake」を選択し、
 「検索系SQL実行」をドラッグしキャンパス上にドロップします。

3. 「接続先」メニューを開き、「1-3. 作業準備」に記載の別記事を参考に
  作成したsnowflakeコネクションを設定します。

4.「SQLウィザードの起動」をクリックします。
 ※利用するSQL文の形式が既に決まっている場合、
  「SQL文」に直接入力することも可能です。

5.「テーブル名」からデータを取得するテーブルをクリックします。
 ※複数テーブルの選択が可能です。

6.「テーブル構造」から取得したい項目を選択し、
 「テーブルまたはカラムを追加する」をクリックします。
 必要なカラムをすべて追加したら「次へ」をクリックします。

7. 抽出条件を設定する場合、「抽出条件」タブから緑色の十字ボタンをクリックします。
 「条件の詳細」に値を設定して「了解」をクリックします。
 ※2つ以上の条件を設定する場合、「検索条件の種類」(AND/OR)を適切に選択した上で、
  条件を設定する手順を繰り返してください。

8. 順序を設定する場合、「ソート順」タブから緑色の十字ボタンをクリックします。
 「ソート設定詳細」に値を設定して「了解」をクリックします。
 抽出条件・順序の設定が完了したら、「次へ」をクリックします。

9. 5~8で設定した内容がSQL文として表示されます。
 さらに命令を追加したい場合は「SQLステートメント」にSQL文を追記して
 「テスト実行」をクリックします。

10. 実行結果と想定に差異がないことを確認し、「完了」をクリックします。

完了後、「SQL文」欄にSQLステートメントの内容が出力されます。

11.「SQL文を実行して出力スキーマを設定」をクリックします。
 「出力スキーマ定義」が更新されたことを確認し、「完了」をクリックします。

「2-3. 処理結果取得」と同様の手順を実施することで、
作成された検索系SQL実行処理が
実際にsnowflake上のテーブル「ROOT_DEPTH」のデータを
想定通りに取得できているか確認することができます。

お疲れ様でした!
これでsnowflakeからSQL文を利用してデータを取得できました。

いかがだったでしょうか?
他にも、様々なケースの対処法を紹介していますので、是非目を通してみてください。


<免責事項>
情報の掲載には注意を払っておりますが、掲載された情報の内容の正確性については一切保証しません。また、当サイトに掲載された情報を利用・使用(閲覧、投稿、外部での再利用など全てを含む)するなどの行為に関連して生じたあらゆる損害等につきましても、理由の如何に関わらず自己責任で行う必要があります。

テクバンでは、お客様の業務にある困りごとをETLやBIをはじめ様々なテクノロジーで解決するためのご相談をお受けしております。「HULFT Square」もあわせてご覧下さい。HULFT Squareでデータ分析基盤を構築し、様々な経営判断の材料を可視化していくサービスなども提供してまいります。