热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

0082.Ccloudera中impala删除kudu外表_kudu上信息同步更新

在以往认知中,impala删除kudu外表,kudu中表信息并未删除,但在cloudera环境下,impala删除kudu外表,kudu表信息也同步

在以往认知中,impala删除kudu外表,kudu中表信息并未删除,但在cloudera环境下,impala删除kudu外表,kudu表信息也同步删除,下文进行演示。

0.ENV

测试环境

CDP 7.1.4;

impala 3.4.0;

kudu 1.12.0;

使用kerberos加密。

1. impala创建kudu表

1) impala创建kudu外表

    CREATE TABLE it01.product_etl_kd (
    key STRING,
    cdotypeid INTEGER,
    changecount INTEGER,
    iconid INTEGER,
    objectcategory STRING,
    productbaseid STRING,
    productname STRING,
    revofrcdid STRING,
    PRIMARY KEY (key)
    )
    PARTITION BY HASH (key) PARTITIONS 6
    STORED AS KUDU;

    2) show tables查询product_etl_kd存在

      show tables;


      name |
      --------------+
      kudu1 |
      kudu3 |
      kudu5 |
      product_etl_kd|
      rundba |
      t1 |

      3) 查看建表语句,显示当前为外部表

        show create table it01.product_etl_kd;

        显示建表语句:
        CREATE EXTERNAL TABLE it01.product_etl_kd (
        key STRING NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
        cdotypeid INT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
        changecount INT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
        iconid INT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
        objectcategory STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
        productbaseid STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
        productname STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
        revofrcdid STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
        PRIMARY KEY (key)
        )
        PARTITION BY HASH (key) PARTITIONS 6
        STORED AS KUDU
        TBLPROPERTIES ('external.table.purge'='TRUE', 'kudu.master_addresses'='cm.rundba.com,nn01.rundba.com,nn02.rundba.com')

        虽然create table没有external参数,但实际创建的为kudu外部表。

        4) 查询kudu表

        xshell登录master主机,查询kudu下面it01数据库下有哪些表

          [root@cm ~]# kudu table list cm.rundba.com | grep it01
          impala::it01.kudu3
          impala::it01.product_etl_kd
          impala::it01.kudu5
          impala::it01.kudu1

          当前kudu表已经生成,it01.product_etl_kd,且是impala类型。

          2. impala删除kudu表

          impala删除表product_etl_kd

            drop table it01.product_etl_kd;

            此时kudu中也删除了product_etl_kd表

              [root@yw-cm ~]# kudu table list yw-cm.rundba.com | grep it01
              impala::it01.kudu5
              impala::it01.kudu1
              impala::it01.kudu3

              3. 小结

              通过实验,使用Impala删除Kudu外表时,kudu表也同步删除,和kudu官网信息稍有出入,可能CDP集成自动同步功能,以实验为准。

              impala删除kudu表官方信息:

              如果该表是在Impala中作为内部表创建的,则使用CREATE TABLE,标准DROP TABLE语法会删除底层Kudu表及其所有数据。

              如果表是作为外部表创建的,则使用CREATE EXTERNAL TABLE,Impala和Kudu之间的映射将被删除,但 Kudu 表及其所有数据保持不变。

              ref:

              https://kudu.apache.org/docs/release_notes.html

              https://kudu.apache.org/docs/kudu_impala_integration.html



              推荐阅读
              author-avatar
              叶子已经不是木头的了
              这个家伙很懒,什么也没留下!
              PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
              Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有