Snowflake Marketplace へのデータ共有申請方法

Snowflake Marketplace へのデータ共有申請方法 | Tableau-id Press -タブロイド-
019_ListingIsLive

こんにちは。藤です。

truestar では Prepper Open Data Bank という名前で収集・加工済みのオープンデータを無料で公開しています。

Prepper Open Data Bank

今回は Prepper Open Data Bank がデータ共有基盤として活用している Snowflake Marketplace へのデータ申請方法について共有します。

参考)Snowflake Marketplace

なぜ Snowflake Marketplace なのか?

Prepper Open Data Bank を無料で運営するために、どうしても運用保守のコストを抑える必要がありました。

Snowflake Marketplace を選択した理由は主に以下の4点です。

  1. データ共有の機能が標準で充実
  2. ニアゼロメンテナンス
  3. 3大クラウドユーザーと簡単連携
  4. 新進気鋭のサービスなので絡むと面白そう

Snowflake は Data Cloud をうたい、データのコラボレーションを推進する立ち位置にあるため、データを共有する機能が極めて充実しています。

Snowflake の特長としてよく取り上げられるニアゼロメンテナンスも魅力で、インフラの管理コスト(主に時間)をかけずにサービスを運用できます。

AWS、Azure、GCPの主要なリージョン上の Snowflake 環境に極めて簡単にデータ共有ができます。ユーザー側がどれかのクラウドサービスを活用していれば、そのクラウド内に Snowflake の環境をご用意いただくことで簡単にデータ連携ができるようになります。データプロバイダ側で、AWSだからこう、Azureだからこう、GCPだからこう、とデータ共有方法を使い分ける必要はありません。

4つ目は truestar の習性的なものですね。

これらの理由から Snowflake を選んでいますが、現時点においてこの選択は正しかったと確信しています。

Snowflake Marketplace に申請を行う

※共有したいデータベースは Snowflake 上にある前提で進めます。

1. 申請のための準備

Snowflake アカウントにログインします。
ここでは Snowsight の UI で説明しますので、Classic Console に入った場合は、Snowsightに移動してください。

申請には Account Admin 権限が必要です。
ロールを ACCOUNTADMIN に切り替え、Provider Studio に入ります。

Provider Studio の右上にある【+ Lisitng】をクリックし、申請するためのリストを作るステップにうつります。

2. 共有するリストを作る

Snowflake 社主催のデータサイエンスコンテストに向けて新しいデータベースを申請したので、実際の申請内容にそって説明していきます。
入力情報が非常に多いですが参考になれば幸いです。

What’s the title of the listing?

任意のタイトルを入れます。
実は上のキャプチャのタイトル
『PODB for Future Data Science Contest Japan』
では申請が Denied されました。

ちゃんとデータセットの内容にあったタイトルにしなさい、ということでした。

ユーザー本位の指摘ですね。ということで
『PODB – Japanse Open Data Sample Datasets』
に修正し、その問題は解決しました。皆様も申請時にはお気を付けください。

Who can discoer the listing?

【Anyone on the Marketplace】を選択します。
これを選択しないと、Marketplaceには上がりません。

How will consumers access the data product?

FreeかPersonalizedを選択します。

■Free
無償でのデータ提供です。ユーザーは申請後即使えます。
データプロバイダ側の申請承認が不要なので、管理者側としては非常に楽です。
ただし、ユーザーを限定することはできませんのでご注意ください。
今回 Free を選択しています。

■Personalized
無償でのデータ提供も有償でのデータ提供もどちらでも可能です。
データプロバイダ側の申請承認が無いとユーザーは使えないため、特定のユーザーに利用を限定することができます。
申請ごとに承認作業が発生するので、Freeよりも運用作業は増えます。

■Paid
今回は関係ありません。有償のデータ提供です。
PaidはSnowflakeが用意するStripeの決済システムを使います。決済パターンのカスタマイズはできませんが複数のパターンが用意されています。
ブログ投稿時点では米ドルのみだと思いますが、詳細未確認です。
ユーザは申請後即使えると理解していますが使ったことがないので正確には把握していません…

