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 такого нет)