Размер стола в AWS-Афина - PullRequest
0 голосов
/ 19 декабря 2018

Существует ли основанный на SQL способ получения размера всех таблиц в базе данных в AWS-Athena?

Я более знаком с MSSQL и там относительно легко написать такой запрос.

1 Ответ

0 голосов
/ 06 февраля 2019

Вы можете запустить SELECT * FROM some_table для каждой таблицы и посмотреть метаданные результата для отсканированного количества, но это будет дорогой способ сделать это.

Афина на самом деле не знает о данных вваши таблицы, как это делает СУБД, только когда вы запрашиваете таблицу, Афина выходит посмотреть на данные.Это действительно S3, что вы должны как.Вы можете перечислить все объекты в расположении (ях) ваших таблиц и суммировать их размеры, но это может быть трудоемким способом сделать это, если имеется много объектов.

Наименее дорогой и наименее трудоемкийТаким образом, когда существует много сотен тысяч объектов, включите инвентаризацию S3 в корзине, содержащей данные для ваших таблиц, а затем используйте инвентаризацию для суммирования размеров для каждой таблицы.Вы можете получить инвентарь в формате CSV, ORC или Parquet, и все они хорошо работают с Athena - так что, если у вас много файлов в вашем ведре, вы все равно можете запросить инвентарь очень эффективно.

Вы можетеподробнее о S3 Inventory читайте здесь: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html

...