Nextで次のページへ。

3. リストの詳細設定

申請承認のための情報をそれぞれ入力していきます。

Basic Informationです。

Listing Type
先ほど選択した【Free】

Publishing as
truestar inc.

Title
PODB for Future Data Science Contest Japan
※上述した通り、このタイトルでは却下されました。

Subtitle
Contest datasets selected from Prepper Open Data Bank

Terms of Service
CustomでPODBの利用規約(英語)ページのURLを貼り付けましたが、Snowflake Marketplaceの利用規約をそのまま指定することも可能です。

Detailsです。

カラム情報を追加しないと申請は却下されます。
下のような形で最低5フィールド、推奨10-15フィールドだそうです。

Data Productです。

共有するテーブル・ビューをデータベースから選択すると、Secure Share(『安全な共有』)が作られます。

Attributeです。

Data ProductのAttributesには選択時にユーザーに表示される概要欄に記載されます。

– 今回はコンテスト用なのでUpdate FrequencyはStatic Dataを選択
– Geographic CoverageはSpecific countriesからJapanを選択
– Geographic Granularityはいろいろ含まれるがAddress(住所)を選択
– Time Rangeも様々なのでNot applicableを選択

Business Needsです。

カテゴリを選択し、ユースケースを記載します。
サンプルとしてカレンダーのデータを指定したので、ここでもカレンダーの情報を書いておきます。

Sample SQL Queriesです。

シンプルなものでも承認は通りますが、実際に動かないSQLだと申請できません。

ここでは Title を
When are holidays in 2023?
として

SELECT DATE, HOLIDAY_NAME
FROM E_PODB.E_JAPAN_CALENDAR
WHERE IS_HOLIDAY = TRUE
AND DATE >= to_date(‘2023-01-01’)
AND to_date(‘2023-12-31’) >= DATE;

で申請が通っています。

Sample SQL Queriesを回すためのWarehouseを指定できます。
ユーザーが試しに回す際のWarehouseなのでコスト負担はプロバイダ側に来ますので、基本的にXSで設定し、それですぐに実行完了するSQLがオススメです。

Region Aailabilityです。

今回のコンテストは AWS Tokyo のみで良いということなので Global Avilability は Off にし、Available Regions で AWS Tokyo のみを選択しています。

Global Availability を On に設定すると、Snowflake が持つ全リージョンに自動的に環境が作られて、どのリージョンからのリクエストに対しても即時共有が可能になります。
これが無いと、新しいリージョンからのリクエストに対してはレプリケーション用の環境を立てる必要があるので若干手間がかかるのですが、その手間が無くなります。

ただし、元データ更新時に各リージョンのデータを更新するクエリが走るので、無条件に全リージョン分のコストがかかります。

PODB の場合、データ量も更新頻度も限られているものが多いので、最近アップロードしているものは基本的に全リージョン展開を選択しています。

このあたりは運用コストとして、時間を取るかお金を取るかになりますね。

4. Marketplace に申請

一通り設定し終わると Submit for Approal が選択できます。青色のボタンをクリックして申請します。

申請が通るまでは Pending Review(黄色)になります。

デフォルトの設定だと、申請が通った直後に公開されてしまいます。

Change publish setting で Manual に変更すると申請が通っても即公開はされません。

5. 公開!!!

申請が通り、公開すると Live(緑色)になります。

直前のプロセスで Manual にした場合、Unpublished ステータスになりますが、Publish Lisitng (青色)ボタンで公開できます。

また、公開したリストはいつでも Unpublish できます。

皆様もデータ共有してみませんか?

以上、Snowflake Marketplace へのデータ共有方法でした。

Snowflake に関するブログ記事は他にも多数あります。是非参考にしてみてください!

https://blog.truestar.co.jp/?s=snowflake

ご不明な点などがあればご遠慮なくお問い合わせ下さい!

問い合わせ

それではまた!