当前位置:   article > 正文

分区表怎样进行添加分区和重命名分区?_hive 修改分区名

hive 修改分区名

随着系统运行时间的增加,表的数据量会越来越大,而Hive查询数据通常是使用全表扫描,这会导致对大量不必要数据的扫描,从而降低查询效率。为了解决这一问题,Hive引进了分区技术,分区主要是将表的整体数据根据业务需求,划分成多个子目录进行存储,每个子目录对应一个分区。通过扫描分区表中指定分区的数据,避免Hive全表扫描,从而提升Hive查询数据的效率。本节针对Hive的分区表进行详细讲解。

添加分区是在分区表中根据分区字段添加实际分区,语法格式如下。

  1. ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION
  2. (partition_column ▪ partition_col_value,
  3. partition_column ▪ partition_col_value, ...)
  4. [LOCATION 'location']...;

上述语法的具体讲解如下。

·ALTERTABLE:表示修改数据表结构信息的语句。

·ADD[IFNOT EXISTS]PARTITION:用于添加分区,其中IF NOT EXISTS为可选,用于判断添加的分区是否存在。

·partition_column:用于指定分区字段。

·prtition_col_value:用于指定分区字段的值,即实际分区。

·LOCATION'location':可选.用于指定分区在HDFS上的存储位置。

接下来,在虚拟机Node_03中使用Hive客户端工具Beeline,远程连接虚拟机Node_02的HiveServer2服务操作Hive,向数据库hive_database的分区表partitioned_table添加分区,具体命令如下。

  1. ALTER TABLE hive_database.partitioned_table
  2. ADD PARTITION (province= 'HeBei', city= 'HanDan')
  3. location
  4. '/user/hive_local/varehouse/hive_database.db/HeBei'
  5. PARTITION (province='ShanDong', city= 'JiNan')
  6. location '/user/hive_local/varehouse/hive_database.db/ShanDong';

上述命令在数据库hive_database的分区表partitioned_table中添加了两个二级分区,分别是province=HeBei/city=HanDan和province=ShanDong/city=JiNan。

上述命令执行完成后,在Hive客户端工具Beeline中执行“SHOW PARTITIONS hive_database.partitioned_table:”命令.查看数据库hive_database中分区表partitioned_table的分区信息,如图所示。

 

1689928394072_分区.png

从图可以看出,分区表partitioned_table中成功添加了两个二级分区,分别是province=HeBei/city=HanDan和province=ShanDong/city=JiNan。

重命名分区是根据分区表的分区字段修改分区表的实际分区,重命名分区的语法格式如下。

  1. ALTER TABLE table_name PARTITION
  2. (partition_column =
  3. partition_col_value,
  4. partition_column= partition_col_value,) _
  5. RENAME TO PARTITION (partitfon_colutn = pArtition_col_value,
  6. partition_column
  7. partition_col_value, ..);

接下来,在虚拟机Node_03中使用Hive客户端工具Beeline,远程连接虚拟机Node_02的HiveServer2服务操作Hive.重命名数据库hive_database中分区表partitioned_table的分区,具体命令如下。

  1. ALTER TABLE hive_database.partitioned_table PARTITION
  2. (province='HeBei', city='HanDan')
  3. REMAME TO PARTITION (Province= 'HuBei', city='WuHan');

上述命令将分区表partitioned_table的二级分区province=HeBei/city=HanDan重命名为province=HuBei/city=WuHan。

上述命令执行完成后,在Hive客户端工具Beeline中执行“SHOW PARTITIONS hive_database.partitioned_table;"命令,查看数据库hive_database中分区表partitioned_table的分区信息,如图所示。

从图中可以看出,分区表partitioned_table的二级分区 province=HeBei/city=HanDan 成功重命名为province=HuBei/city=WuHan。

 

1689928672277_分区信息.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/692473
推荐阅读
相关标签
  

闽ICP备14008679号