watsonx.data: Sparkエンジンの追加

watsonx.dataのSaaS版にSparkエンジンが追加できるようになりました。今までは外部のIBM Analytics EngineSparkエンジンを使用する形でしたが、内部のSparkも選べるようになりました。
Sparkエンジン追加されていると、WebのGUIからSparkエンジンを使用した取り込みジョブ(CSV,parquetファイルなどのロード)が使えるようになります。

当記事はwatsonx.dataのSaaS版にSparkエンジンを追加する方法について説明します。

> 2025/05/01 MetastoreAccessロールをMetadataAdminロールに更新
> 2024/08/13 UI更新
> 2024/06/11 「5. IAMでMetastoreAccessロールの付与」を追記

# 0. 前提
- 既にwatsonx.dataのSaaS版のインスタンスが作成済みであること


# 1. 手順
### 1. 左側のナビゲーションメニューの「インフラストラクチャー・マネージャー」をクリックして「インフラストラクチャー・マネージャー」を表示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/0d166a8a-acd0-0384-2ed2-575b00f5171b.png)

### 2. 右上の「コンポーネントの追加」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/c45f78fb-d291-0680-8367-2d52d6f83b4a.png)


### 3. Enginsから「IBM Spark」をクリックし、「次へ」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/a516fd36-c5cb-e772-afcd-fd1349f3cdce.png)



### 4. 「構成」で必要事項を入力し、「作成」をクリック
- 一般情報
    - 表示名
      - お好みの名前を記入。ここでは「Spark」としました
      <br>
- エンジン構成
    - 登録モード
        - 　「新規インスタンスの作成」を選択
        <br>
    - デフォルトの Spark バージョン
        - 　お好みのバージョンを選択
        <br>
    - エンジン・ホーム・バケット
        - カスタム・ライブラリー、Spark イベント、Spark ログなどのエンジン関連データのストレージ。ログを直接みるなど中身にアクセスしたい場合は、自分でアクセス可能なバケットを選択
        <br>
    - 容量の予約
        - 　ノード・タイプ
            - 　必要なリソースを選択、デフォルトは小(Liteプランは小のみ)
            <br>
        - 　No. of nodes
            - 　ノード数を設定、デフォルトは1(Liteプランは設定不可)
            <br>
- 　関連付けられたカタログ(オプション)
    - 　必要に応じて操作したいテーブルのあるカタログを選択　

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/93f0654e-aaeb-a70d-ddb2-f02c057aad1a.png)


### 5. プロビジョン完了まで待つ
プロビジョン中は、色が塗られていない、点線のエンジンが表示されています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/40a3fea7-ea0c-50a9-70de-84ef178ee762.png)

3分程度でプロビジョンは完了しました、プロビジョン完了後、青色のエンジンが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/ea794456-bb69-07d6-c063-59e7c580f8d2.png)

### 6. IAMで`MetadataAdmin`ロールの付与
使用するユーザーIDに`MetadataAdmin`ロールがついていないと、SparkでのIngest Jobが「User is not allowed to process this api」というエラーで失敗しますので付与しておきます。ここではユーザーIDに付与する例です。グループへ付与でも問題ありません。

#### 6.1 IBM Cloudのダッシュボード画面の上部」メニューから、「管理」→「アクセス(IAM)」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/ae472207-0f4d-fbf6-c767-86d4d8927195.png)

#### 6.2　左のメニューの「ユーザー」をクリックし、権限を付与したいユーザーIDをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/49c141e6-c677-cb05-b22e-7d9923f79eaa.png)

#### 6.3　「アクセス」　タブをクリックし、「アクセス・ポリシー」の「アクセス権の割り当て」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/de9c49c6-ba79-8512-5957-eb5d3ac873fa.png)

#### 6.4 「アクセス・ポリシー」にチェックし、サービスで「watsonx.data」を検索し、表示された」`watsonx.data`をクリックし、チェックを入れる。その後、「次へ」をクリック。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/b2455293-b7d2-f0b4-dcea-0374acfea9a9.png)

#### 6.5 リソース: 
##### 5.5-1 リソース: 全てのwatsonx.dataにセットする場合：
「すべてのリソース」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/77e92e5e-bc41-2e7c-ff51-b55303260e9e.png)

##### 6.5-1 リソース: 全てのwatsonx.dataにセットする場合：
「すべてのリソース」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/77e92e5e-bc41-2e7c-ff51-b55303260e9e.png)

##### 6.5-2 リソース: 特定のwatsonx.dataにセットする場合：
「特定のリソース」を選択し、特定のリソースの情報を入力し、「次へ」をクリック
ここではserviceIncetanceにして、権限を付与させるインスタンスのGUIDを入力

> GUIDの取得方法は「[IBM Cloud: 作成したリソースのCRNおよびGUID(インスタンスID)の取得方法](https://qiita.com/nishikyon/items/b88845c359771585fbd0)」を参照

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/19aac82f-6dc7-1890-51df-ab0c9141712d.png)

##### 6.6 「役割とアクション」の「サービス・アクセス」の「MetadataAdmin」にチェックを入れ、「次へ」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/11c76a01-8531-4d1e-85db-ac7ed4985228.png)


##### 6.6　「追加」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/b1dd22bb-b020-4d20-b207-9d361f02b31f.png)



##### 6.7　右側の「アクセス・サマリー」の「割り当て」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/174dfaf4-af95-4be3-9ca7-60a318114a35.png)



アクセス・ポリシーに登録されれば完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/165712ce-753c-4413-9ef4-5030497d39c3.png)




# 2. 参考ドキュメント
[公式ドキュメント](https://cloud.ibm.com/docs/watsonxdata?topic=watsonxdata-intro_nativespark)の「ネイティブ Spark エンジンの概要」以下を参照してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/9870e69e-d35a-6fd4-ea32-289d42783f22.png)


以上です。