Интеллектуальный отбор проб с помощью AWS Glue Crawlers

У меня на ведре s3 есть пара столов. Таблицы большие как по объему памяти, так и по количеству файлов, они хранятся в JSON (я знаю, неоптимально) и имеют много разделов.

Теперь я хочу включить AWS Glue Data Catalog и AWS Glue Crawlers, однако меня пугает цена сканеров, просматривающих все данные.

Схема не часто меняется, поэтому нет необходимости просматривать все файлы на S3.

Будут ли сканеры просматривать все файлы по умолчанию? Можно ли настроить более разумную стратегию выборки, которая бы просматривала только некоторые файлы, а не все?


person dmigo    schedule 21.10.2019    source источник
comment
Используете ли вы Glue Crawler для «обнаружения изменения схемы» или только для «обнаружения нового раздела» для недавно добавленного набора данных? Если это для «обнаружения нового раздела» для вновь добавленного набора данных после первого использования искателя для «определения схемы», вы можете использовать API Athena Boto3 для добавления раздела без запуска искателя вообще.   -  person Sandeep Fatangare    schedule 22.10.2019
comment
Это хороший трюк, я использовал его раньше. Но изменения схемы случаются очень часто.   -  person dmigo    schedule 22.10.2019
comment
Тогда это будет сложно, так как вам нужно знать, что нужно учитывать все изменения схемы в учетной записи во время поискового робота, иначе поисковый робот не обнаружит все изменения схемы, в свою очередь, сделав каталог данных Glue беспорядочным. Если вы хотите выполнить выборочное сканирование, как указано @Eman, вы можете использовать путь исключения (к сожалению, Glue не предоставляет путь включения :() Но при этом вы должны включить все пути, в которых могут быть изменения схемы .. например изменение схемы произошло 10,15,20 октября 2019 г., тогда она должна быть включена в путь поискового робота, и он должен каждый раз сканировать этот набор данных. продолжить ... 1/2   -  person Sandeep Fatangare    schedule 22.10.2019
comment
Честно говоря, это сводит на нет цель поискового робота, поскольку вы должны явно знать изменение схемы. ... 2/2   -  person Sandeep Fatangare    schedule 22.10.2019
comment
В идеале я бы предположил, что краулер будет просматривать 5% случайно выбранных файлов. Это позволит покрыть все изменения с относительно высокой вероятностью, при этом значительно снизив стоимость сканирования.   -  person dmigo    schedule 22.10.2019


Ответы (1)


В зависимости от структуры вашего сегмента, возможно, вы могли бы просто использовать пути исключения и указать поисковым роботам определенные префиксы, которые вы хотите сканировать. Если разделение выполняется в стиле куста, вы можете использовать Athena для выполнения таблицы восстановления msck для добавления разделов. В качестве альтернативы вы можете создать таблицы вручную в Athena и запустить восстановление msck, которое обязательно займет очень много времени, если у вас много разделов, а файлы огромны, как вы упомянули.

person Eman    schedule 21.10.2019