create table语句中的pool\u name是什么意思?

ma8fv8wu  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(443)

在create table语句末尾的impala中,您可以按照我的理解设置复制因子:

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

不管怎样,我有点困惑什么 pool_name 指。这是hdfs中存储数据的路径吗?

ctzwtxfj

ctzwtxfj1#

不完全是,它实际上是指使用 hdfs cacheadmin -addPool... 命令,请参阅hdfs命令指南。反过来,一个池确实包含一堆引用要缓存的hdfs路径的缓存指令。来自apache文档:
缓存池是用于管理缓存指令组的管理实体。缓存池具有类似unix的权限,这些权限限制哪些用户和组可以访问该池。写权限允许用户向池中添加和删除缓存指令。读取权限允许用户列出池中的缓存指令以及其他元数据。执行权限未使用。
缓存池也用于资源管理。池可以强制执行最大限制,该限制限制池中的指令可以在聚合中缓存的字节数。通常,池限制的总和大约等于为集群上的hdfs缓存保留的聚合内存量。缓存池还跟踪许多统计信息,以帮助集群用户确定什么是缓存的,什么是应该缓存的。
池还可以强制执行最长生存时间。这将限制添加到池中的指令的最长过期时间。
有关如何在impala中使用此hdfs功能的详细信息,请参阅impala指南。

相关问题