CData Software Blog

クラウド連携のCData Software の技術ブログです。

Excel からSnowflake データにリアルタイムで連携してみた

Snowflake」をご存知ですか?

近年のデジタル化によって企業が管理するデータが急増しており、それをいかに効率的そして戦略的に活用していくかが求められる時代となりました。さらにデジタルトランスフォーメーションが加速し、今やIT 企業だけの課題でなくなりつつあります。

企業内に分散しているサイロ化されたデータをクラウドデータとして一元的に管理し、必要なデータにスピーディーにアクセスして素早い意思決定を可能にするクラウドデータ型のプラットフォームが「Snowflake」です。

非IT企業出身の私は自分でも何を書いているかわからなくなりそうですが、一般的にデータ連携はデータの使用に至るまで様々なプロセスがありますが、Snowflake を使えばワンストップでデータ分析環境の構築や運用が可能になります。

簡単ではありますが、Snowflake がなぜ業界を騒がせているのか私なりに分析してみました。

クラウドデータに最適化された独自のアーキテクチャ

これまでのクラウドDWH は、オンプレミスで利用されていたものが基礎となっているため、コンピュートリソースとストレージリソースの拡張性の低さという問題がありました。Snowflake はこの問題を解決するため、拡張性を備えた独立したレイヤーにストレージとコンピュートを分離させています。分かりやすく説明すると企業がデータを保管する場所(ストレージ)とリクエスト処理を行う行為(コンピューティング)を分離する新しい仕組みです。これによりユーザーは同時にリクエスト処理が発生した時でもパフォーマンスを下げず大量データの処理が可能となります。またユーザーは任意のクラウドプロバイダーをストレージとして選択できます。(現在はAWS、Azure、GCP に対応)

クラウドプロバイダーに依存せずクラウドサービス間のデータ移行が可能

基本的にAWSGCP のデータウェアハウスの場合は他社のデータウェアハウスと連携はできないですが、Snowflake であればクラウド間をまたいでのデータ連携やデータ移行を可能にしています。これはSnowflake がマルチクラウドで動作する環境を構築しているためです。ですので、万が一、一方のクラウドプロバイダーに問題が起きても、別のクラウド環境に切り替えて利用を継続することができます。

強固なエコシステム

他ベンダーとパートナーエコシステムを構築しており、業界をリードするBIツールやデータ統合ツールをドライバーやコネクターを通じて統合が出来ます。パートナー企業のテクノロジーを活用することで、新規でツールを導入することなくデータソリューションを実現しています。普段から使い慣れているツールをそのまま利用できるのは導入する際の大きなポイントになりそうです。

この他にもユーザーが自由にアクセスできるデータマーケットプレイスやデータベースやテーブルのデータに対して複製やリストアが可能となるタイムトラベル機能などもありグローバル規模で大きな評価を受けています。事実、Salesforce 社や投資の神様として知られるウォーレン・バフェット率いるバークシャー・ハサウェイ社による投資で、更なる注目を世界中で集めています。

Snowflake Excel Add-In とは

今回はそんなSnowflake の活用をさらに効率化することが可能となるExcel Add-In for Snowflake をご紹介します。Excel からSnowflake データにリアルタイムで連携させ、スプレッドシートSnowflake データをインポートすることができます。今回はまずデータ連携からその後の基本的な利用方法についてご紹介します。30日間の無償トライアル版があるのでぜひお試しください。

Snowflake Excel Add-In https://www.cdata.com/jp/drivers/snowflake/download/excel/

データ連携の設定

まず初めにCData Excel Add-In for Snowflake をインストールします。注意点はWindows 専用なのでお気をつけください。 インストール完了後、Excel 上部のリボンから「CData」→「データの取得」→「取得元:Snowflake」の順に選択して接続ウィザードを開きます。

f:id:kokihikkita:20210525170719j:plain

接続ウィザードに以下の情報を入力してSnowflake と連携を図ります。

・Account:Snowflake のアカウントに設定

・Auth Scheme:PASSWORD

・Database:取得したいDatabase名

・Password:Snowflake で設定したPassword

・Schema:取得したいSchema 名(今回の場合、サンプルデータ上のTPCH_SF10)

・URL:Snowflake インスタンスのURL

・User:Snowflake で設定したUser 名

・Warehouse:取得したWarehouse 名

f:id:kokihikkita:20210531185156j:plain

データの取得

正しく接続が完了したら、取得したいWarehouse から任意のテーブルを選択することができます。今回は例として「Customer」を選択します。

f:id:kokihikkita:20210525174931p:plain

選択した「Customer」のテーブルでフィルターをかけてみましょう。テーブル内に業種別セグメントがあるので、フィルタリングを行いましょう。今回は「MACHINERY」のセグメントでフィルターをかけてみました。このようにSnowflake 上のデータ内の抽出したい項目のみを出力することができます。 f:id:kokihikkita:20210525181442p:plain

次にこのテーブルを使用して資料作成をする想定でピボットテーブルを活用してデータを可視化してみましょう!前述したセグメント毎のカスタマー数をグラフ化して見てみましょう。ピボットテーブルの設定時にテーブル全体を対象とするように設定します。その後、ピボットテーブル用の別タブが自動で生成されるので、セグメントを選択するとセグメント別にグラフ化され、データがかなり見やすくなりました。テーブル上とグラフを比較すると可視化されたことにより、意思決定のしやすいデータになりますね。f:id:kokihikkita:20210525184308p:plain

Excel Add-In for Snowflake の注意点

Windows 専用のツールとなるため、MacLinux には対応していません。またMicrosoft Excel からの利用に限られるためExcel Online にも対応していません。仮想マシン上であればMacOS でもLinuxOS でもExcel Add-In for Snowflake は使用できるようになります。私はカッコつけてMacを使っているのでWindows VM 環境下でExcel Add-In for Snowflake を使用しています。

最後に

いかがでしたか?Snowflake Excel Add-In を活用することで簡単にSnowflake 上のテーブルやカラムをExcel にインポートすることができます。インポートしたテーブルにプライマリーキーが設定されていれば、Excel 上でデータの書き込み、更新、挿入もシンプルなGUI で可能となります。このようにSnowflake Excel Add-In は普段使っているExcel からクラウドDB やSaaS 上のデータに連携が可能となり、データ分析やグラフ化を容易にするツールです。一括入力や一括更新または簡易的なBI を行いたい方に今回のExcel Add-In for Snowflake はピッタリではないでしょうか。もちろんSnowflake 以外にも対応しているデータソースは多数あるので詳しくは以下のリンクをご覧ください。

www.cdata.com