1.  分区表创建及数据导入

1.1  创建分区表

-- 以日期pt分区,字段用\t分隔,输入格式为txt,存储格式为orc
use db_name;
drop table if exists tablename;
CREATE TABLE IF NOT EXISTS tablename (aid string,gender int,                   --性别age string,                   --年龄num bigint,                value1 array<int>,      value2 array<string>
)
partitioned by (pt string)
-- partitioned by (pt string comment "YYYY-MM-DD.HH_MM")
stored as orc
-- row format delimited fields terminated by '\t'
-- STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'
-- OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
;-- 存储格式亦可指定为txt
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'

1.2 向分区表导入数据

1.2.1  从其他表导入

-- 从其他表导入
-- (1) XX 表中没有pt字段
use db_name;
insert overwrite table tablename partition(pt='2020-08-12')
select a.*
from XX a;
-- (2) 以XX表中pt字段指定分区字段
use db_name;
insert overwrite table tablename partition(pt)
select a.*
from XX a;

1.2.2  从本地文件导入

-- filename 为txt格式
load data local inpath '/home/zz/filename' overwrite
into table tablename partition(pt='2020-08-12');

1.3  删除hive表的一个分区

alter table tablename drop if exists partition(pt='2020-08-12');

1.4  查看表相关信息

--1.查看hive建表语句,在hdfs中的位置
show create table tablename;--2.查看hive表元数据信息(创建时间,字段,位置,数据条数,数据大小)
desc formatted tablename;--3.查看分区表元数据信息:
desc formatted tablename partition(pt='2020-08-12');--4.查看表分区:
show partitions tablename;

2. 创建hive 临时表

2.1   使用建表语句创建

可以指定分隔符,以orc格式存储数据

orc格式对数据进行了压缩,压缩比 1:20左右

