Афина Айсберг медленно на пустой стол
Я смотрю на новые таблицы айсбергов для AWS Athena. Я надеюсь перенести свое озеро данных в Iceberg, чтобы значительно упростить управление разделами таблиц и, надеюсь, повысить производительность. Я создал тестовую таблицу айсбергов с двумя полями:
event_date
и
log
.
CREATE TABLE ACME.iceberg_test (
event_date timestamp,
log string
)
PARTITIONED BY (
hour(event_date)
)
LOCATION
's3://ACME/iceberg_test'
TBLPROPERTIES (
'table_type'='ICEBERG',
'compaction_bin_pack_target_file_size_bytes'='536870912'
);
Это создает новый префикс S3 в ACME с метаданными и т. Д. Я запрашиваю эту новую пустую таблицу, и требуется 14 секунд для получения 0 результатов.
Я загружаю его 20 образцами строк:
INSERT INTO iceberg_test
VALUES
(timestamp '2021-12-20 01:30:00', 'hello'),
(timestamp '2021-12-20 02:30:00', 'hello'),
(timestamp '2021-12-20 03:30:00', 'hello'),
(timestamp '2021-12-20 04:30:00', 'hello'),
(timestamp '2021-12-20 05:30:00', 'hello'),
(timestamp '2021-12-20 06:30:00', 'hello'),
(timestamp '2021-12-20 07:30:00', 'hello'),
(timestamp '2021-12-20 08:30:00', 'hello'),
(timestamp '2021-12-20 09:30:00', 'hello'),
(timestamp '2021-12-20 10:30:00', 'hello'),
(timestamp '2021-12-20 11:30:00', 'hello'),
(timestamp '2021-12-20 12:30:00', 'hello'),
(timestamp '2021-12-20 13:30:00', 'hello'),
(timestamp '2021-12-20 14:30:00', 'hello'),
(timestamp '2021-12-20 15:30:00', 'hello'),
(timestamp '2021-12-20 16:30:00', 'hello'),
(timestamp '2021-12-20 17:30:00', 'hello'),
(timestamp '2021-12-20 18:30:00', 'hello'),
(timestamp '2021-12-20 19:30:00', 'hello'),
(timestamp '2021-12-20 20:30:00', 'hello');
И для хорошей меры запустите на нем их команду «OPTIMIZE», которая, я думаю, только выполняет сжатие, но думала, что она также может запустить обнаружение некоторых разделов.
OPTIMIZE iceberg_test REWRITE DATA
USING BIN_PACK;
Но чтобы вернуть сюда мои 20 строк, все еще требуется 14 секунд. Похоже, я не настроил свои таблицы должным образом, и разделы не используются эффективно. Я даже попытался добавить предикат раздела, который выходит далеко за рамки приведенных мной примеров данных:
SELECT * FROM iceberg_test WHERE event_date < timestamp '2021-10-10';
Все еще беру 14 с.
Я не уверен, что еще мне нужно делать, кроме регистрации разделов. Почему в моей таблице айсбергов не используются известные мета-разделы? Как я могу заставить Iceberg обнаружить разделы?