メインコンテンツへスキップ

はじめに

Snowflakeは、クラウドベースのアナリティクスData Warehouseシステムです。DomoのSnowflake Internal Unload Advanced Partitionコネクターを使用して、Snowflakeデータベースからデータを社内のAmazon S3にアンロードします。次に、ファイルが社内のS3からDomoにダウンロードされます。非常に大きなクエリを実行している場合は、ほかのSnowflakeコネクターよりもこのコネクターのほうが適しています。このコネクターでは、データをパーティション分割するかどうかを選択できます。ほかのパーティションコネクターとは異なり、日付以外の列でパーティションを使用できます。Snowflake APIの詳細については、Snowflakeのウェブサイト( https://docs.snowflake.net/manuals )を参照してください。 Data CenterでSnowflakeアカウントに接続します。このトピックでは、Snowflake Internal Unload Advanced Partitionコネクターのユーザーインターフェースに固有のフィールドとメニューについて説明します。DataSetの追加、更新スケジュールの設定、DataSet情報の編集に関する一般的な情報については、「 コネクターを使用してDataSetを追加する 」を参照してください。

ベストプラクティス

重要: Snowflakeでは、アカウントが期限切れになるたびに手動でDomoアカウントを再接続する必要があります。アカウントの有効期限は、Snowflake統合によってコントロールされています。90日ごとに更新トークンが期限切れになるように設定されている場合、90日ごとにアカウントを再接続する必要があります。更新のタイムアウトを91日以上にしたい場合は、 Snowflakeサポート に連絡する必要があります。タイムアウトは90日から最大1年に延長することができます。

必要条件

Snowflakeアカウントに接続してDataSetを作成するには以下が必要です。
  • アカウントのフルネーム(Snowflake提供)。米国西部地域に対しては account_name 、その他の地域に対しては account_name.region_id 。これはSnowflakeのURLの https://の 直後に続く部分です。 アカウントのフルネームには、アカウントがホストされる地域とクラウドプラットフォームを識別する追加のセグメントが含まれる場合があることに注意してください。以下の表に、クラウドプラットフォームまたは地域別のアカウント名の例を示します。各行に対して、アカウント名が「xy12345」であると仮定しています。
    Region.png
  • クライアントの登録時にSnowflakeから提供された クライアントIDおよびクライアントシークレット。

Snowflake アカウントに接続する

Snowflake Internal Unload Advanced Partition コネクター ページの[認証情報]および[詳細]ペインのオプションについて説明します。このページのほかのペインの項目である [スケジュール設定][DataSetに名前を付け、説明を入力] に関しては、ほとんどのタイプのコネクターで共通しています。詳細については、「 コネクターを使用してDataSetを追加する 」を参照してください。

[認証情報]ペイン

このペインには、 Snowflake アカウントに接続するための認証情報を入力するフィールドがあります。下表は、各フィールドに必要な内容を説明しています。

フィールド

説明

Account Name Snowflakeのアカウント名を入力します。詳細は、「必要条件」を参照してください。
Client ID クライアントの登録時にSnowflakeから提供されたクライアントIDを入力します。
Client Secret クライアントの登録時にSnowflakeから提供されたクライアントシークレットを入力します。
Role 権限を入力します。
有効なSnowflake認証情報を一度入力しておくと、いつでも同じアカウントを使用して新しい Snowflake Internal Unload Advanced Partition DataSet を作成することができます。コネクターアカウントは、Data Centerの [アカウント] タブで管理できます。このタブの詳細については、「 コネクター/アダプターアカウントを管理する 」を参照してください。

[詳細]ペイン

このペインには、メインの [Reports] メニューのほか、選択したレポートタイプに応じて表示/非表示になるその他様々なメニューがあります。

メニュー

説明

Report

クエリタイプを選択します。以下のクエリタイプを利用できます。

Custom Query 実行するSQLクエリを入力します。
Query Builder クエリを自動生成する表とフィールドを選択します。
Warehouses 取得したいデータが格納されているウェアハウスを選択します。このリストには、認証情報にもとづいてアクセスできるすべてのウェアハウスが表示されます。
Databases 取得したいデータが格納されているデータベースを選択します。このリストには、認証情報にもとづいてアクセスできるすべてのデータベースが表示されます。
Schemas 取得したいデータが含まれているデータベーススキーマを選択します。このリストには、認証情報にもとづいてアクセスできるすべてのスキーマが表示されます。
Database Objects データベースオブジェクトを選択します。
Tables 取得するデータベース表を選択します。このリストには、認証情報にもとづいてアクセスできるすべての表が表示されます。データベーステーブルを選択しない場合は、コネクターはデータベーススキーマ全体を取得します。
Table Columns 取得したいテーブルの列を選択します。このリストには、認証情報にもとづいてアクセスできるすべての列が表示されます。表の列を選択しないと、コネクターは選択したデータベース表全体を取得します。
Table Query Helper このフィールドには、選択したフィールドにもとづいて生成されたクエリが表示されます。
Views ビューを選択します。
View Columns レポートに含める表示列を選択します。
View Query Helper このフィールドには、選択したフィールドにもとづいて生成されたクエリが表示されます。
Query

データを取得するために使用するSQLクエリを入力します。 [Query Helper] パラメーターを使用して、使用可能なSQLクエリを記述できます。 [Query Helper] を使用するには、以下を行います。

  1. 各メニューで、目的のウェアハウス、データベース、データベーススキーマ、データベーステーブル、テーブルの列を選択します。

  2. [Query Helper] フィールドに表示されるSQLステートメントをコピーします。

  3. コピーしたSQLステートメントを [Query] フィールドに貼り付けます。

Partition Support データをパーティションするには「Yes」を選択します。パーティションしない場合は「No」を選択します。
Partition Criteria 日付のキー、日付以外のキー、またはメタクエリを使用してデータをパーティションするかどうかを選択します。
Partition Query to determine partition tags

パーティションタグ(キー)を特定するために、パーティションメタクエリを入力します。 日付 データを含む列は、パーティション列です。

例:SELECT DISTINCT(DATE_COLUMN_NAME) FROM TABLENAME

Partition Support Format パーティションサポートの形式を選択します。
Partition Column Name パーティション列の名前を選択します。
Past Year データを取得する過去の年数を入力します。値はXとすることができ、 この場合Xは正の整数です。例:5。
Future Years データを取得する未来の年数を入力します。値はXとすることができ、 この場合Xは正の整数です。例:5。
Past Months データを取得する過去の月数を入力します。値はXとすることができ、 この場合Xは正の整数です。例:5。
Future Months データを取得する未来の月数を入力します。値はXとすることができ、 この場合Xは正の整数です。例:5。
Past Days データを取得する過去の日数を入力します。値はXとすることができ、この場合Xは正の整数です。例:30
Date Format 必要な日付形式を選択します。デフォルトでは yyyy-MM-dd が使用されています。
Custom Date Format カスタマイズされた日付形式を入力します。
Partition Non Date Key Column Name パーティション列の名前を選択します。

その他のペイン

スケジュール設定、再試行、更新に関するオプションなど、コネクターインターフェースのその他のペインに表示されるオプションについては、「 コネクターを使用してDataSetを追加する 」を参照してください。

よくある質問

このエラーを避けるには、トークンを更新する必要があります。Snowflakeでは、アカウントが期限切れになるたびに手動でDomoアカウントを再接続する必要があります。アカウントの有効期限は、Snowflake統合によってコントロールされています。90日ごとに更新トークンが期限切れになるように設定されている場合、90日ごとにアカウントを再接続する必要があります。更新のタイムアウトを91日以上にしたい場合は、Snowflakeサポートに連絡する必要があります。タイムアウトは90日から最大1年に延長することができます。
Snowflakeアカウントのフルネームと、 クライアントの登録時にSnowflakeから提供された クライアントIDおよびクライアントシークレットが必要です。自分の権限を入力することもできます。
制限は使用するサーバー構成によって異なります。
DataSetは15分間隔で実行できます。ただし、クエリの実行時間によっては、DataSetの実行頻度を低くする必要があります。
すべての単語、テーブル名、フィールド名が正しく記述されていることを確認してください。クエリのヘルプについては、[クエリヘルパー]フィールドを参照してください。
Snowflakeデータベースに接続する前に、接続するポート上のデータベースサーバーにある多数のIPアドレスをホワイトリストに登録する必要があります。IPアドレスの詳細なリストは、「ネットワーク接続にDomoのIPアドレスを許可する 」を参照してください。
どちらのコネクターもパーティション分割に対応していますが、Snowflake Internal Unload Advanced Partitionコネクターの場合はデータにパーティション分割を使用するかどうかの選択ができます。また、Snowflake Internal Unload Advanced Partitionコネクターでは、ほかのパーティションコネクターとは異なり、日付以外の列でパーティション分割ができます。

トラブルシューティング

  • 認証が有効であることを確認してください。
  • 設定を見直し、すべての必須項目が選択されていることを確認してください。
  • コネクターの履歴にエラーメッセージが記録されていないか確認してください。
  • まれに、リクエストした情報が多すぎた結果、API制限またはタイムアウトに達する場合があります。記録されている場合は、コネクターの履歴でエラーメッセージと実行時間を確認することができます。また、取得するアカウント数やレポートのメトリクス数を減らしたり、取得するタイムフレームを短縮したりすることができます。