Personalização de API

Personalização da API emwatsonx.data fornece uma maneira para os administradores de instância personalizarem JVM, CONFIG, catálogo e Velox (Presto (C++)) propriedades paraPresto (Java ) ePresto (C++) por meio de uma API.

Presto ( Java ) os mecanismos nas instâncias do plano watsonx.data Lite só permitem a personalização de tags, descrição e nome de exibição do mecanismo.

Este método de customização não exige que você adicione os parâmetros dentro do pod, reinicie o pod (se houver implantação de CPD) ou entre em contato com a equipe de suporte (se houverSaaS implantação) para personalização. Também não requer nenhum acesso e privilégios especiais ao sistema back-end. A personalização da API é uma maneira unificada de personalizar as propriedades permitidas emwatsonx.data, independentemente da implantação. A personalização da API é suportada pela API PATCH. Endpoints de API e solicitações de amostra paraPresto (Java ) ePresto Os motores (C++) são os seguintes:

API PATCH (Presto (Java ) motor)

Terminal

/presto_engines/{engine_id}

Corpo da solicitação

O patch de personalização da API deve ter os seguintes campos como obrigatórios configuration, jvm, catalog, event_listener, jmx_exporter_config, log_config, global e outros campos como opcionais.

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

Terminal

/prestissimo_engines/{engine_id}

Corpo da solicitação

O patch de personalização da API deve ter os seguintes campos como obrigatórios configuration, jvm, catalog, velox, log_config, global e outros campos como opcionais.

optimizer_properties para presto (C++) não poderá ser personalizado se as tabelas de consulta materializadas estiverem ativadas na guia de configuração.

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

Você pode encontrar o exemplo curl para personalização de API em Atualizar mecanismo presto.

Para obter a lista de propriedades que podem ser personalizadas por meio de uma API paraPresto (Java ), ver:

Para obter a lista de propriedades que podem ser personalizadas por meio de uma API paraPresto (C++), consulte:

Para imóveis que devem ser customizados sob orientação dowatsonx.data equipe de suporte, consulte Propriedades a serem personalizadas sob orientação de suporte.

Você pode obter logs de plug-in do SAC (System Access Control) com informações de DEBUG. Para ativar os DEBUG registros do plug-in SAC no Presto, acione a API de personalização e adicione "com.ibm.openlakehouse.prestodb": "DEBUG" em log_config.

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

Para obter mais informações, consulte Atualizar o mecanismo do presto.