Personalización de API

Personalización de API enwatsonx.data proporciona una manera, por ejemplo, de que los administradores personalicen JVM, CONFIG, catálogo y Velox (Presto (C++)) propiedades paraPresto (Java ) yPresto (C++) a través de una API.

Presto ( Java ) los motores en las instancias del plan watsonx.data Lite sólo permiten personalizar las etiquetas, la descripción y el nombre para mostrar del motor.

Este método de personalización no requiere que agregue los parámetros dentro del pod, reinicie el pod (si hay implementación de CPD) o se comunique con el personal de soporte (si haySaaS implementación) para su personalización. Tampoco requiere ningún acceso ni privilegios especiales al sistema backend. La personalización de API es una forma unificada de personalizar las propiedades permitidas enwatsonx.data, independientemente de la implementación. La personalización de API se admite a través de PATCH API. Puntos finales de API y solicitudes de muestra paraPresto (Java ) yPresto (C++) los motores son los siguientes:

API DE PARCHE (Presto (Java ) motor)

Punto final

/presto_engines/{engine_id}

Cuerpo de solicitud

El parche de personalización de la API debe tener los siguientes campos obligatorios configuration, jvm, catalog, event_listener, jmx_exporter_config, log_config, global y otros campos opcionales.

{
    "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 DE PARCHE (Presto (motor C++))

Punto final

/prestissimo_engines/{engine_id}

Cuerpo de solicitud

El parche de personalización de la API debe tener los siguientes campos obligatorios configuration, jvm, catalog, velox, log_config, global y otros campos opcionales.

optimizer_properties para presto (C++) no puede personalizarse si se activan las Tablas de consulta materializadas desde la pestaña de configuración.

{
    "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"
            }
        },
        "optimizer_properties":{
                "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"
    ]
}

Puede encontrar el ejemplo de curl para la personalización de API en Actualizar motor presto.

Para obtener la lista de propiedades que se pueden personalizar a través de una API paraPresto (Java ), ver:

Para obtener la lista de propiedades que se pueden personalizar a través de una API paraPresto (C++), consulte:

Para propiedades que deben personalizarse bajo la guía delwatsonx.data equipo de soporte, ver Propiedades que se personalizarán bajo la guía de soporte.

Puede obtener los registros del complemento Control de acceso al sistema (SAC) con información DEBUG. Para habilitar DEBUG registros del complemento SAC en Presto, active la API de personalización y añada "com.ibm.openlakehouse.prestodb": "DEBUG" bajo log_config.

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

Para obtener más información, consulte Actualizar motor presto.