Apache Kudu 使用建议与限制

目录

ApacheKudu使用建议与限制... 1

模式设计的限制... 1

主键... 1

单元格... 2

数据列... 2

数据行... 2

数据表... 2

其它方面的限制... 3

分区的限制... 3

扩展的建议和限制... 3

服务器管理的限制... 4

群集管理的限制... 4

复制和备份的限制... 5

与Impala集成的限制... 5

创建kudu表时不支持的impala关键词... 5

与Spark集成的限制... 6

安全性的限制... 6


模式设计的限制

在创建表后,主键不能更改。您必须删除并重新创建一个表来选择一个新列作为主键。

组成主键的列必须首先在模式设计时最先列出来。

不能使用更新功能修改行的主键。要修改行的主键,必须删除行,并使用修改后的键重新插入,这样的修改是非原子性的。

带有DOUBLE、FLOAT或BOOL类型的列不允许作为主键定义的一部分,此外主键定义的所有列都必须是不可为空的。

不支持自动生成主键。

组成复合主键的单元格总大小被限制为不能超过16KB,这个大小是由Kudu完成内部组合键编码后的大小。

单元格

单个单元格不能大于64KB,而且这个大小是在编码或压缩之前的大小。,组成组合键的单元格被限制为不能超过16KB,这个大小是在Kudu完成内部组合键编码之后的大小。插入不符合这些限制的数据行将导致系统产生错误,并返回给客户端。

数据列

默认情况下,Kudu不允许创建超过300列的表。推荐使用更少的列来获得最佳性能的模式设计。

DECIMAL、CHAR、VARCHAR、DATE和复杂类型(如数组)是不支持的。

更改表不能更改现有列的类型和是否可为空。

删除列不会立即回收空间,必须要采用压缩,才能回收空间 。

数据行

Kudu主要用于数据分析。尽管单个单元格大小可以多达64KB,而Kudu支持多达300个列,但建议单行不要大于几百KB。如果单行大小达到数千字节数据,可能会遇到问题。

数据表

表数据必须有奇数个副本,最大值为7。

复制因子(在表创建时进行设置)不能更改。

没有办法手动运行压缩,但删除一个表会立即回收这个表的空间。

其它方面的限制

不支持次要索引。

不支持多行事务。

不支持关系特性,比如外键。

像列和表名这样的标识符被限制为有效的UTF-8字符串,最大长度为256个字符。

如果使用ApacheImpala来查询Kudu表,需要查看Impala集成kudu的限制资料。

分区的限制

必须使用简单或复合的主键将表手工预分区为平板。自动拆分目前是不支持的。Kudu不允许在创建分区后再更改分区,除了添加或删除范围分区之外。

现有表中的数据目前不能自动重新分区。需要建立新的分区,再创建一个新的表,并插入旧表的内容。

失去大多数副本的平板(比如3个,丢了2个还只有1个)需要人工干预才能修复。

扩展的建议和限制

建议最大数量的平板服务器是100台。

建议最大数量的主节点服务吕是3台。

每台平板服务器推荐的存储数据(复制副本后和压缩后)的最大数量为8TB。

建议每台平板服务器的最大平板数量为2000(复制副本后)。

每台平板服务器的每个数据表的平板最大数量为60个(复制副本后,在创建表时)。

务器管理的限制

生产部署应该为平板服务器配置至少4GB的内存,最好在接近数据和平板规模限制时将内存扩充至16GB。

写入的前置日志(WALs)只能存储在某一个磁盘上。

磁盘故障是不可容忍的,一旦检测到平板服务器就会崩溃。

未恢复数据的失败磁盘需要在重新启动之前对该平板服务器的所有Kudu数据进行格式化。

无法添加/删除数据目录,必须对它们进行重新格式化来更改目录集。

平板服务器不能做到优雅地退出群集。

平板服务器不能改变他们的地址或端口。

Kudu对拥有一个最新的NTP(网络时间协议Network Time    Protocol)有着严格的要求。Kudu的主节点服务器和平板服务器会在不同步的情况下崩溃。

Kudu发布版本只测试了NTP。其他时间同步提供者(如Chrony)可能不起作用。

群集管理的限制

不支持机架感知(在调度任务和分配存储空间时考虑节点的物理位置)。

不支持多数据中心。

不支持滚动重启。

复制和备份的限制

kudu目前不包括任何内置的备份和恢复功能。鼓励用户使用Spark或Impala等工具导出或导入表

与Impala集成的限制

在创建Kudu表时,CREATE table语句必须将主键列放在其他列之前。

Impala不能更新主键列中的值。

Impala不能用DECIMAL、VARCHAR或近似这些类型的列创建Kudu表。

在Impala中用作外部表时,带有大写或非ascii字符名称的Kudu表必须进行重命名,不能包含大写或非ascii字符。

Kudu表的列名包含大写或非ascii字符,不能用作Impala的外部表。可以将列重命名,以解决这个问题。

!=和LIKE谓词不被推送到Kudu,而是由Impala扫描节点进行评估。这可能会降低相对于其他类型谓词的性能。

使用Impala的更新、插入和删除是非事务性的。如果一个查询某些部分失败了,其部分效果将不会回滚。

单个查询的最大并行度受限于表中的平板数量。为了良好的分析性能,针对大型表的每个主机,建议存放 10个或更多的平板。

创建kudu表时不支持的impala关键词

PARTITIONED

LOCATION

ROWFORMAT

与Spark集成的限制

Spark 2.2(和更高版本)在运行时需要Java 8,尽管Kudu Spark 2.x集成是与Java7兼容的。Spark 2.2是Kudu 1.5.0的默认依赖版本。

在注册为临时表时,如果kudu表名带有大写或非ascii字符,需要修改kudu表名。

Kudu表的列名如果包含大写或非ascii字符,不能与SparkSQL一起使用。可以重命名列名,以解决这个问题。

<>和or谓词没有被推送到Kudu,而是由Spark任务来评估。只有带有后缀通配符的LIKE谓词被推到Kudu。这意味着“FOO%”会被推送到kudu,但是像“FOO%BAR”不会。

Kudu不能支持Spark SQL所能支持的所有类型。例如,Kudu不支持Date, Decimal和复杂类型。

Kudu表只能在SparkSQL中注册为临时表。

不能使用HiveContext查询Kudu表。

安全性的限制

空闲时的数据加密功能没有直接构建到Kudu中。通过使用dmcrypt等本地块设备加密软件,可以在空闲时加密Kudu数据。

授权仅在系统范围的粗粒度级别上可用。表级、列级和行级授权特性不可用。

Kudu不支持为Kudu流程配置自定义服务主体。主体必须遵循模式kudu/@。

Kudu与Apache Flume的集成,将不支持写入需要身份验证的Kudu集群。

由Kudu IPKI生成的服务器证书与bouncycastle版本1.52和更早版本是不兼容的。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容