与 watsonx.data 独立版集成( Analytics Engine powered by Apache Spark )
您可以将 Analytics Engine powered by Apache Spark 与 watsonx.data 集成。
开始之前
必须先执行以下操作,然后才能为 watsonx.data配置由 Spark 实例提供技术支持的 Analytics Engine :
- 单独安装 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 服务实例。 请参阅 “配置实例 ”。
过程
要为 watsonx.data: 配置由 Spark 提供技术支持的 Analytics Engine 实例,请执行以下操作:
为 watsonx.data HMS( Hive Metastore 服务器)配置一个 Cloud Pak for Data 存储卷,用于持久化 SSL / TLS 证书。 如需了解更多信息,请参阅 “管理存储卷”。
- 创建节点端口服务。 请参阅 使用 NodePort访问 Hive Metastore (HMS)。
- 导入自签名证书。 请参阅 将自签名证书从 Hive metastore 服务器导入到 Java 信任库。
- 将
truststore.jks文件上载到 Cloud Pak for Data中的存储卷。
生成访问令牌,以设置 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"CONFIGURATION_DETAILS: 复制以下配置详细信息并替换以下值:
<infrastructure_node_ip>:<nodeport>: 获取 watsonx.data 实例的基础结构节点。<hms-user-from-watsonx.data>: Cloud Pak for Data 集群管理员用户或具有 metastore 管理员访问权的用户。 要向用户授予 metastore 管理员访问权,请参阅 管理对 Hive Metastore 的访问权。<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>" }