CREATE TABLE 语句中的“pool_name”是啥意思?
Posted
技术标签:
【中文标题】CREATE TABLE 语句中的“pool_name”是啥意思?【英文标题】:What does 'pool_name' mean in CREATE TABLE-statement?CREATE TABLE 语句中的“pool_name”是什么意思? 【发布时间】:2019-06-14 09:31:55 【问题描述】:在 CREATE TABLE-statement 末尾的 Impala 中,您可以按照我的理解设置复制因子:
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name
...
[CACHED IN 'pool_name' [WITH REPLICATION = integer] | UNCACHED]
总之,我有点疑惑pool_name
指的是什么。这是 HDFS 中存储数据的路径吗?
【问题讨论】:
【参考方案1】:不完全是,它实际上是指使用hdfs cacheadmin -addPool...
命令定义的HDFS 池,请参阅hdfs command guide。反过来,池确实包含一堆 cache 指令,这些指令引用要缓存的 hdfs 路径。来自 apache 文档:
缓存池是一个管理实体,用于管理 缓存指令。缓存池具有类似 UNIX 的权限, 限制哪些用户和组可以访问该池。写 权限允许用户添加和删除缓存指令到 水池。读取权限允许用户列出缓存指令 池,以及其他元数据。未使用执行权限。
缓存池也用于资源管理。池可以强制执行 最大限制,限制可以缓存的字节数 通过池中的指令汇总。通常,池的总和 限制将大约等于聚合内存的数量 保留用于集群上的 HDFS 缓存。缓存池还跟踪 帮助集群用户确定什么是和 应该被缓存。
池还可以强制执行最大生存时间。这限制了 添加到池中的指令的最大过期时间。
有关如何在 Impala 中使用此 HDFS 功能的详细信息,请参阅Impala Guide。
【讨论】:
以上是关于CREATE TABLE 语句中的“pool_name”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
通过阅读 Python 中的 Oracle DDL 语句为 Redshift 创建 Create Table 语句
是否可以在 db2 中的 create table 语句本身中定义索引?
SQL 语句“CREATE TABLE TRIP...”中的语法错误
是否可以回滚主要 SQL 数据库中的 CREATE TABLE 和 ALTER TABLE 语句?