-- 指定"\t"作为分隔符
use db_name;
drop table if exists tablename;
CREATE TABLE tablename (id string,name string,age int
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat';-- 从本地文件加载数据到hive
load data local inpath '/home/zz/filename' overwrite into table tablename;

2.2  直接从其他表导入数据

stored as 可以指定数据存储方式orc,textfile

create table XX stored as textfile   -- 以textfile格式保存表
as select *
from tablename;  

2.3   建表时使用 loaction 指定数据位置

use db_name;
drop table if exists tablename;
CREATE TABLE tablename (id string,name string,age int
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
LOCATION 'hdfs://nswx/user/hive/warehouse/aa.bb';
-- LOCATION 's3://${s3_bucket}/db_name/table_name'
-- 亦可本地文件
LOCATION '/home/zz/filename'

3. hive表重命名

alter table table_name rename to new_table_name;

4. 表字段修改

hive表,能增加列,不可以删除列,但可以改列名;

对于分区表,要使用cascade才会对所有分区生效,否则历史分区不会生效。

--修改字段名
alter table tablename change value1 value1_new string [cascade];
--修改字段类型
alter table tablename change column value1 value1 int [cascade];
--增加新字段
alter table tablename add columns(value1 int) [cascade];
alter table tablename add columns(encrypt_phone string comment '手机加密',registered_version_name string comment '注册版本号名称'
) cascade;

在指定字段(value1)后添加新字段(value7 int)

alter table XX add columns(value7 int) [cascade];
alter table XX change column value7 value7 int after value1 [cascade];

hive 表创建及字段信息管理相关推荐

  1. hive表指定分区字段搜索_Spark SQL解析查询parquet格式Hive表获取分区字段和查询条件...

    首先说一下,这里解决的问题应用场景: sparksql处理Hive表数据时,判断加载的是否是分区表,以及分区表的字段有哪些?再进一步限制查询分区表必须指定分区? 这里涉及到两种情况:select SQ ...

  2. spark sql 查看分区_Spark SQL解析查询parquet格式Hive表获取分区字段和查询条件

    首先说一下,这里解决的问题应用场景: sparksql处理Hive表数据时,判断加载的是否是分区表,以及分区表的字段有哪些?再进一步限制查询分区表必须指定分区? 这里涉及到两种情况:select SQ ...

  3. hive表指定分区字段搜索_hive导出分区表到mysql 分区字段值怎么取

    匿名用户 1级 2018-07-16 回答 如何用sqoop将hive分区表信息导入到mysql命令 直接导入hive表 sqoop import --connect jdbc:postgresql: ...

  4. jpa在自己创建表的是字段名不一致_用 数据透视表 完成 Excel多表合并

    一般情况下,数据透视表只能汇总一个表格中的数据.即使使用多区域汇总,也只能对多表的单列内容进行数据汇总,而多列却无法实现.前段时间也推送过Power Query的方法,但它有版本限制.而今天宏兴会计培 ...

  5. Hive Sql 大全(hive函数,hive表)

    Hive Sql 大全 本节基本涵盖了Hive日常使用的所有SQL,因为SQL太多,所以将SQL进行了如下分类: 一.DDL语句(数据定义语句): 对数据库的操作:包含创建.修改数据库 对数据表的操作 ...

  6. mysql血缘 表级血缘 字段级血缘GUDU GSP,JSQL PARSER,ANTLR MYSQL,DRUID

    ** 目的: ** 分析mysql的表级和字段级血缘,本文给出他人源码或示例 工具 GUDU-SQLPARSER GSP JSQL-PARSER antlr DRUID 横向对比 名称 开源 功能 优 ...

  7. hive中json格式字段解析及map使用

    json 如果hive表中有扩展字段,那么扩展字段格式最常见的就是json格式,所以如何解析json字符串相对繁琐(虽然没啥技术

  8. Hive表结构操作(增加列,删除列,修改列,移动列)

    前言 Hive 表结构操作 内容 1.给hive表中添加某个字段: 格式: alter table 表名 add columns (字段名 字段类型 comment '字段描述'): 示例1: alt ...

  9. hive SQL 创建数据库,创建hive表、查询时,其表名,字段,统统不区分大写(在底层一律转换为小写)

    hive SQL 创建数据库,创建hive表.查询时,其表名,字段,统统不区分大写(在底层一律转换为小写) (1).默认default数据库 hive默认自带一个名为default的数据库,如果建表时 ...

最新文章

  1. .NET简谈网络系统大局观
  2. python如何统计出现的次数_Python统计日志中每个IP出现次数的方法
  3. MySQL使用CREATE INDEX创建索引
  4. CCS5.5环境下使用clock()函数测试程序段运行时间
  5. html怎么显示返回的图片,想要预览文件或是图片,将后端返回的信息转换为前端可以正常显示的格式...
  6. ifix如何设画面大小_如何让你的视频又小又清晰?视频编码输出软件来了
  7. mysql慢sql增加读写分离_MySQL主从同步+读写分离
  8. 【面向对象】聚合的四种语义
  9. 短视频自媒体成功的秘诀就一个字:真
  10. apache+php
  11. 小语种nlp文本预处理——数据清洗
  12. c语言实现ftp客户端,下载ftp的文件内容信息
  13. 鸿蒙太空是什么意思,[评论]林黛玉:“眼泪还债”暗洒闲抛知为谁?
  14. linux拷贝文件前几行,Linux显示文件前几行、拷贝文件前几行、删除文件前几列...
  15. 如何获取显示器的EDID信息
  16. springboot多模块项目创建及添加子模块过程
  17. 问题:The given artifact contains a string literal with a package reference 'andro
  18. Java判断一个序列是否可由给定序列通过栈操作获得(ABCDEF)
  19. 使用PowerShell获取Trustedinstaller权限
  20. 实现repeat函数

热门文章

  1. MISRA C学习笔记
  2. oracle table()函数用法
  3. excel怎么把竖排变成横排_如何优雅的使用Excel作出高大上的图片
  4. 简单工厂模式---女娲造人
  5. 【推荐系统】特征工程(1)
  6. Google 0day远程命令执行漏洞复现
  7. 网络传输中available的用法
  8. word2vec 中的数学原理详解(一)目录和前言
  9. 创建高性能移动 web 站点
  10. root精灵华为解锁,华为刷机精灵解锁