Allow to install custom python libraries
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Lĩnh vực
- devops, infrastructure
Hướng nghiên cứu
Chưa xác định được tệp repository, test hoặc entry point nào. Trước tiên, hãy xác định AirflowCluster CRD và các entry point deployment hoặc reconciliation của nó, sau đó đánh giá cách biểu diễn và áp dụng một requirements ConfigMap; công việc được xem là hoàn tất khi có thiết kế đã được thống nhất, phạm vi triển khai và các test cho cấu hình được đề xuất.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Current Situation
If you want to use non-standard python libraries in an Airflow job, you'd need to build a custom image, pip install those and then use your custom image in your cluster.
Preferred Situation
You can configure a requirements.txt, which then will be installed in the Airflow deployment.
Example
E.g. you want to use pandas==2.2.2 in a DAG, currently you would need to setup a CI/CD way of building and deploying a custom Airflow image. The Dockerfile would look like:
FROM oci.stackable.tech/sdp/airflow:${AIRFLOW_VERSION}-stackable${STACKABLE_VERSION}
ARG PYTHON_VERSION=3.9
# Install custom python libraries
RUN pip install \
--no-cache-dir \
--upgrade \
pandas==2.2.2
Although this is fairly easy doable it implies maintenance and resources. I consider this being a fairly common use case and thus we should think about if we could cover it with e.g. ( no strong opinion neither on naming nor where it should be in the crd and how )
---
apiVersion: airflow.stackable.tech/v1alpha1
kind: AirflowCluster
metadata:
name: airflow
spec:
image:
productVersion: 2.9.3
clusterConfig:
loadExamples: false
exposeConfig: false
credentialsSecret: simple-airflow-credentials
requirements:
configMap:
name: custom_requirements
and a configMap
---
apiVersion: v1
kind: ConfigMap
metadata:
name: custom_requirements
data:
requirements.txt: |
pandas==2.2.2
I think a solution on operator level would remove the pain to construct and maintain a build pipeline to the cluster. It moves the maintenance effort into the Airflow Operator, but this already needs attention ( stackable versions, product versions ).
However, I can't evaluate how much effort we need to put in to archive this and what kind of risks this would imply.
- Ngôn ngữ chính
- Rust
- Star
- 32
- Fork
- 6
- Merge trung bình
- 1 ngày 7 giờ
- Pull request đã merge (30 ngày)
- 13
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của stackabletech/airflow-operator
-
type/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
stackabletech/airflow-operator#855 · 1 bình luận ·
-
good first issue type/feature-improvement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 42/100
stackabletech/airflow-operator#697 · 1 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Integrate DAG editor in Airflow Đang mởtype/feature-new
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
Tất cả issue của stackabletech/airflow-operator
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
state:needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
zed-industries/zed#64680 · 2 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
RustPython/RustPython#8802 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
TheLarkInn/aipm#2390 ·