Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[PIPELINES] Support partition transforms in SDP partition_cols

Đang mở
#57,908 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 2 ngày

@wilhelmagren đang làm issue này rồi.

Từ ngày 10/8/2026.

  • #57910 của @wilhelmagren — đang mở

Đá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
Công nghệ
python, scala, sql

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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của apache/spark

Tất cả issue của apache/spark

Issue tương tự

Thêm issue về Scala

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.