Trino Iceberg remove_orphan_files удаляет data но не удаляет metadata

Я использовал Trino Iceberg и хотел настроить автоматическое удаление старых снипов из данных и метаданных. expire_snapshots почему-то не работает (возможно, я делаю какую-то глупость здесь, вы также можете подсказать здесь). И важное уточнение заключается в том, что я оборачиваю все это в актив для dagster (но сути это не меняет).

@asset(
name='optimized_iceberg',
description="Data extraction and optimization"
)
def optimized_iceberg(
    context: AssetExecutionContext,
) -\> None:
    conn = URL.create(
           "trino",
           host='host',
           port=443,
           database='db',
           username='user',
           password='password',
           query={
               "schema": 'schema',
               "http_scheme": "https",
               },
           )

    conn = create_engine(conn)
    a = conn.connect()
    
    # This query doesn`t work! Why?
    a.execute(text("ALTER TABLE schema.test_table EXECUTE expire_snapshots(retention_threshold => '7d')"))
    
    # This query doesn`t remove metadata. only data
    a.execute(text("ALTER TABLE schema.test_table EXECUTE            remove_orphan_files(retention_threshold => '7d')"))

remove_orphan_files работает, но удаляет только данные, но не метаданные. Я просмотрел решение в Интернете +chatgpt+документация, но не нашел ответа (gpt предлагал remove_orphan_meta_files и meta=true и path=meta и тому подобное, но, очевидно, в Trino Iceberg такого нет)


Ответы (0 шт):