🗺️

ArcGIS Pro から Snowflake に接続する

2022/07/19に公開1

どこにそんな需要があるかはわからないが、ODBC で ArcGIS Pro から Snowflake に接続できたので手順を紹介する。
ちなみに ESRI Japan が Snowflake をサポートしているかは不明 (多分してない)。なので自己責任で、といっても米国でサポートしてるんで問題ないと思いますけどね。

0. 環境

OS: Windows 11 64bit
ArcGIS Pro: 2.9.3

1. SnowFlake ODBC ドライバーのインストール

Snowflake と ArcGIS Pro は ODBC ドライバーを使用して接続するので、Snowflake の ODBC ドライバーをインストールする。

インストールに必要な OS は Windows 8 以上でアドミン権限が必要。

  1. Visual C++ Redistributable for Visual Studio 2015 のインストール
    ODBC ドライバーはVisual C++ Redistributable for Visual Studio 2015 に依存しているのでここからダウンロードしてインストールする。

  2. ODBC ドライバーのインストール
    ここから Windows 用のドライバー(Step 1)をダウンロードして、ダブルクリックでインストールする。
    使用している ArcGIS が 64bit なら必ず 64 bit 版をインストールする (32 bit版なんてあるのか? ArcMap じゃあるまいし)。
    ODBCドライバー インストーラー

2. ArcGIS Pro から接続する

流れは、接続ファイルを作成してクエリレイヤを追加する。

  1. 接続を作成する
    1. 接続の作成ウィンドウを開く
      挿入 -> 接続 -> データベース -> 新しいデータベース コネクション をクリック。
    2. 接続情報を入力する
      • データベース プラットフォーム: Snowflake
      • サーバー: 契約しているアカウントのURLを入力する
      • 認証タイプ: ユーザー
        -ユーザー名パスワードを入力する
      • ロール: クエリを発行するときのロールを入力する
      • データベース: 接続する Snowflake 上のデータベース名を指定する
      • ウェアハウス: 使用するウェアハウス名を入力する
    3. OKを押すとカタログにSnowflake.sdeという名前の接続ファイルが追加される
  2. クエリレイヤーを作成する
    1. マップ -> データの追加 -> クエリレイヤー をクリック。
    2. クエリレイヤーを定義する
      • 接続: 作成したSnowflake.sdeをプルダウンから指定
      • 名前: レイヤー名を入力(任意の名前をつける)
      • クエリー: ここにクエリを記入する
        クエリーを書いたら整合チェックボタンをクリックしエラーがなければ次へをクリック
    3. 一意識別子フィールド(ユニークキー)を選択し、ジオメトリタイプを確認したら完了をクリックする

以上で、レイヤが追加できたはず。
基本的には表示されている範囲で絞るクエリが Snowflake に飛ぶが、スクロールするたびにクエリが発行されるので、使用料にはご注意を。

Discussion

PEmugiPEmugi

ArcGIS Pro からの Snowflake への接続はバージョン 2.9 からの新機能です。
他に Amazon Redshift、BigQuery にも対応しているらしい。すごいな。