美文网首页
Hive【基础02】 | 分区操作

Hive【基础02】 | 分区操作

作者: Ada54 | 来源:发表于2019-02-25 16:38 被阅读0次

一、分区概念

二、分区操作

1. 创建分区表

2. 加载数据到分区表

3. 增加分区

4. 查看分区

5.  删除分区

6. 修复分区


一、分区概念

分区 Partition 就是在系统上建立目录,把分类数据放在不同目录下,加快查询速度

常见分区有时间分区、地区分区和业务分区等

二、分区操作

1. 创建分区表

在创建表时使用 Patitioned by

(1)创建一级分区

查看表,可看到字段和分区字段

注: 1)分区的字段相当于伪字段

        2)分区的字段不能和表的字段一致!

(2)创建多级分区

查看表信息,可看到分区

2. 加载数据到分区表

在加载语句后面添加上分区字段 partition(provice=' beijing ')

完整语句:

load data local inpath '/opt/data/hivedatas/user_info.txt' overwrite into table t2_user_partition partition(provice='beijing');

查询表内容,可看到导入的数据

问题一: 加载数据后,查询数据,字段显示为NULL

解决方法:加载的数据,它的数据格式要与创建表的字段数据格式保持一致

例如,我前面创建的表中,规定了数据格式

     > row format delimited

    > fields terminated by ' '    // 列间隔为 ‘ ’ 一个空格

    > lines terminated by '\n'   // 行间隔‘\n’ 换行

    > stored as textfile

那么,导入的数据 /opt/data/hivedatas/user_info.txt,也要列间隔为一个空格,每行需要换行

3. 增加分区

(1)添加一个分区

例如,再添加一个省份分区

(2)添加多个分区

语句:alter table t3_user_partition add partition(provice='fujian') partition(provice = 'tianjin');

注:添加多个分区时

正确写法为

alter table t3_user_partition add partition(provice='fujian') partition(provice = 'tianjin');

不能写成 partition(provice='fujian',provice='tianjin')

如果写成了 partition(provice='fujian',provice='tianjin') 则就会随机分配其中一个分区

4. 查看分区

5. 删除分区

6. 修复分区

修复分区就是重新同步hdfs上的分区信息

语法:msck repair table table_name;

相关文章

  • Hive【基础02】 | 分区操作

    一、分区概念 二、分区操作 1. 创建分区表 2. 加载数据到分区表 3. 增加分区 4. 查看分区 5. 删除分...

  • hive基础语法

    目录 Hive安装和启动 Hive表操作-分区表 Hive表操作-复杂类型操作 Hive 查询语句 Zepplin...

  • Hive sql常见操作

    基本sql操作 hive表操作 分区操作 Hive内置函数 (1)数学函数 常用的数学函数都有:round、flo...

  • hive相关基础

    hive相关基础 1、进入到hive命令下;(linux下直接输入hive即可) hive 2、查看工作分区下的h...

  • 动态分区说明

    Hive分区 Hive的动态分区 概述 hive中支持两种类型的分区: 静态分区SP(static partiti...

  • 095-BigData-23Hive分区及DML操作

    上一篇:094-BigData-22Hive数据类型及操作 一、Hive分区 分区表实际上就是对应一个HDFS文件...

  • [译]Hive学习指南(二)

    Hive SQL的能力 Hive's SQL提供了基本SQL操作。这些操作作用于表和分区,具有以下能力: 可使用W...

  • hive进阶学习

    创建hive表常用语句: 修改hive表名称: 内部表 vs 外部表: 创建分区表以及补充操作: hive中查询介...

  • Hive 分区/分桶

    分区/桶 Hive 分区 Hive的分区方式:由于Hive实际上是数据文件在HDFS存在的目录区分分区字段是虚拟列...

  • Spark读取hive数据文件

    spark 操作 hive[删除分区表] 1: 使用HiveServer 的方式 val tablename="h...

网友评论

      本文标题:Hive【基础02】 | 分区操作

      本文链接:https://www.haomeiwen.com/subject/enpdyqtx.html