IMPALA-14983: Add typed operator config keys
Add typed configuration fields under ImpalaCluster spec.config for
impalad, catalogd, statestored, and HMS daemon flags plus impalad query
defaults.
Map the typed fields into Helm values in the operator reconciler while
keeping spec.set as a backward-compatible advanced override path.
Add focused operator unit tests covering typed set-arg rendering,
escaping behavior, and LDAP disable/reconciliation edge cases.
Update CRD schema, sample ImpalaCluster, and Kubernetes deployment guide
with typed-key examples and escaping guidance.
Testing:
- python3 -m py_compile operator/impala-operator/main.py
- python3 operator/impala-operator/tests/test_main.py
- ruby YAML parsing for CRD and sample ImpalaCluster manifests
- kubectl config current-context (k3d-impala-live)
- kubectl apply -f operator/impala-operator/manifests/crd-impalacluster.yaml
- kubectl apply -f operator/impala-operator/manifests/rbac.yaml
- kubectl create namespace impala-14983-live
- /tmp/impala-op-venv/bin/python reconcile driver invoking _ensure_namespace,
_ensure_ldap, and _ensure_impala with
spec.config.impalad.flags.num_reactor_threads=0 and
spec.config.impalad.queryDefaults={default_file_format=parquet,mt_dop=4}
- kubectl rollout status deployment/impala-14983-live-impala-
{statestored,catalogd,impalad,hms} -n impala-14983-live
- kubectl get deployment impala-14983-live-impala-impalad -n
impala-14983-live -o jsonpath='{.spec.template.spec.containers[0].args}'
(contains -num_reactor_threads=0 and
-default_query_options=default_file_format=parquet,mt_dop=4)
- helm -n impala-14983-live status impala-14983-live (STATUS: deployed)
- kubectl get pods -n impala-14983-live (all core pods Running/Ready)
Change-Id: Ie24380d4700cf8377f291de2406cb6ed12f6d6f4
Assisted-by: GPT-5.3 (Cursor)
Reviewed-on: http://gerrit.cloudera.org:8080/24365
Reviewed-by: Jason Fehr <jfehr@cloudera.com>
Tested-by: Jason Fehr <jfehr@cloudera.com>
Lightning-fast, distributed SQL queries for petabytes of data stored in open data and table formats.
Impala is a modern, massively-distributed, massively-parallel, C++ query engine that lets you analyze, transform and combine data from a variety of data sources:
The fastest way to try out Impala is a quickstart Docker container. You can try out running queries and processing data sets in Impala on a single machine without installing dependencies. It can automatically load test data sets into Apache Kudu and Apache Parquet formats and you can start playing around with Apache Impala SQL within minutes.
To learn more about Impala as a user or administrator, or to try Impala, please visit the Impala homepage. Detailed documentation for administrators and users is available at Apache Impala documentation.
If you are interested in contributing to Impala as a developer, or learning more about Impala's internals and architecture, visit the Impala wiki.
Impala only supports Linux at the moment. Impala supports x86_64 and arm64 (as of Impala 4.4). Impala Requirements contains more detailed information on the minimum CPU requirements.
Impala runs on Linux systems only. The supported distros are
Other systems, e.g. SLES15/16, may also be supported but are not tested by the community.
This distribution uses cryptographic software and may be subject to export controls. Please refer to EXPORT_CONTROL.md for more information.
See Impala's developer documentation to get started.
Detailed build notes has some detailed information on the project layout and build.