Vertica - Какая лучшая практика для экспорта в Паркет - PullRequest
1 голос
/ 23 июня 2019

У меня есть Vertica DB, которую предполагается использовать для моих «горячих» данных. Я понял, что могу сохранить свои «холодные» данные в виде файлов паркета на HDFS как внешнюю таблицу, и мне также удается экспортировать мои данные в файл Parquet. У меня есть несколько вопросов относительно этого процесса: * экспорт в паркет - как это сделать часто? мне нужно запускать запросы как cron tab?
* когда я создаю внешнюю таблицу, знает ли Vertica, что нужно «подключить» ее к моей основной таблице? Я имею в виду, что при выполнении любого запроса Verica будет искать также во внешних таблицах, связанных с основной таблицей, где хранятся «горячие» данные.

1 Ответ

1 голос
/ 24 июня 2019

Если вы хотите выполнять периодический экспорт, вам нужно использовать внешний планировщик (например, cron).Вы можете экспортировать в HDFS, NFS или S3.

Если у вас есть некоторые данные (ваши горячие данные) в Vertica и другие (холодные) данные во внешних таблицах, это две отдельные таблицы.Вы можете запросить их вместе (выберите ... из горячих, холодных), но ваши внешние данные Parquet не находятся "в" таблице, содержащей ваши данные Vertica (ROS, горячие).

Когда вы запрашиваетеВнешняя таблица Vertica считывает соответствующие данные из внешнего местоположения.В некотором смысле, он выполняет легкую загрузку, используя предложение FROM выражения CREATE EXTERNAL TABLE в каждом запросе.(Формат столбцов Parquet и оптимизации, такие как предикатное нажатие, означают, что это не больно.) Это означает, что если ваше предложение FROM является глобальным (например, hdfs:///data/*/*.parquet), если вы экспортируете больше данных, вам не нужно обновлять определение таблицы -это просто работает.

Обратите внимание, что каждый экспорт должен быть в новом каталоге;если вы поместите их все в один и тот же родительский каталог, то вы можете использовать глоб, как в моем примере.См. документацию .

...