实时即未来,最近在腾讯云Oceanus进行实时计算服务,以下为flink写入Kudu实践中的总结。分享给大家~
kudu的架构依赖于Hadoop体系,一般具有3个masterServer。
Kudu 内表和外表
内部表由Impala管理,从Impala中删除时数据和表会被删除。
外部表(CREATE EXTERNAL TABLE)不受Impala管理,并且删除此表不会将表从其源位置(此处为Kudu)丢弃。只会去除Impala和Kudu之间的映射。
常用命令
代码语言:txt复制cd /usr/local/service/kudu/bin
# 查看kudu所有表
./kudu table list master01,master02,master03
# 查询表数据
./kudu table scan master01,master02,master03 yourTableName
注意事项:
Kudu 使用Impala创建新表时,它通常是内部表,并且在Kudu中存储时带有Impala的前缀。如,在Kudu中真实的表名常常为impala::default_database.table_name
。
而通过Java API(JDBC)方式创建的表,默认在Impala中是看不到的,即在Impala中没有对应的表信息。
不过可以将kudu中的表映射到impala中:
代码语言:txt复制CREATE EXTERNAL TABLE kudu_name
STORED AS KUDU
TBLPROPERTIES (
'kudu.master_addresses' = 'hadoop01:7051,hadoop02:7051,hadoop03:7051',
'kudu.table_name' = 'PERSON'
);