Афина Айсберг медленно на пустой стол

Я смотрю на новые таблицы айсбергов для 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 обнаружить разделы?

0 ответов

Другие вопросы по тегам