我们在之前的文章中,介绍了二级分区,混合分区,静态分区,动态分区的区别和建表。

今天我们聊下,当我们建好分区表。并且通过程序在表的分区目录(location)下,写入了文件。

如何在hive中查询到插入的分区数据。

假如我们直接查表,会发现因为没有在表的元数据中加入新增的分区信息,导致查不到数据。

这时,

可以通过hive修复分区的sql语句,自动修复hive的分区

msck repair table table_name;

或手动增加分区

alter table add partition 'province = zhejiang';

但是,当我们建了多级分区,如下,

CREATE EXTERNAL TABLE `ods.employee`(
`name` string,
`sex` string,
`age` int
)
PARTITIONED BY (
`province` string,
`city` string)

使用hive提供的修复分区语句,会报如下的错误:

Logging initialized using configuration in file:/usr/local/service/hive/conf/hive-log4j2.properties Async: false
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

这时,只能通过手动的方式,增加分区了,并且要指定分区的hdfs路径:

alter table add partition ('province=zhejiang,city=hangzhou') location 'hdfs://data/province/province=zhejiang/city=hangzhou'

hive 修复分区、添加二级分区的更多相关文章

  1. 腾讯云TDSQL MySQL版 - 开发指南 二级分区

    TDSQL MySQL版 目前支持 Range 和 List 两种格式的二级分区,具体建表语法和 MySQL 分区语法类似. 二级分区语法 一级 Hash,二级 List 分区示例如下: MySQL ...

  2. 【HIVE】(2)分区表、二级分区、动态分区、分桶、抽样

    分区表: 建表语句中添加:partitioned by (col1 string, col2 string) create table emp_pt(id int, name string, job ...

  3. Hive分区(静态分区+动态分区)

    Hive分区的概念与传统关系型数据库分区不同. 传统数据库的分区方式:就oracle而言,分区独立存在于段里,里面存储真实的数据,在数据进行插入的时候自动分配分区. Hive的分区方式:由于Hive实 ...

  4. Hive入门(二)分区

    1 基本概念 1.1 什么是分区 Hive查询中一般会扫描整个表内容,会消耗很多时间.有时候只需要查询表中的一部分数据,因此建表时引入了partition(分区)概念. 表中的一个 Partition ...

  5. hive分区与实际分区文件不匹配导致spark读文件出错的问题解决

    先解释下,由于历史原因导致hive中的看到分区比hdfs中的文件夹不匹配,存在hive中分区数有,实际hdfs中无此文件夹. spark中通过sparkSQL读取hive中的该表时,将会出现异常. 解 ...

  6. Hive中静态分区和动态分区总结

    目录 背景 第一部分 静态分区 第二部分 动态分区 第三部分 两者的比较 第四部分 动态分区使用的问题 参考文献及资料 背景 在Hive中有两种类型的分区:静态分区(Static Partitioni ...

  7. CentOS添加新硬盘到新的分区(xfs/ext4) 或者添加新分区

    CentOs添加新硬盘到新的分区(xfs/ext4)  添加新分区 转载请注明:http://www.cnblogs.com/juandx/p/5618162.html 这篇文章介绍怎么添加一块新的硬 ...

  8. SQL Server 2005中的分区表(五):添加一个分区(转)

    所谓天下大事,分久必合,合久必分,对于分区表而言也一样.前面我们介绍过如何删除(合并)分区表中的一个分区,下面我们介绍一下如何为分区表添加一个分区. 为分区表添加一个分区,这种情况是时常会 发生的.比 ...

  9. SQL Server 2005中的分区表(五):添加一个分区

    所谓天下大事,分久必合,合久必分,对于分区表而言也一样.前面我们介绍过如何删除(合并)分区表中的一个分区,下面我们介绍一下如何为分区表添加一个分区. 为分区表添加一个分区,这种情况是时常会 发生的.比 ...

随机推荐

  1. widget jquery 理解

    jquery ui 的所有组件都是基于一个简单,可重用的widget. 这个widget是jquery ui的核心部分,实用它能实现一致的API,创建有状态的插件,而无需关心插件的内部转换. $.wi ...

  2. socket 长连接

    实现: 长连接的维持,是要客户端程序,定时向服务端程序,发送一个维持连接包的. 如果,长时间未发送维持连接包,服务端程序将断开连接. 服务端: 由于客户端会定时(keepAliveDelay毫秒)发送 ...

  3. netstat 查看端口命令

    查看特定端口是否启动 netstat -lnp |

  4. maven3 学习

    主要参考博文:http://www.cnblogs.com/yjmyzz/p/3495762.html 修正: 1.下载maven 3.1.1 先到官网http://maven.apache.org/ ...

  5. 校园网ipv6连接问题

    没有ipv6的信号:只需要进入网络适配器里面先禁用再启用即可.

  6. 实现WireCard支付

    实现WireCard支付,暂未完成 WireCardController.cs using System; using System.Collections.Generic; using System ...

  7. [C#.net]处理UTF-8文件乱码

    今天帮同事处理一个2M左右的文件的格式,发现使用Encoding.default & Encoding.UTF8 & Encoding.GetEncoding("GB2312 ...

  8. IDEA导入MySQL包

    点击[Project Structure] 点击[Modules]   在点击下面的界面   找到自己下载的MySQL包就OK了  

  9. AOP (切点表达式讲解)

    Spring EL表达式:: 1.execution 表达式 语法格式: execution(返回类型.包名.类名.方法名(参数表)) exection(*.com.xxx.AService.*(.. ...

  10. mysql字符串类型数据

    字符串类型是在数据库中存储字符串的数据类型,字符串类型包括char,varchar,text,enum和set. OK,我们来一个一个的看下上面提到的几种类型. char类型和varchar类型 ch ...