Что означает 'pool_name' в CREATE TABLE-Statement? - PullRequest
1 голос
/ 14 июня 2019

В Impala в конце оператора CREATE TABLE вы можете установить коэффициент репликации, как я понимаю:

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name
    ...
    [CACHED IN 'pool_name' [WITH REPLICATION = integer] | UNCACHED]

В любом случае, я немного озадачен тем, что pool_name относится к.Это путь в HDFS, где хранятся данные?

1 Ответ

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

Не совсем, это фактически относится к пулу HDFS, определенному с помощью команды hdfs cacheadmin -addPool..., см. hdfs command guide .Пул, в свою очередь, содержит набор директив кэширования , которые ссылаются на пути hdfs для кэширования.Из apache doc:

Пул кеша - это административный объект, используемый для управления группами директив кеша.Пулы кэша имеют UNIX-подобные разрешения, которые ограничивают пользователей и группы, которые имеют доступ к пулу.Разрешения на запись позволяют пользователям добавлять и удалять директивы кэша в пуле.Разрешения на чтение позволяют пользователям перечислять директивы кэша в пуле, а также дополнительные метаданные.Разрешения на выполнение не используются.

Пулы кэша также используются для управления ресурсами.Пулы могут устанавливать максимальный предел, который ограничивает количество байтов, которые могут быть кэшированы в совокупности директивами в пуле.Обычно сумма ограничений пула примерно равна объему совокупной памяти, зарезервированной для кэширования HDFS в кластере.Пулы кэша также отслеживают ряд статистических данных, чтобы помочь пользователям кластера определить, что и что должно быть кэшировано.

Пулы также могут обеспечивать максимальное время жизни.Это ограничивает максимальное время истечения директив, добавляемых в пул.

Подробности использования этой функции HDFS в Impala можно найти в Руководство по Impala .

...