首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >客快物流大数据项目(七十七):使用Impala对kudu更改表属性操作

客快物流大数据项目(七十七):使用Impala对kudu更改表属性操作

原创
作者头像
Lansonli
发布2022-12-19 15:34:27
发布2022-12-19 15:34:27
1.2K00
代码可运行
举报
文章被收录于专栏:Lansonli技术博客Lansonli技术博客
运行总次数:0
代码可运行

​使用Impala对kudu更改表属性操作

开发人员可以通过更改表的属性来更改 Impala 与给定 Kudu 表相关的元数据。这些属性包括表名, Kudu 主地址列表,以及表是否由 Impala (内部)或外部管理。

一、重命名Impala映射表

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE PERSON RENAME TO person_temp;

​编辑重命名impala表的时候,只会修改impala表的名字,不会修改kudu表名的名字,如果想修改kudu表名的话,需要使用impala3.3及以上版本

二、重新命名内部表的基础Kudu表

  • 创建内部表:
代码语言:javascript
代码运行次数:0
运行
复制
CREATE TABLE kudu_student
(
    CompanyId INT,
    WorkId INT,
    Name STRING,
    Gender STRING,
    Photo STRING,
    PRIMARY KEY(CompanyId)
    )
    PARTITION BY HASH PARTITIONS 16
    STORED AS KUDU
    TBLPROPERTIES (
    'kudu.num_tablet_replicas' = '1'
);

  • 如果表是内部表,则可以通过更改kudu.table_name属性重命名底层的Kudu表
代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE kudu_student SET TBLPROPERTIES('kudu.table_name' = 'new_student');

注意:kudu.table_name属性的设置与版本有关

在impala3.2版本中是无法修改底层的kudu表的名字的,从impala3.3开始可以修改

在Impala 2.11及更低版本中,可以通过更改kudu.table_name属性来重命名基础Kudu表:

结论:在impala2.11及impala3.2之间的版本是无法修改kudu.table_name属性的

三、​​​​​​​将外部表重新映射到不同的Kudu表

  • 如果用户在使用过程中发现其他应用程序重新命名了kudu表,那么此时的外部表需要重新映射到kudu上

创建一个外部表:

代码语言:javascript
代码运行次数:0
运行
复制
CREATE EXTERNAL TABLE external_table
    STORED AS KUDU
    TBLPROPERTIES (
    'kudu.master_addresses' = 'node2:7051',
    'kudu.table_name' = 'person'
);

重新映射外部表,指向不同的kudu表:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE external_table
SET TBLPROPERTIES('kudu.table_name' = 'hashTable')

上面的操作是:将external_table映射的PERSON表重新指向hashTable表

四、更改Kudu Master地址

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE my_table
SET TBLPROPERTIES('kudu.master_addresses' = 'kudu-new-master.example.com:7051');

五、将内部管理的表更改为外部

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE my_table SET TBLPROPERTIES('EXTERNAL' = 'TRUE');

将内部表更改成外部表以后,删除外部表,不会影响底层的kudu表,反之如果是内部表的话,删除内部表,则底层的kudu表也会同步删除

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ​使用Impala对kudu更改表属性操作
    • 一、重命名Impala映射表
    • 二、重新命名内部表的基础Kudu表
    • 三、​​​​​​​将外部表重新映射到不同的Kudu表
    • 四、更改Kudu Master地址
    • 五、将内部管理的表更改为外部
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档