Hive SQL语言:DDL建库、建表
Hive数据模型总览
Hive SQL之数据库与建库
SQL中DDL语法的作用
⚫ 数据定义语言(Data Definition Language, DDL),是SQL语言集中对数据库内部的对象结构进行创建,删除,修改等的操作语言,这些数据库对象包括database、table等。
⚫ DDL核心语法由CREATE、ALTER与DROP三个所组成。DDL并不涉及表内部数据的操作。
Hive中DDL语法的使用
⚫ Hive SQL(HQL)与 标准SQL的语法大同小异,基本相通;
⚫ 基于Hive的设计、使用特点,HQL中create语法(尤其create table)将是学习掌握Hive DDL语法的重中之重。
建表是否成功直接影响数据文件是否映射成功,进而影响后续是否可以基于SQL分析数据。通俗点说,没有表,表没有数据,你用Hive分析什么呢?
⚫ 选择正确的方向,往往比盲目努力重要。
⚫ 主要讲解基础的建库与建表语法操作
数据库database
⚫ 在Hive中,默认的数据库叫做default,存储数据位置位于HDFS的/user/hive/warehouse下。
⚫ 用户自己创建的数据库存储位置是/user/hive/warehouse/database_name.db下。
create database
⚫ create database用于创建新的数据库
COMMENT:数据库的注释说明语句
LOCATION:指定数据库在HDFS存储位置,默认/user/hive/warehouse/dbname.db
WITH DBPROPERTIES:用于指定一些数据库的属性配置
create database
⚫ 例子:创建数据库itcast
注意:如果需要使用location指定路径的时候,最好指向的是一个新创建的空文件夹。
use database
⚫ 选择特定的数据库
切换当前会话使用哪一个数据库进行操作
drop database
⚫ 删除数据库
默认行为是RESTRICT,这意味着仅在数据库为空时才删除它。
要删除带有表的数据库(不为空的数据库),我们可以使用CASCADE。
Hive SQL之表与建表
表Table
⚫ 一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。
⚫ 表包含带有数据的记录(行)。
建表语法树(基础)
注意事项
(1)数据类型
⚫ Hive数据类型指的是表中列的字段类型;
⚫ 整体分为两类: 原生数据类型(primitive data type)和复杂数据类型(complex data type)。
⚫ 最常用的数据类型是字符串String和数字类型Int。
(2)分隔符指定语法
⚫ ROW FORMAT DELIMITED语法用于指定字段之间等相关的分隔符,这样Hive才能正确的读解析数据
⚫ 或者说只有分隔符指定正确,解析数据成功,我们才能在表中看到数据。
(2)分隔符指定语法
⚫ LazySimpleSerDe是Hive默认的,包含4种子语法,分别用于指定字段之间、集合元素之间、 map映射kv之间、 换行的分隔符号。
⚫ 在建表的时候可以根据数据的特点灵活搭配使用。
Hive 默认分隔符
⚫ Hive建表时如果没有row format语法指定分隔符,则采用默认分隔符;
⚫ 默认的 分割符是'\001',是一种特殊的字符,使用的是ASCII编码的值,键盘是打不出来的。
Hive默认分隔符
⚫ 在vim编辑器中,连续按下Ctrl+v/Ctrl+a即可输入'\001' ,显示^A
⚫ 在一些文本编辑器中将以SOH的形式显示:
python大数据方向
2022最新大数据Hadoop入门视频教程,最适合零基础自学的大数据Hadoop教程
2022年大数据spark3.2入门Spark全套视频教程,4天spark3.2快速入门到精通,全网首套基于Python语言的spark教程
2022年MySQL基础入门2022最新MySQL知识精讲+mysql实战案例_零基础mysql数据库入门到高级全套教程
Python+大数据开发
MySQL数据库:2022最新MySQL知识精讲+mysql实战案例_零基础mysql数据库入门到高级全套教程
Hadoop入门:2022最新大数据Hadoop入门视频教程,最适合零基础自学的大数据Hadoop教程
Hive数仓项目:大数据项目实战教程_大数据企业级离线数据仓库,在线教育项目实战(Hive数仓项目完整流程)
PB内存计算
Python入门:全套Python教程_Python基础入门视频教程,零基础小白自学Python必备教程
Python编程进阶:Python高级语法进阶教程_python多任务及网络编程,从零搭建网站全套教程
spark3.2从基础到精通:Spark全套视频教程,4天spark3.2快速入门到精通,全网首套基于Python语言的spark教程
Hive+Spark离线数仓工业项目实战:全网首次披露大数据Spark离线数仓工业项目实战,Hive+Spark构建企业级大数据平台