[PIPELINES] Support partition transforms in SDP partition_cols
Maintainer thường phản hồi trong vòng 2 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 68/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Lĩnh vực
- data-engineering, databases
Hướng nghiên cứu
Bắt đầu trong DatasetManager.materializeTable, nơi partition_cols hiện được ánh xạ thông qua Expressions.identity. Đọc logic phân tích cú pháp Catalyst hiện có được dùng cho các phép biến đổi SQL PARTITIONED BY, sau đó kiểm tra hành vi đối với các cột đơn, months(event_time) và bucket(16, user_id). Được xem là hoàn tất khi các phép biến đổi identity vẫn được giữ lại cho tên cột, trong khi cú pháp phép biến đổi được hỗ trợ tạo ra các phép biến đổi V2 tương ứng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
spark=4.1.3
iceberg=1.11.0
Problem
SDP currently treats every entry in partition_cols as an identity partition transform.
for example
@dp.materialized_view(partition_cols=["months(event_time)"])
def events():
...
causes months(event_time) to be interpreted as a column name instead of a partition transform.
Behaviour comes from DatasetManager.materializeTable where all partition cols are converted using identity
table.partitionCols.toSeq.flatten.map(Expressions.identity)
and as a result using the above partition col it just becomes identity('months(event_time)').
Expected behaviour
SDP should support the same partition transforms that Spark SQL already supports
Bare col-names (partition_col=["event_date"]) should continue producing identity(event_date)
but partition transforms should be respected, and combining partitions like
partition_cols=["country", "bucket(16, user_id)"]
should produce its corresponding V2 partition transforms.
Existing SQL support
Catalyst parses partition transform syntax for SQL PARTITIONED BY and creates corresponding V2 Transform
SDP should just reuse the existing Catalyst parsing logic and not short-circuit everything to identity transform.
- Ngôn ngữ chính
- Scala
- Star
- 44.2k
- Fork
- 29.5k
- Merge trung bình
- 8 giờ 43 phút
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
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 apache/spark
-
[BUILD] Bump Ivy up to 2.6.0Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
Maintainer thường phản hồi trong vòng 2 ngày
-
[SQL][CONNECT] SparkConnectClient may drop metadata (auth headers) on retried/reattached RPCs if metadata is a non-list iterableCó thể đã có người làm @zainmirzaaa đã nhận 63 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 2 ngày
-
[CORE] bug report: collision of resource profile idCó thể đã có người làm @ybapat đã nhận 88 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
apache/spark#57498 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[BUILD] Drop oro dependencyĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
apache/spark#57209 · 7 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Merge spark PR script hard blocks on JIRACó thể đã có người làm @holdenk đã nhận 1 ngày trước. Đang mở
apache/spark#59693 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
Issue tương tự
-
enhancement good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
spotify/scio#6018 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
scylladb/scylla-migrator#417 ·
-
[Docs] Document `spark.databricks.delta.optimize.maxThreads` in Compaction (bin-packing) sectionCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởdelta-docs delta-table-maintenance documentation
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
software-mansion/starknet-jvm#641 ·