watsonx.dataのSaaS版にSparkエンジンが追加できるようになりました。今までは外部のIBM Analytics EngineSparkエンジンを使用する形でしたが、内部のSparkも選べるようになりました。
Sparkエンジン追加されていると、WebのGUIからSparkエンジンを使用した取り込みジョブ(CSV,parquetファイルなどのロード)が使えるようになります。
当記事はwatsonx.dataのSaaS版にSparkエンジンを追加する方法について説明します。
2024/06/11 「5. IAMでMetastoreAccessロールの付与」を追記
0. 前提
- 既にwatsonx.dataのSaaS版のインスタンスが作成済みであること
1. 手順
1. 左側のナビゲーションメニューの「インフラストラクチャー・マネージャー」をクリックして「インフラストラクチャー・マネージャー」を表示
2. 右上の「コンポーネントの追加」から「エンジンの追加」をクリック
3. 「エンジンの追加」に必要事項を入力し、「プロビジョン」をクリック
- タイプ
- Sparkを選択
- 表示名
- お好みの名前を記入。ここでは「Spark」としました
- Reserve capacity
- 必要なリソースを選択、デフォルトは小(Liteプランは小のみ)
- No. of nodes
- ノード数を設定、デフォルトは1(Liteプランは設定不可)
- 関連づけられたカタログ(オプション)
- 必要に応じて取り込みしたいテーブルのあるカタログを選択
4. プロビジョン完了まで待つ
プロビジョン中は、色が塗られていない、点線のエンジンが表示されています
3分程度でプロビジョンは完了しました、プロビジョン完了後、青色のエンジンが表示されます。
5. IAMでMetastoreAccess
ロールの付与
使用するユーザーIDにMetastoreAccess`ロールがついていないと、SparkでのIngest Jobが「User is not allowed to process this api」というエラーで失敗しますので付与しておきます。ここではユーザーIDに付与する例です。グループへ付与でも問題ありません。
5.1 IBM Cloudのダッシュボード画面の上部」メニューから、「管理」→「アクセス(IAM)」をクリック
5.2 左のメニューの「ユーザー」をクリックし、権限を付与したいユーザーIDをクリック
5.3 「アクセス」 タブをクリックし、「アクセス・ポリシー」の「アクセス権の割り当て」をクリック
5.4 「アクセス・ポリシー」にチェックし、サービスで「watsonx.data」を検索し、表示された」watsonx.data
をクリックし、チェックを入れる。その後、「次へ」をクリック。
5.5 リソース:
5.5-1 リソース: 全てのwatsonx.dataにセットする場合:
5.5-1 リソース: 全てのwatsonx.dataにセットする場合:
5.5-2 リソース: 特定のwatsonx.dataにセットする場合:
「特定のリソース」を選択し、特定のリソースの情報を入力し、「次へ」をクリック
ここではserviceIncetanceにして、権限を付与させるインスタンスのGUIDを入力
GUIDの取得方法は「IBM Cloud: 作成したリソースのCRNおよびGUID(インスタンスID)の取得方法」を参照
5.6 「役割とアクション」の「サービス・アクセス」の「Metastore Access」にチェックを入れ、「次へ」をクリック
5.6 「追加」をクリック
5.7 右側の「アクセス・サマリー」の「割り当て」をクリック
2. 参考ドキュメント
公式ドキュメントの「Working with Native Spark engine」以下を参照してください。
以上です。