Snowflake Marketplace で Knoema を探して迷子になっていたら Cybersyn を見つけた話
はじめに
この記事は Snowflake Advent Calendar 2023 6日目の記事になります。
Snowflake のクイックスタートをやってみようと思ったら、Knoema データセットが入手不能になっており、慌ててあれこれ調べていたら Cybersyn に巡り合えたので、Cybersyn データセットのご紹介をしたいと思います。
Knoema を捜して三千里
Snowflake ってクイックスタートが豊富ですよね。「あの機能を触ってみようかな」と思ったとき、たいていの機能にクイックスタートが用意されており、サクッと動かして使い方を知ることができて非常に助かっています。
なのですが、最近、ちょっと困った事が起こっています。
クイックスタートでよく使われているデータで、 Knoema が提供するデータセットがありますが、2023/12/2現在、どうやらこれが入手できなくなっているのです。(少なくとも、私が使用している東京リージョン・オレゴンリージョンでは検索できないようです)
忽然と No provider description...
そして Cybersyn と出会うまで
だいぶ焦ってアレコレとググっていると、Cybercyn のドキュメントに、こんな記載が。
Knoema is in the process of sunsetting their public data listings and as of December 31, 2023
えっ、2023/12/31 に(Marketplaceでの)公開を停止する!?聞いてないよ~...
もう Knoema が提供していたデータセットは利用できないってこと...?
諦めかけたその時、Cybersyn のドキュメントに希望の光が!
Cybersyn では、 Knoema から Cybersyn への移行サポートを行っているそうです。さらに、Knoema データから Cybersyn データへの対応表が公開されています。
じゃあ、Knoema のデータを Cybersyn のデータで置き換えることはできるのかな...?
ということで、Cybersyn のデータを少し眺めてみましょう。
Cybersyn データを使ってみよう
Cybersyn とは
パブリックドメインデータと独自のデータ、およびデータアプリケーションを Snowflake Marketplace で無料配布・販売しているデータプロバイダー企業です。
経済に関するデータを中心に展開しています。
2022年設立。2023年4月、Snowflake による投資が行われています。
Snowflake Summit 2023 でも紹介されていましたね。
データの入手
ここでは dataiku と Snowflake のクイックスタート「End to End Machine learning with Snowflake and Dataiku」で使用しているデータに置き換えられるものを探すべく、次のデータを入手してみます。
さて、さっそくデータを見ていきましょう!勿論ですが、東京・大阪リージョンでも利用可能になっています。
Marketplace のページからすぐに使える参考クエリが充実していそうで嬉しいですね。
その他、公式ドキュメントにも多数のサンプルクエリが掲載されています。
データを眺める
まずは Cybersyn データの一覧を見てみましょう。Cybersyn が提供するデータの一覧が CYBERSYN_DATA_CATALOG というテーブルに格納されています。
上にあげた Dataiku クイックスタートでは、Knoema Labor Data Atlas(雇用と労働に関するデータセット)のうち BLSLA というデータを利用して、雇用人口・雇用人口比率・失業者数・失業率などを算出していました。
似たようなデータはあるでしょうか。
目当てのデータが提供されているか、CYBERSYN_DATA_CATALOG
テーブルから探すことができます。たとえば、国勢調査データを探すなら、こんな感じになります:
SELECT
table_name, table_name_proper, description, data_source
FROM
cybersyn.cybersyn_data_catalog
WHERE
description ILIKE '%Census Bureau%'
OR TO_VARCHAR(data_source) ILIKE '%Census Bureau%;
Dataiku のクイックスタートでは「unemployment」をキーワードに Knoema データを検索しているので、ここでも同じキーワードで検索してみます。
SELECT
table_name, table_name_proper, description, data_source
FROM
CYBERSYN.CYBERSYN_DATA_CATALOG
WHERE
description ILIKE '%unemployment%'
OR TO_VARCHAR(data_source) ILIKE '%unemployment%';
2テーブル引っ掛かりましたね。
公式ドキュメントにテーブル定義があります。それぞれの定義はこちら。
追加で Financial & Economic Essentials を入手し、クエリを書いてみます。
州別、月ごとの失業に関するデータを集計するなら、こんな感じでしょうか:
SELECT
geo.geo_name,
att.variable_name,
ts.date,
ts.value
FROM
cybersyn.bureau_of_labor_statistics_employment_timeseries AS ts
JOIN
cybersyn.bureau_of_labor_statistics_employment_attributes AS att
ON (ts.variable = att.variable)
JOIN cybersyn.geography_index AS geo
ON (ts.geo_id = geo.geo_id)
WHERE 1=1
AND att.variable_name ilike '%Unemployment%'
AND att.frequency = 'Monthly'
AND att.seasonally_adjusted = FALSE
ORDER BY
date;
Knoema データが参照できないのでもはや勘ですが、ある程度は Knoema から Cybersyn に置き換えできそうな雰囲気がありますね。
おわりに
というわけで、Cybersyn データセットのご紹介でした。
Cybersyn データで Knoema データの置き換えができたら、またどこかで公開したいと思います!
Discussion