Skip to content

Latest commit

 

History

History
32 lines (22 loc) · 835 Bytes

File metadata and controls

32 lines (22 loc) · 835 Bytes

Partition Management

IceFrame allows you to manage table partitioning to optimize query performance.

Accessing Partition Manager

# Get partition manager for a table
partitioner = ice.partition_by("logs")

Adding Partition Fields

IceFrame supports various transforms: identity, bucket, truncate, year, month, day, hour.

# Partition by 'category' (identity)
ice.partition_by("logs").add_partition_field("category")

# Partition by day of 'timestamp'
ice.partition_by("logs").add_partition_field("timestamp", "day", name="day_ts")

# Partition by bucket of 'user_id'
ice.partition_by("logs").add_partition_field("user_id", "bucket", 16, name="user_bucket")

Dropping Partition Fields

# Drop partition field
ice.partition_by("logs").drop_partition_field("category")