API 사용자 정의

API 사용자 정의watsonx.data 인스턴스 관리자가 JVM, CONFIG, 카탈로그 및 Velox를 사용자 정의할 수 있는 방법을 제공합니다(Presto (C++)) 속성Presto (Java ) 그리고Presto (C++) 엔진은 API를 통해 제공됩니다.

Presto ( Java ) 엔진은 watsonx.data 라이트 요금제 인스턴스에서 태그, 설명 및 엔진 표시 이름에 대한 사용자 지정만 허용합니다.

이 사용자 정의 방법에서는 포드 내부에 매개변수를 추가하거나, 포드를 다시 시작하거나(CPD 배포가 있는 경우) 지원 담당자에게 연락할 필요가 없습니다(CPD 배포가 있는 경우).SaaS 배포)를 통해 사용자 정의할 수 있습니다. 또한 백엔드 시스템에 대한 특별한 액세스 및 권한이 필요하지 않습니다. API 사용자 지정은 허용되는 속성을 사용자 지정하는 통합 방법입니다.watsonx.data, 배포에 관계없이. API 사용자 정의는 PATCH API를 통해 지원됩니다. API 엔드포인트 및 샘플 요청Presto (Java ) 그리고Presto (C++) 엔진은 다음과 같습니다:

패치 API(Presto (Java ) 엔진)

엔드포인트

/presto_engines/{engine_id}

요청 본문

API 사용자 지정 패치에는 필수 필드로 configuration, jvm, catalog, event_listener, jmx_exporter_config, log_config, global 및 기타 필드가 선택 사항으로 포함되어야 합니다.

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

요청 본문

API 사용자 지정 패치에는 필수 필드로 configuration, jvm, catalog, velox, log_config, global 및 기타 필드가 선택 사항으로 포함되어야 합니다.

optimizer_properties 구성 탭에서 구체화된 쿼리 테이블이 활성화된 경우 프레스토(C++)의 경우 사용자 지정할 수 없습니다.

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

API 사용자 정의에 대한 컬 예제는 다음에서 찾을 수 있습니다.프레스토 엔진 업데이트.

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

자세한 내용은 프레스토 엔진 업데이트 를 참조하세요.