watsonx.data スタンドアロン版との連携( Analytics Engine powered by Apache Spark )
Analytics Engine powered by Apache Spark と watsonx.data を連携させることができます。
始める前に
Sparkを基盤とする Analytics Engine インスタンスを watsonx.data 用に構成する前に、以下の手順を実行する必要があります:
- watsonx.data をスタンドアロン版としてインストールします。 詳細については、 「スタンドアロン版 watsonx.data のインストール」 を参照してください。
- Analytics Engine を搭載した Apache Spark で、 Cloud Pak for Data ( 4.7.x )をインストールします。 詳細については、 「 Analytics Engine powered by Apache Spark のインストール」 を参照してください。
- Analytics Engine powered by Apache Spark サービスのインスタンスをプロビジョニングします。 「インスタンスのプロビジョニング」 を参照してください。
手順
Sparkを基盤とする Analytics Engine インスタンスを watsonx.data: 用に設定するには
watsonx.data HMS( Hive メタストアサーバー)の SSL および TLS 証明書を永続化するために、 Cloud Pak for Data ストレージボリュームをプロビジョニングします。 詳細については、 「ストレージボリュームの管理」 を参照してください。
- NodePort サービスを作成します。 「 NodePort を使用した Hive メタストア(HMS)へのアクセス 」を参照してください。
- 自己署名証明書をインポートします。 「 Hive メタストアサーバーからJavaトラストストアへの自己署名証明書のインポート」 を参照してください。
- Cloud Pak for Data 内のストレージボリュームにファイルをアップロードしてください
truststore.jks。
Analytics Engine powered by Apache Spark インスタンスのデフォルト設定を設定するために、アクセストークンを生成します。 「API認証トークンの生成」 を参照してください。
APIを実行して、インスタンスのデフォルト設定を設定します:
c. curl -X PATCH --location --header "Authorization: ZenApiKey {ACCESS_TOKEN}" --header "Accept: application/json" --header "Content-Type: application/merge-patch+json" --data '{ d. <CONFIGURATION_DETAILS> }' "<https://<CloudPakforData_URL>/v4/analytics_engines/<INSTANCE_ID>/default_configs"設定の詳細:以下の設定内容をコピーし、以下の値に置き換えてください:
<infrastructure_node_ip>:<nodeport>: ` watsonx.data ` インスタンスのインフラストラクチャノードを取得します。<hms-user-from-watsonx.data>: Cloud Pak for Data クラスタ管理者ユーザー、またはメタストア管理者権限を持つユーザー。 ユーザーにメタストアの管理者権限を付与するには、 「 Hive メタストアへのアクセス管理」 を参照してください。<hms-password-from-watsonx.data>: Cloud Pak for Data クラスタ管理者のパスワード。<truststore-password>: ステップ2で取得したHMStruststore.jksパスワード。<watsonx-data-hms-certificate-volume>: 手順 1 で作成したボリュームの名前を入力してください。
{ "spark.sql.catalogImplementation": "hive", "spark.driver.extraClassPath": "/opt/ibm/connectors/iceberg-lakehouse/iceberg-3.3.2-1.2.1-hms-4.0.0-shaded.jar", "spark.sql.extensions": "org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions", "spark.sql.iceberg.vectorization.enabled": "false", "spark.sql.catalog.lakehouse": "org.apache.iceberg.spark.SparkCatalog", "spark.sql.catalog.lakehouse.type": "hive", "spark.sql.catalog.lakehouse.uri": "thrift://<infrastructure_node_ip>:<nodeport>", "spark.hive.metastore.client.auth.mode": "PLAIN", "spark.hive.metastore.client.plain.username": "<hms-user-from-watsonx.data>", # (for example, admin or metastoreadmin) "spark.hive.metastore.client.plain.password": "<hms-password-from-watsonx.data>", "spark.hive.metastore.use.SSL": "true", "spark.hive.metastore.truststore.type": "JKS", "spark.hive.metastore.truststore.path": "file:///<watsonx-data-hms-certificate-volume>/truststore.jks", "spark.hive.metastore.truststore.password": "<truststore-password>" }