Personalizzazione dell'API

Personalizzazione dell'API inwatsonx.data fornisce agli amministratori delle istanze un modo per personalizzare JVM, CONFIG, catalogo e Velox (Presto (C++)) proprietà perPresto (Java ) EPresto (C++) tramite un'API.

Presto ( Java ) i motori nelle istanze del piano watsonx.data Lite consentono di personalizzare solo i tag, la descrizione e il nome visualizzato del motore.

Questo metodo di personalizzazione non richiede l'aggiunta di parametri all'interno del pod, il riavvio del pod (se è presente una distribuzione CPD) o il contatto con il personale di supporto (se è presenteSaaS distribuzione) per la personalizzazione. Inoltre non richiede alcun accesso e privilegi speciali al sistema backend. La personalizzazione dell'API è un modo unificato per personalizzare le proprietà consentite inwatsonx.data, indipendentemente dalla distribuzione. La personalizzazione dell'API è supportata tramite l'API PATCH. Endpoint API e richieste di esempio perPresto (Java ) EPresto (C++) i motori sono i seguenti:

API PATCH (Presto (Java ) motore)

Endpoint

/presto_engines/{engine_id}

Corpo della richiesta

La patch di personalizzazione API deve avere i seguenti campi obbligatori configuration, jvm, catalog, event_listener, jmx_exporter_config, log_config, global e altri campi opzionali.

{
    "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 PATCH (Presto (motore C++))

Endpoint

/prestissimo_engines/{engine_id}

Corpo della richiesta

La patch di personalizzazione API deve avere i seguenti campi obbligatori configuration, jvm, catalog, velox, log_config, global e altri campi opzionali.

optimizer_properties per Presto (C++) non può essere personalizzato se le Tabelle di query materializzate sono attivate dalla scheda di configurazione.

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

Puoi trovare l'esempio di curl per la personalizzazione dell'API in Aggiorna il motore di Presto.

Per l'elenco delle proprietà che possono essere personalizzate tramite un'API perPresto (Java ), Vedere:

Per l'elenco delle proprietà che possono essere personalizzate tramite un'API perPresto (C++), vedere:

Per gli immobili che necessitano di essere personalizzati sotto la guida dell'watsonx.data squadra di supporto, vedere Proprietà da personalizzare sotto la guida del supporto.

È possibile ottenere i log del plug-in System Access Control (SAC) con informazioni DEBUG. Per abilitare i log DEBUG del plug-in SAC in Presto, attivare l'API di personalizzazione e aggiungere "com.ibm.openlakehouse.prestodb": "DEBUG" sotto log_config.

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

Per ulteriori informazioni, vedere Aggiornamento del motore presto.