#hive #database-schema #amazon-athena #presto #hive-metastore
#улей #база данных-схема #amazon-athena #presto #hive-метастор
Вопрос:
Существует кластер Hadoop и сопутствующее хранилище метафор Hive, которое описывает местоположение и схему для различных данных на S3. У меня нет доступа к кластеру, но я могу получить доступ к метастору MySQL.
Я хочу получить доступ к данным на S3 в виде таблиц, но, учитывая мой нечастый шаблон доступа, Amazon Athena имеет гораздо больше смысла, чем запускать кластер EMR и указывать на хранилище метафор Hive. Проблема в том, что мне нужно CREATE EXTERNAL TABLE
в Athena перед запросом данных.
Я знаю, что в метасторе есть все данные, которые мне нужны для генерации этого CREATE TABLE
запроса, который мне нужно передать Athena.
Существует ли какой-либо существующий инструмент или код, который может сгенерировать этот запрос для меня? Должен ли я сгенерировать CREATE TABLE
инструкцию в SQL или Python?
Комментарии:
1.Если вы можете получить доступ к базе данных хранилища метафор, можете ли вы временно создать другой экземпляр хранилища метафор? Затем вы можете использовать, например, Presto’s
SHOW CREATE TABLE
prestosql.io/docs/current/sql/show-create-table.html (или что-то встроенное в Hive), чтобы получить информацию для вашегоCREATE
. Сработает ли это?2. Я понимаю это как использование Presto для генерации
CREATE TABLE
. Это сработало бы, но мне нужно развернуть и настроить Presto.3. Кирк, я понимаю, что это может быть не самый простой вариант, это именно то, что я, вероятно, сделал бы. Может быть, кто-нибудь может предложить что-нибудь попроще. Повторно: разверните Presto, вы можете запустить его с помощью EMR или с помощью Starburst (то есть нашего) Вуаля на AWS ( starburstdata.com/presto-aws-cloud ).
4. @PiotrFindeisen спасибо. В идеале я хотел бы просто использовать компонент или модуль Presto, который генерирует это
CREATE
.