Snowflake と ArcGIS の統合

Snowflake は、集中型クラウドベースのデータ ウェアハウジング機能を中心に構築された、一連のデータ管理および解析製品を提供しています。 組織は、解析システムおよびトランザクション システムとして Snowflake 製品をさまざまな方法で使用し、ビジネス アプリケーションをサポートします。 ArcGIS は、Snowflake とのさまざまな統合ポイントを提供し、データ アクセス、解析、視覚化のためのさまざまなワークフローを可能にしています。

これらの手法は、4 つのグループに分類できます:

  • ダイレクト コネクション
  • ETL
  • ビッグ データ解析
  • Snowflake ネイティブ

Snowflake への統合時に最適なパフォーマンスを得るため、ArcGIS クライアントと Snowflake 環境の両方を同じクラウド プラットフォームおよびリージョンに配置することをおすすめします。 これにより、遅延とデータ転送コストが最小限に抑えられ、ArcGIS クライアントと Snowflake サービスおよびエンドポイント間の連携において最高のパフォーマンスを得られます。

ダイレクト コネクションとクエリー レイヤー

ダイレクト コネクションのパターンにより、ArcGIS クライアントは、データの変換や他の場所へのコピーを行わずに、Snowflake サービスと直接連携できます。 ダイレクト コネクションを確立する前に、データにアクセスするすべての ArcGIS クライアント コンピューターに適切な Snowflake ODBC ドライバーをインストールします。 必要なネットワークおよびファイアウォール設定の構成も、ArcGIS と Snowflake 間で適切に通信できるために重要で、Snowflake の許可リストを更新して ArcGIS クライアントからのリクエストを許可することなどがあります。

Snowflake のクエリー レイヤーは ArcGIS Pro で作成され、カートグラフィックや解析ワークフローのレイヤーとして使用されます。その後 ArcGIS Enterprise に公開され、Web クライアントやその他のアプリケーションで使用されます。

いずれのシナリオでも、クエリー レイヤーは Snowflake データへの直接のライブ接続を提供します。 つまり、Snowflake でソース データに加えられた変更は、ArcGIS Pro のマップ レイヤーや ArcGIS Enterprise のクエリー レイヤーにすぐに反映されます。 クエリー レイヤーを作成するには、まずサポートされている認証スキームを使用して ArcGIS Pro 内で Snowflake へのデータベース コネクションを確立し、次に表示したい特定データを選択する SQL クエリーを定義します。 ArcGIS Pro マップに表示するには、Snowflake に保存されたデータに、ジオグラフィーまたはジオメトリー データ タイプの列を追加する必要があります。 空間列を持たないテーブルは、チャートや結合で使用するクエリー レイヤーとして追加できますが、マップ レイヤーに表示することはできません。

この領域でのその他のベスト プラクティスについては、「データ レイクとデータ ウェアハウス」のコンテンツをご参照ください。

カスタム データ フィード

クエリー レイヤーに基づく ArcGIS クライアント アプリケーションは、Snowflake のようなデータ ウェアハウスでの直接編集をサポートしない一方、慎重に設計された読み書き操作をサポートするためカスタム データ フィードを書き込むことができます。

ETL と Data Interoperability

Snowflake と ArcGIS 間でデータを移動させるさまざまなツールや方法を使用できます。読み取り専用ワークフローだけでなく、編集や新規データ送信がシステム間で双方向に流れるワークフローも可能です Snowflake にデータを書き込むには、ArcGIS Data Interoperability エクステンションなどのツールを使用できます。これにより、Snowflake 向けの読み書きサポートが提供されます。 これにより、ETL (抽出、変換、読み込み) ワークフローを作成して、さまざまなソースから Snowflake にデータを移動できます。 Data Interoperability では、十分にテストされたリーダー機能が提供され、Snowflake データにアクセスできます。この機能により、クエリー、変換、ArcGIS フィーチャ サービス エンドポイントやエンタープライズ ジオデータベース テーブルへの書き込みができます。

ArcGIS API for Python と ArcGIS Notebooks

ArcGIS Notebooks 内で ArcGIS API for Python を使用し、より細かくカスタマイズされ自動化された ETL プロセスを実行できます。 これにより、Snowflake への接続をスクリプト化し、データをクエリーおよび処理して、ArcGIS Online や ArcGIS Enterprise のフィーチャ サービスとして公開できます。 このアプローチは、複雑なデータ統合タスクに高い柔軟性を与えます。

ArcGIS Data Pipelines

ArcGIS Data Pipelines は ArcGIS の機能で、Snowflake を含むさまざまなソースのデータを取り込み準備するため、直感的なドラッグ アンド ドロップのインターフェイスを提供しています。 Snowflake テーブルに接続するためのデータ パイプラインを作成してデータを変換し、ArcGIS Online や ArcGIS Enterprise にフィーチャ レイヤーとして読み込むことができます。 これらのパイプ ラインは自動実行するようスケジュール設定でき、ArcGIS 内のデータを最新の状態に保つことができます。

Geoanalytics Engine によるビッグデータ解析

ArcGIS GeoAnalytics Engine は、Spark ベースの環境の解析機能を拡張し、Snowflake に保存されたデータを含む空間データと連携します。 サポートされている Spark 環境を Snowflake インスタンスに接続すると、GeoAnalytics Engine の空間 SQL 関数や解析ツールを使用して、Snowflake データに対して大規模な地理空間解析を実行できます。 この統合は、大量のデータセットを解析し、空間パターンや空間リレーションシップを明らかにする必要がある組織にとって特に役立ちます。

Snowpark から ArcGIS サービスへのアクセス

Snowflake の顧客は、Snowflake がホストするデータ解析および Spark 環境である Snowpark にもアクセスできます。 Snowpark で作業している Snowflake ユーザーは、ArcGIS Location Services に接続し、Snowflake 環境内で直接地理空間を操作できます。 これにより、ArcGIS のジオコーディング、ルート検索、人口統計データなどのサービスを使用して、Snowflake のデータに情報を付加することができます。 Snowpark では、ArcGIS Location Service API を呼び出すユーザー定義関数 (UDF) を作成でき、Snowflake に保存されたデータに対してこれらの操作を大規模に実行できます。

これらの Snowpark 統合パターンについての詳細は、以下のリソースをご参照ください:

Top