【Hive】Hive 创建表
学习笔记—Hive创建表
1. Hive语句的特点
HQL 语言大小写不敏感,但内容分大小写(where ,if/ case when,如:数据表内容某人名叫Tom,则条件后不能写tom,HDFS 路径名(NameNode)分大小写) ;
HQL 可以写在一行或者多行, 关键字不能被缩写也不能分行,同 SQL;
各子句一般要分行写, 使用缩进提高语句的可读性,为了美化,同SQL;
-- 为注释符号 ;
Hive 不存储数据,他是表到HDFS文件的映射关系(语句);
2. DDL
2.1 Hive的数据库DDL
Hive的数据库中相关的DDL语句与SQL基本一致,常见如下:
创建数据库:create database [if not exists] 数据库名
查看数据库:show databases
删除数据库:drop database [if exists] 数据库名
使用数据库:use 数据库名
2.2 Hive的数据表DDL
创建表:creat table 表名(colname, data_type,
colname, data_type, .....) 或
create table 表名 like 已有表表名;
或
create table like select 语句;
查看表:show tables
查看表结构:desc 表名
查看建表语句:show create table 表名
删除表:drop table [if exists] 表名
修改表名:alter table 表名 rename to 新表名
字段编辑:添加字段:alter table 表名 add column [colname data_type, colname 2 data_type2 ....]
修改字段名/类型 alter table 表名 change 旧字段名 新字段名 新字段类型
分区编辑:添加分区: alter table 表名 add partition (分区字段='分区字段数值')
查看分区:show partitions 表名
删除分区:alter table 表名 drop partition (分区字段='分区字段数值')
注:MySQL也可以分区,但一般不用,用数仓解决分区(后面内容详细解释数仓的分区);
2. 数据类型
2.1 类型
与MySQL数据库类型差异点:复合类字段
Array:同类型字段(data_type),都是数字类或字符串类型;
Map:组合类 (如:张三 北京;张三 18),可以组合不同类型字段
struct:结构体
2.2 数据类型转换
cast(列名 as 要转换的类型) ;
convert(数据类型,列名);
如果将浮点型的数据转换成int类型的,内部操作是通过round()或者floor()函数来实现的,而不是通过cast实现;
对于BINARY类型的数据,只能将BINARY类型的数据转换成STRING类型。如果你确信BINARY类型 数据是一个数字类型(a number),这时候你可以利用嵌套的cast操作;
对于Date类型的数据,只能在Date、Timestamp以及String之间进行转换。
3. 分隔符
4. 示例解释
-- 创建表create table emp(userid bigint,emp_name array<string>, -- 数组类型:外国人的名字包含 名 和 姓emp_date map<string,date>, -- 将入职日期和出生日期组合,入职日期和出生日期字段类型(key_value)为string,-- 其值本身(value_type)类型为dateother_info struct<deparment:string,gender:string>row format delimited -- 指定分隔符fields terminated by '\t' -- 字段分隔为\t,表示一个字段为一个制表位collection terminated by ',' -- 元素分隔符:将array/struct中各个字段用,隔开;将map中的key_value用,隔开map keys terminated by ':' -- 将map类型的key和value用:隔开-- 三类分隔符指令都存在时,顺序不能错
表结果:
10011 为userid,字段类型bigint;
Mary Sluis为字段名和姓,用array组合,用字段用,隔开;
第三列为map组合,birthdate和from_date都是key_value, 为string字段,key_value 被,分隔;后面的日期分别为其值,值类型(value_type)为date,被: 分隔;
第四列为其他信息,字段被, 分隔;
本文由 mdnice 多平台发布
【Hive】Hive 创建表相关推荐
- hive中创建表失败
使用create table命令创建表失败,如下错误信息: hive> create table test(id int,name string,age int,sex string); FAI ...
- hive 中创建表的三种方式
官网地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 通常我们所使用的创建hive表有三种方式 1.crea ...
- Hive数据库创建表
HIVE 基本操作 create table 总述 CREATE TABLE 创建一个指定名字的表.如果相同名字的表已经存在,则抛出异常:用户可以用 IF NOT EXIST 选项来忽略这个异常. E ...
- 【Hive】建表时的存储格式
目录 一.简介 1.hive建表时存储格式 2.五种存储格式的区别 二.实践操作 1.textfile 2.sequencefile 3.rcfile 4.orc 5.parquet 三.适用场景 一 ...
- hive根据已有表创建新表_Hive基础之创建表
1.创建基础表 在这个网页里详细记录了创建表的每个语法,下面就一一来看这些创建表的语法内容: CREATE TABLE [IF NOT EXISTS] [db_name.]table_name ``[ ...
- 学习笔记Hive(三) —— Hive应用(1)—— 数据库定义、创建表
一.任务讲解 泰坦尼克号乘客信息存储与分析 泰坦尼克号乘客信息存储与分析: 创建乘客信息表 导入数据到表中 统计获救与死亡情况 统计舱位分布情况 统计港口登船人数分布情况 统计性别与生存率的关系 统计 ...
- Hive基本操作,DDL操作(创建表,修改表,显示命令),DML操作(Load Insert Select),Hive Join,Hive Shell参数(内置运算符、内置函数)等
1. Hive基本操作 1.1DDL操作 1.1.1 创建表 建表语法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_nam ...
- HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令
1.上传tar包 这里我上传的是apache-hive-1.2.1-bin.tar.gz 2.解压 mkdir -p /home/tuzq/software/hive/ tar -zxvf apach ...
- shell 创建表 连接db2_大数据技术之SparkSQL(七)连接Hive数据库
Apache Hive是Hadoop上的SQL引擎,Spark SQL编译时可以包含Hive支持,也可以不包含.包含Hive支持的Spark SQL可以支持Hive表访问.UDF(用户自定义函数)以及 ...
- hive 创建表_2min快速了解,Hive内部表和外部表
在了解内部表和外部表区别前, 我们需要先了解一下Hive架构 : 大家可以简单看一下这个架构图,我介绍其中要点: Hive的数据分为两种,一种为普通数据,一种为元数据. 元数据存储着表的基本信息,增删 ...
最新文章
- Linux内核分析--理解进程调度时机、跟踪分析进程调度和进程切换的过程
- 重温ES6核心概念和基本用法
- POJ - 1961 最小循环节
- Abbirb120型工业机器人_ABB工业机器人-ABBIRB120结构介绍
- 【洛谷1361】 小M的作物(最小割)
- 计算机安全事故由谁整改,信息安全检查整改方案 整改方案 .doc
- Eclipse console 编码设置
- ORA-00257归档日志写满的解决方法
- Java模板回调函数,模板方法与回调函数
- 超级电容怎么才能把内阻做小_超级电容器内阻测定方法
- OJ密码岛 1243.谢尔宾斯基三角形
- 用gambit学博弈论--完全信息动态博弈-参与者信息集、博弈树上虚线的解释(三)
- python文本文件操作诗句给上一句输出下一句_使用RNN生成文本实战:莎士比亚风格诗句...
- 颜色搭配、前端素材模板、JS、MUI、java、微信小程序相关地址
- 股票的股息与股价对比
- Waiting ten thousand years for Love
- 大话存储-学习总结-4-磁盘阵列以及存储系统(DAS、SAN和NAS)
- java day37 mysql+Servlet(数据显示与删除)
- Unity Shader入门精要--第4 章 学习Shader 所需的数学基础:点和矢量
- [原创] java爬虫构建自己的比价系统
热门文章
- JAVA计算机毕业设计诗歌分享平台源码+系统+mysql数据库+lw文档
- 生老病死,一切都有定数
- java实现网上支付_java编写一个网上支付系统界面
- 基于VMware_vSphere的银行虚拟化平台设计 ——网络存储课程设计
- SQLServer入门基础(SQL语句)
- Python基础知识大全(适用于全面复习Python语法知识)
- Android NDK开发之旅(3): 详解JNI数据类型与C/C++、Java之间的互调
- STM32 PA15始终为高电平
- 多线程并发的一些解决思路
- web程序在线更新实现