# Image CDC job: Spark + jar Iceberg/Kafka bundled + script. Reproducible, khởi động nhanh. FROM spark:3.5.6 USER root ARG IVY_PKGS="org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.9.1,org.apache.iceberg:iceberg-aws-bundle:1.9.1,org.apache.spark:spark-sql-kafka-0-10_2.12:3.5.6" # Tải sẵn các jar vào /opt/spark/jars (không tải runtime mỗi lần pod start) RUN /opt/spark/bin/spark-shell --packages "${IVY_PKGS}" --conf spark.jars.ivy=/tmp/.ivy <<< 'System.exit(0)' || true \ && find /root/.ivy2 -name '*.jar' -exec cp {} /opt/spark/jars/ \; 2>/dev/null || true # Script CDC (copy vào work-dir) COPY cdc_crm_to_raw.py /opt/spark/work-dir/cdc_crm_to_raw.py USER 185