Personnalisation des API

Personnalisation de l'API danswatsonx.data fournit aux administrateurs d'instance un moyen de personnaliser JVM, CONFIG, catalogue et Velox (Presto (C++)) propriétés pourPresto (Java ) etPresto (C++) via une API.

Presto ( Java ) les moteurs dans les instances du plan watsonx.data Lite ne permettent de personnaliser que les balises, la description et le nom d'affichage du moteur.

Cette méthode de personnalisation ne nécessite pas que vous ajoutiez les paramètres à l'intérieur du pod, que vous redémarriez le pod (s'il y a un déploiement CPD) ou que vous contactiez le personnel d'assistance (s'il y a un déploiement CPD).SaaS déploiement) pour la personnalisation. Il ne nécessite également aucun accès ni privilèges spéciaux au système backend. La personnalisation de l'API est un moyen unifié de personnaliser les propriétés autorisées danswatsonx.data, quel que soit le déploiement. La personnalisation de l'API est prise en charge via l'API PATCH. Points de terminaison de l'API et exemples de requêtes pourPresto (Java ) etPresto Les moteurs (C++) sont les suivants :

API DE PATCH (Presto (Java ) moteur)

Noeud final

/presto_engines/{engine_id}

Corps de demande

Le patch de personnalisation de l'API doit contenir les champs obligatoires suivants : configuration, jvm, catalog, event_listener, jmx_exporter_config, log_config, global et d'autres champs facultatifs.

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

Noeud final

/prestissimo_engines/{engine_id}

Corps de demande

Le patch de personnalisation de l'API doit contenir les champs obligatoires suivants : configuration, jvm, catalog, velox, log_config, global et d'autres champs facultatifs.

optimizer_properties pour presto (C++) ne peut pas être personnalisé si les tables de requêtes matérialisées sont activées à partir de l'onglet de configuration.

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

Vous pouvez trouver l'exemple curl pour la personnalisation de l'API dans Mettre à jour le moteur Presto.

Pour la liste des propriétés pouvant être personnalisées via une API pourPresto (Java ), voir:

Pour la liste des propriétés pouvant être personnalisées via une API pourPresto (C++), voir :

Pour les propriétés qui doivent être personnalisées sous la direction duwatsonx.data équipe d'assistance, voir Propriétés à personnaliser sous assistance.

Vous pouvez obtenir les journaux du plug-in de contrôle d'accès au système (SAC) avec des informations DEBUG. Pour activer les journaux DEBUG du plug-in SAC dans Presto, déclenchez l'API de personnalisation et ajoutez "com.ibm.openlakehouse.prestodb": "DEBUG" sous log_config.

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

Pour plus d'informations, voir Mise à jour du moteur presto.