IBM Cloud Docs
API 定制

API 定制

API 自定义watsonx.data为实例管理员提供了一种自定义 JVM、CONFIG、catalog 和 Velox 的方法(Presto(C++))属性Presto(Java ) 和Presto(C++)引擎通过 API。

这种定制方法不需要您在 pod 中添加参数、重新启动 pod(如果有 CPD 部署),或联系支持人员(如果有SaaS您可以使用 Deployment 进行定制。 它也不需要对后端系统有任何特殊的访问和权限。 API 自定义是自定义允许属性的统一方式watsonx.data,无论部署如何。 通过 PATCH API 支持 API 定制。 API 端点和示例请求Presto(Java ) 和Presto(C++)引擎如下:

补丁 API(Presto(Java ) 引擎)

端点

/presto_engines/{engine_id}

请求主体

{
    "description": "updated description for presto engine",
    "engine_display_name": "sampleEngine",
    "engine_properties": {
        "configuration": {
            "coordinator": {
                "property_1": "property_value",
                "property_2": "property_value"
            },
            "worker": {
                "property_1": "property_value",
                "property_2": "property_value"
            }
        },
        "jvm": {
            "coordinator": {
                "property_1": "property_value",
                "property_2": "property_value"
            },
            "worker": {
                "property_1": "property_value",
                "property_2": "property_value"
            }
        },
        "catalog": {
                "property_1": "property_value",
                "property_2": "property_value"
        },
        "event_listener": {
            "property_1": "property_value",
            "property_2": "property_value"
        },
        "log_config": {
            "coordinator": {
                "property_1": "property_value",
                "property_2": "property_value"
            },
            "worker": {
                "property_1": "property_value",
                "property_2": "property_value"
            }
        },
        "global": {
            "enable-mixed-case-support": "true"
        }
    },
    "engine_restart": "force",
    "remove_engine_properties": {
        "configuration": {
            "coordinator": [
                "property1",
                "property2"
            ],
            "worker": [
                "property1",
                "property2"
            ]
        },
        "jvm": {
            "coordinator": [
                "property1",
                "property2"
            ],
            "worker": [
                "property1",
                "property2"
            ]
        },
        "event_listener": [
            "property1",
            "property2"
        ]
    },
    "catalog": {
        "catalog_name": [
            "property1",
            "property2"
        ]
    },
    "global": {},
    "tags": [
        "tag1",
        "tag2"
    ]
}

补丁 API(Presto(C++ 引擎)

端点

/prestissimo_engines/{engine_id}

请求主体

{
    "description": "updated description for prestissimo engine",
    "engine_display_name": "sampleEngine",
    "engine_properties": {
        "configuration": {
            "coordinator": {
                "property_1": "property_value",
                "property_2": "property_value"
            },
            "worker": {
                "property_1": "property_value",
                "property_2": "property_value"
            }
        },
        "jvm": {
            "coordinator": {
                "property_1": "property_value",
                "property_2": "property_value"
            }
        },
        "catalog": {
            "catalog_name": {
                "coordinator": {
                    "property_1": "property_value",
                    "property_2": "property_value"
            },
            "worker": {
                "property_1": "property_value",
                "property_2": "property_value"
            }
          }
        },
        "velox": {
            "property_1": "property_value",
            "property_2": "property_value"
        },
        "log_config": {
            "coordinator": {
                "property_1": "property_value",
                "property_2": "property_value"
            },
            "worker": {
                "property_1": "property_value",
                "property_2": "property_value"
            }
        },
        "global": {
            "property_1": "property_value",
            "property_2": "property_value"
        }
    },
    "engine_restart": "force",
    "remove_engine_properties": {
        "configuration": {
            "coordinator": [
                "property1",
                "property2"
            ],
            "worker": [
                "property1",
                "property2"
            ]
        },
        "catalog": {
            "catalog_name": {
                "coordinator": [
                    "property1",
                    "property2"
                ],
                "worker": [
                    "property1",
                    "property2"
                ]
            }
        },
        "jvm": {
            "coordinator": [
                "property1",
                "property2"
            ]
        },
        "log_config": {
            "coordinator": [
                "property1",
                "property2"
            ],
            "worker": [
                "property1",
                "property2"
            ]
        },
        "velox": [
            "property1",
            "property2"
        ]
    },
    "tags": [
        "tag1",
        "tag2"
    ]
}

您可以在以下位置找到 API 自定义的 curl 示例 更新 presto 引擎

可通过 API 自定义的属性列表Presto(Java ),看:

可通过 API 自定义的属性列表Presto(C++),参见:

对于必须在指导下定制的属性watsonx.data支持团队,请参阅 支持指导下可自定义的属性

您可以获取包含 DEBUG 信息的系统访问控制 (SAC) 插件日志。 要在 Presto 中启用 SAC 插件的 DEBUG 日志,请触发自定义 API 并在 log_config 下添加 "com.ibm.openlakehouse.prestodb": "DEBUG"

"log_config": {
           "coordinator": {
               "com.ibm.openlakehouse.prestodb": "DEBUG"
           },
           "worker": {}
       }

有关详细信息,请参阅 更新 presto 引擎