Skip to content

Tracking issues of iceberg-rust v0.2 #18

@Xuanwo

Description

@Xuanwo

Tasks

  • specs: Add Schema
    • Visitor pattern
      • Binding visitor to bind an UnboundPredicate
    • Expressions:
      • Term trait
      • Unbound trait
      • Expression trait
      • Bound trait
  • specs: Add TableMetadata
    • Support for both V1 and V2.
    • When read, set V2 fields (schemas, current-schema-id, partition-specs, default-spec-id, last-partition-id, sort-orders, default-sort-order-id, refs) so we can just assume that it is a V2 table.
  • specs: Add Manifest
    • ManifestList and Manifest
  • specs: Transforms
    • Iceberg has a set of transforms that need to be implemented
    • For the bucket transforms, the values need to be hashed.
  • io: How to handle IO? Support for GCS, S3, ADLS, etc. Do we want something similar to the FileIO in (Py)Iceberg.
  • arrow: Reading data from iceberg to arrow record batches
  • arrow: Writing unpartitioned data into iceberg from arrow record batches
  • arrow: Writing partitioned data into iceberg from arrow record batches
  • api: Table API design
  • api: Catalog API design #23
  • rest catalog

Future tasks

  • PartitionEvaluator: Able to prune files on the ManifestList and Manifest level by taking the partition predicate into account.
  • MetricsEvaluator: Able to prune DataFiles based on the column metrics on the Manifest

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions