Hive 分区表

2023-11-09

Hive 分区表创建

hive> CREATE TABLE t3(id int,name string,age int) PARTITIONED BY (Year INT, Month INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ;
OK
Time taken: 0.147 seconds

查看表的结构信息

hive> desc t3;
OK
id                  	int                 	                    
name                	string              	                    
age                 	int                 	                    
year                	int                 	                    
month               	int                 	                    
	 	 
# Partition Information	 	 
# col_name            	data_type           	comment             
	 	 
year                	int                 	                    
month               	int                 	                    
Time taken: 0.106 seconds, Fetched: 11 row(s)

 //添加分区,创建目录 

hive> alter table t3 add partition (year=2014, month=12);
OK
Time taken: 0.24 seconds
hive> show partitions t3;
OK
year=2014/month=12
Time taken: 0.183 seconds, Fetched: 1 row(s)

  往分区表插入数据,可以看到insert 语句会执行MR操作 ,效率非常慢,所有通常会使用load 操作.

hive>  insert into t3 partition (year=2014,month=12) (id,name,age) values(1,'ssss',12);
WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
Query ID = hadoop_20180830111614_afbf7e7e-604c-49c7-bd65-dcdf4066de6c
Total jobs = 3
Launching Job 1 out of 3
Number of reduce tasks is set to 0 since there's no reduce operator

 

可以使用load 文件将本地文件载入到hive 表中 ,该语句会在hdfs 文件系统中自动创建目录.

hive>load data local inpath '/home/hadoop/student.txt' into table t3 partition(year=2014,month=11);

查询分区表内容:

hive> select * from t3 where year=2014 and month=11;
OK
1	tom	12	2014	11
2	hameimei	13	2014	11
3	lilei	14	2014	11
4	mayun	25	2014	11
Time taken: 0.273 seconds, Fetched: 4 row(s)

 动态分区:

首先创建一个分区表t2

    CREATE external TABLE IF NOT EXISTS t2(id int,name string,age int) 
    COMMENT 'xx' 
    PARTITIONED BY (year int, month int ) 
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
    STORED AS TEXTFILE ; 

然后使用如下SQL实现动态分区.

INSERT  OVERWRITE TABLE t2
PARTITION (year,month)
SELECT m.id,m.name,m.age,m.year,m.month
FROM t3 m;

hive> INSERT  OVERWRITE TABLE t2
    > PARTITION (year,month)
    > SELECT m.id,m.name,m.age,m.year,m.month
    > FROM t3 m;
WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
Query ID = hadoop_20180830150223_1979cd0a-8433-4820-b01b-39821fec9a15
Total jobs = 3
Launching Job 1 out of 3
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_1535543680929_0008, Tracking URL = http://s201:8088/proxy/application_1535543680929_0008/
Kill Command = /soft/hadoop/b

个人理解的动态分区是指不用在给表插入数据时,把分区值给写死。比如如下这样的

INSERT  OVERWRITE TABLE t2
PARTITION (year=2012,month=11)
SELECT m.id,m.name,m.age
FROM t3 m where year=2012 and month=11;

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hive 分区表 的相关文章

  • Hive 将字符串转换为字符数组

    例如 如何将字符串转换为字符数组 abcd gt a b c d 我知道分割方法 SELECT split abcd a b c d 最后一个空格有错误吗 或任何其他想法 这实际上不是一个错误 蜂巢分割功能 https github com
  • 使用字符串分区键与整数分区键的 Hive/Impala 性能

    是否建议将数字列用作分区键 当我们对数字列分区和字符串列分区进行选择查询时 性能会有什么差异吗 好吧 如果你查阅 Impala 官方文档 就会有所不同 我不会详细说明 而是粘贴文档中的部分 因为我认为它说得很好 虽然使用 STRING 列作
  • Hive 命令行 如果不是在后台执行 MapReduce 作业,则选择查询所花费的时间不正确

    我正在运行配置单元查询 如下所示 Select count group name from table name group by group name 状态 正在运行 在应用程序 ID XXXX 的 YARN 集群上执行 VERTICES
  • 在 HIVE 中选择该月的第一天

    我正在使用 Hive 它与 SQL 类似 但对于 SQL 用户来说语法可能略有不同 我看过其他的stackoverflow 但它们似乎在SQL中具有不同的语法 我试图通过此查询获取该月的第一天 这给了我今天的一天 例如 如果今天是 2015
  • Hive 函数替换列值中的逗号

    我有一个配置单元表 其中字符串列的值为 12 345 有没有什么方法可以在插入此配置单元表期间删除逗号的配置单元函数 您可以使用regexp replace string INITIAL STRING string PATTERN stri
  • 根据列删除配置单元中的重复行

    我有一个包含 10 列的 HIVE 表 其中前 9 列将有重复的行 而第 10 列则不会 因为 CREATE DATE 将具有创建日期 例子 如果我今天在表中插入 10 行 它将具有 CREATE DATE 作为今天的日期 如果我明天再次插
  • 向将数组作为字段之一的 Hive 表插入行时出现错误 10293

    我使用以下查询创建了一个配置单元表 create table arraytbl id string model string cost int colors array
  • Hive - hive 中的逆透视功能

    我有两个表如下 Table A userid code code name property id 0001 1 apple id Y1234 0031 4 mango id G4567 0008 3 grape id H1209 0001
  • 将 Hive 表导出到 hdfs 中的 csv

    我知道在 Hive 中将表保存到 csv 或其他文本文件 时 分隔符存在一个已知问题 所以我想知道你们是否可以帮助我解决这个问题 我有一个现有的表 表 A 我想将其以 csv 格式保存到 hdfs 通过阅读其他回复 我相信我必须首先创建一个
  • HIVE JDBC ThriftHive$Client.sendBase

    我在 Hadoop hive 上工作 我已经安装了 hadoop 和 hive 它在命令提示符下运行良好 我还创建了 hive 的 MySQL 元存储 我在 hive site xml 文件中定义了 HIVE DB 数据库名称 MySQL
  • hive 查询特定联合类型的记录

    我创建了一个示例配置单元表 CREATE TABLE union test foo UNIONTYPE
  • Hive Full Outer Join为相同的Join Key返回多行

    我正在对同一列上的 4 个表进行完全外连接 我想为连接列中的每个不同值仅生成 1 行 输入是 employee1 employee1 personid employee1 name 111 aaa 222 bbb 333 ccc
  • Spark SQL 未正确转换时区[重复]

    这个问题在这里已经有答案了 使用 Scala 2 10 4 和 Spark 1 5 1 和 Spark 1 6 sqlContext sql select id to date from utc timestamp from unixtim
  • 连接到 Hive 时使用 Spark 进行 Kinit

    我正在尝试从独立的 Spark 连接到 Hive hadoop 集群具有 kerberos 身份验证 有人可以让我知道如何在 Spark 程序中执行 kinit 我可以连接到配置单元吗 更新 我的 Spark 与 Hadoop 位于不同的集
  • Hive查询快速查找表大小(行数)

    是否有 Hive 查询可以快速查找表大小 即行数 而无需启动耗时的 MapReduce 作业 这就是为什么我想避免COUNT I tried DESCRIBE EXTENDED 但这产生了numRows 0这显然是不正确的 对新手问题表示歉
  • 计算行的排名

    我想根据一个字段对用户 ID 进行排名 对于相同的字段值 排名应该相同 该数据位于 Hive 表中 e g user value a 5 b 10 c 5 d 6 Rank a 1 c 1 d 3 b 4 我怎样才能做到这一点 可以使用ra
  • 将日期字符串转换为“MM/DD/YY”格式

    我刚刚看到这个例子 我该如何解决这个问题 Hive 元存储包含一个名为 Problem1 的数据库 其中包含一个名为 customer 的表 customer 表包含 9000 万条客户记录 90 000 000 每条记录都有一个生日字段
  • 在 Hive 中获取数据的交集

    我在配置单元中有以下数据 userid cityid 1 15 2 15 1 7 3 15 2 8 3 9 3 7 我只想保留具有 cityid 15 和 cityid 7 的用户 ID 在我的示例中 它将是用户 ID 1 和 3 我试过
  • 当从 HDFS 手动删除分区数据时,如何更新 Hive 中的分区元数据

    自动更新Hive分区表元数据的方法是什么 如果新的分区数据被添加到HDFS 不执行alter table添加分区命令 然后我们可以通过执行命令 msck Repair 来同步元数据 如果从HDFS中删除了大量分区数据 没有执行alter t
  • 计算 pyspark df 列中子字符串列表的出现次数

    我想计算子字符串列表的出现次数 并根据 pyspark df 中包含长字符串的列创建一个列 Input ID History 1 USA UK IND DEN MAL SWE AUS 2 USA UK PAK NOR 3 NOR NZE 4

随机推荐

  • dedecms自定义内容模型怎么采集

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 在用织梦cms系统进行网站开发时 经常会碰到各种各样复杂的需求 因此我们需要用到dedecms提供的自定义内容模型功能去添加自定义内容模型来满足需求 那么dedecms自定
  • 输入第一个字符串A,输入第二个字符串B,统计B在A中出现的次数 abcabcabd abc

    public class strCount public static void main String args 定义字符串 String str abc String ss abcabcabc 定义返回的次数 int count 0 f
  • 【C++ windows多线程使CPU 100%】

    用于windows 平台的CPU 100 预警测试程序 c 实现 cpp程序文件名 win32HighCpuTest cpp include
  • vue3中的setup方法

    一 vue2中的定义变量和方法的写法 在介绍v3的setup之前 我们先来看看在v2中是如何定义变量和方法的
  • stm32——PWM概述

    一 PWM生成方波 C51是用软件的方式进行模拟出方波 STM32F103C8T6中硬件就可以生成PWM方波 芯片中的PWM资源 高级定时器 TIM1 7路 通用定时器 TIM2 TIM4 各4路 共19路PWM 二 PWM输出模式 pwm
  • 【Redis】主从复制

    Redis主从复制 文章目录 Redis主从复制 搭建一主多从 复制原理 常用3招 一主二仆 薪火相传 反客为主 哨兵模式 sentinel 使用步骤 故障恢复 主机数据更新后根据配置和策略 自动同步到备机的master slaver机制
  • 每个程序员都必须遵守的编程原则

    每个程序员都必须遵守的编程原则 来源 外刊IT评论 发布时间 2011 09 03 16 15 阅读 1781 次 原文链接 全屏阅读 收藏 摘要 好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系 本文是从 The Princip
  • Kafka消费者组重平衡(二)

    文章目录 概要 重平衡通知机制 消费组组状态 消费端重平衡流程 Broker端重平衡流程 概要 上一篇Kafka消费者组重平衡主要介绍了重平衡相关的概念 本篇主要梳理重平衡发生的流程 为了更好地观察 数据准备如下 kafka版本 kafka
  • 猫和老鼠服务器维修有问题,猫和老鼠手游老是掉线怎么办 频繁网络中断解决方法...

    猫和老鼠手游为什么老是掉线呢 许多玩家在玩的过程中频繁遇到这个掉线的问题 导致体验非常糟糕 有什么方法可以减轻或者彻底避免掉线的问题呢 下面小编就为大家介绍一下吧 1 信号不好 如果你是身处于火车 地铁 地下室 电梯 或者比较偏远信号不好的
  • Solidity学习笔记2——Webase积分合约

    代码段学习笔记 代码来源 Webase合约仓库 我只做了增加注释的工作用来记录相关知识点 pragma solidity 0 4 24 import SafeMath sol import Roles sol import Address
  • 特征值_特征值的性质:特征多项式角度

    本文从特征多项式展开角度介绍了特征值的性质 从而使读者有更加深刻的理解 一 特征值的性质 二 特征值性质的联系 若A为3阶方阵 我们将系数行列式展开 最后得到特征多项式如下 推导过程见李永乐线性代数辅导讲义 2021版 P2 评注 部分 现
  • AMR文件格式分析

    最近在传输手机录音时 遇到了AMR编码的问题 开始以为可以任意截断amr文件 加个文件头就可以播放的 后来发现是有问题 这样得到的amr音频有些不能正常播放 后来参看amr格式后 才知道amr文件是一帧一帧的 如果是按照完整的帧前面添加文件
  • socket、tcp、udp、http 的认识及区别

    网络由下往上分为物理层 数据链路层 网络层 传输层 会话层 表示层和应用层 IP 协议对应于网络层 TCP协议对应于传输层 HTTP协议对应于应用层 三者从本质上来说没有可比性 socket则是对TCP IP协议的封装和应用 可以说 TPC
  • 【华为OD机试】数字反转打印(python, java, c++, js)

    数字反转打印 前言 本专栏将持续更新华为OD机试题目 并进行详细的分析与解答 包含完整的代码实现 希望可以帮助到正在努力的你 关于OD机试流程 面经 面试指导等 如有任何疑问 欢迎联系我 wechat steven moda email n
  • Codeforces 1月8日dev.2 A题解析

    先看题目 A Make it Beautiful time limit per test3 seconds memory limit per test512 megabytes inputstandard input outputstand
  • 渗压计的用途及分类

    渗压计也称作孔隙水压力计 是用于测量构筑物内部孔隙水压力或渗透压力的传感器 按仪器类型可以分为差动电阻式 振弦式 压阻式及电阻应变片等 渗压计的用途 渗压计适用于长期埋设在水工结构物或其它混凝土结构物及土体内 测量结构物或土体内部的渗透 孔
  • 解决idea start failed:异常key com.tang.intellij.lua.luacheck.LuaCheckSettings

    Idea之前在做Redis项目时使用了Lua脚本 弹出提示 顺手安装了一个Lua插件 导致再次开启Idea时抛出异常 查考https blog csdn net licheetools article details 118651511 在
  • 原码, 反码, 补码 详解

    转自 https www cnblogs com zhangziqiu archive 2011 03 30 ComputerCode html 本篇文章讲解了计算机的原码 反码和补码 并且进行了深入探求了为何要使用反码和补码 以及更进一步
  • https 获取安全证书和配置nginx

    1 阿里云申请免费的安全证书 一般几个小时就ok 2 服务器nginx创建目录cert 3 将下载下来的压缩包打开 复制里面的文件到服务器nginx配置cert目录下 可以更改名字 4 修改nginx conf配置文件 server lis
  • Hive 分区表

    Hive 分区表创建 hive gt CREATE TABLE t3 id int name string age int PARTITIONED BY Year INT Month INT ROW FORMAT DELIMITED FIE