はじめに
こんにちは、エクスチュアの石原です。
今回は10月18日にSnowflakeよりGAが発表されたSnowflake Open Catalogのチュートリアルを実施してみました。チュートリアルではAWS環境をベースに構築していましたので、本記事ではGCP環境上にSnowflake Open Catalogを構築してみました。
構築で手間取った部分などご紹介できればと思います。
GCS上でのデータレイクハウス導入手順
Getting started with Snowflake Open Catalog
AWS版のチュートリアルと同様に進んで変更した点をご紹介します。
自分の環境ではminiconda3をインストールしました。また、下記の内容はスキップしています
- Create an IAM policy that grants access to your S3 location
- Create an IAM role
Create an internal catalog in Open Catalog
Storage providerをGCSに変更、Default base locationにGCS上のバケットを入力します。
例:gs://sample_bucket/snowflake_open_catalog(snowflake_open_catalogフォルダ内にデータが格納されます)
Create a trust relationship
GCSの場合はGCP_SERVICE_ACCOUNT情報を保存します。
保存したサービスアカウントへ該当するGCSへの書き込みと読み込みを含むアクセス権限を付与します。
Configure Spark
|
自分の環境ではJAVA_HOME、HADOOP_HOMEも環境変数として必要になったので保存しています。以下でパスが確認できるか試してみてください。必要であれば別途インストールしてください。
|
spark.jars.packagesをGCPのパッケージに変更し、<open_catalog_account_identifier>、<client_id>:<client_secret>、<catalog_name>、<principal_role_name>の値をそれぞれ変更します。
<open_catalog_account_identifier>はログインした際のURLの英数字を設定します。
<client_id>:<client_secret>はCreate a new connection for Apache Spark™セクションで確認したシークレットに入力してください。
<catalog_name>はCreate an internal catalog in Open Catalogセクションで作成したカタログ名を入力します。
<principal_role_name>にはSet up catalog privileges for connectionセクションで作成したロール名を入力します。
注意点
10/30現在ではdefaultCatalogの設定を旧名称のpolarisに設定しなければいけなかったので注意
|
その後のチュートリアルは変更なしでも行けるはずです。
ただし、Snowflakeが動作している環境がGCPではない場合、同期テーブルの設定時にThe external volume and warehouse must be in the same location for tables using the Snowflake catalog.エラーが発生してしまうので注意してください。その場合、同期の設定に関してはホストしているクラウドと同一リージョンのストレージを利用してください。
今回の記事は以上となります。同じポイントで困っていた人の助けになれば幸いです。
エクスチュアはマーケティングテクノロジーを実践的に利用することで企業のマーケティング活動を支援しています。
ツールの活用にお困りの方はお気軽にお問い合わせください。






