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语法指定分隔符,则采用默认分隔符;

默认的分割符是'01',是一种特殊的字符,使用的是ASCII编码的值,键盘是打不出来的。


Hive默认分隔符

在vim编辑器中,连续按下Ctrl+v/Ctrl+a即可输入'01' ,显示^A

在一些文本编辑器中将以SOH的形式显示:



大数据基础:

开发入门Linux入门 MySQL数据库

核心基础Hadoop

数仓技术Hive数仓项目

PB内存计算Python入门 Python进阶 pyspark框架 Hive+Spark项目

注意事项:大数据学习要业务驱动,不要技术驱动:数据科学的核心能力是解决问题。

大数据的核心目标是数据驱动的智能化,要解决具体的问题,不管是科学研究问题,还是商业决策问题,抑或是政府管理问题。

所以学习之前要明确问题,理解问题,所谓问题导向、目标导向,这个明确之后再研究和选择合适的技术加以应用,这样才有针对性。

展开阅读全文

页面更新:2024-05-09

标签:表语   进阶   字段   语法   数据类型   入门   语言   数据库   基础   项目   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top