在创建表语句中“ pool_name”是什么意思?

时间:2019-06-14 09:31:55

标签: sql hadoop hdfs impala

source末尾的Impala中,您可以按照我的理解设置复制因子:

PRY_RESCUE_RAILS=1 rails test rails test test/integration/agendas_test.rb

无论如何,我对CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name ... [CACHED IN 'pool_name' [WITH REPLICATION = integer] | UNCACHED] 所指的内容感到有些困惑。这是HDFS中存储数据的路径吗?

1 个答案:

答案 0 :(得分:1)

不完全是,它实际上是指使用hdfs cacheadmin -addPool...命令定义的HDFS池,请参见hdfs command guide。反过来,池确实包含一堆引用要缓存的hdfs路径的 cache指令。来自apache doc:

  

高速缓存池是用于管理以下组的管理实体:   缓存指令。缓存池具有类似于UNIX的权限,   限制哪些用户和组有权访问该池。写   权限允许用户添加和删除缓存指令到   池。读取权限允许用户在列表中列出缓存指令   池以及其他元数据。执行权限未使用。

     

高速缓存池也用于资源管理。池可以强制执行   最大限制,它限制可以缓存的字节数   通过池中的指令汇总。通常,池的总和   限制将大约等于聚合内存量   保留用于群集上的HDFS缓存。缓存池还跟踪   帮助集群用户确定什么是统计信息的数量   应该被缓存。

     

池还可以规定最长生存时间。这限制了   将指令添加到池中的最大到期时间。

有关如何在Impala中使用此HDFS功能的详细信息,请参见Impala Guide