class DeltaLake::TableOptimizer
def compact(
def compact( partition_filters: nil, target_size: nil, max_concurrent_tasks: nil, min_commit_interval: nil, writer_properties: nil, post_commithook_properties: nil, commit_properties: nil ) metrics = @table._table.compact_optimize( @table._stringify_partition_values(partition_filters), target_size, max_concurrent_tasks, min_commit_interval, writer_properties, post_commithook_properties, commit_properties ) @table.update_incremental result = JSON.parse(metrics) ["filesAdded", "filesRemoved"].each do |key| result[key] = JSON.parse(result[key]) if result[key].is_a?(String) end # TODO return underscore symbols like delete result end
def initialize(table)
def initialize(table) @table = table end
def z_order(
def z_order( columns, partition_filters: nil, target_size: nil, max_concurrent_tasks: nil, max_spill_size: 20 * 1024 * 1024 * 1024, min_commit_interval: nil, writer_properties: nil, post_commithook_properties: nil, commit_properties: nil ) metrics = @table._table.z_order_optimize( Array(columns), @table._stringify_partition_values(partition_filters), target_size, max_concurrent_tasks, max_spill_size, min_commit_interval, writer_properties, post_commithook_properties, commit_properties ) @table.update_incremental result = JSON.parse(metrics) ["filesAdded", "filesRemoved"].each do |key| result[key] = JSON.parse(result[key]) if result[key].is_a?(String) end # TODO return underscore symbols like delete result end