栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive SQL之表与建表

Hive SQL之表与建表

Hive数据模型总览

       用户通过数据库访问Hive后,首先选择哪个数据库,然后在库的下面选择的是一张张表,表是管理数据的的最基本的所在,在表中的一行行记录,在现实中就是一条条数据,里面有我们的字段字段类型和它的顺序。

表Table

一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。

表包含带有数据的记录(行)。

 建表语法树(基础)

 (1)数据类型

Hive数据类型指的是表中列的字符类型,整体分为两类:原生数据类型(primitive data type)和复杂数据类型(complex data type)。最常用的数据类型是字符串String和数字类型Int。

(2)分隔符指定语法

ROW FORMAT DELIMITED语法用于指定字段之间等相关的分隔符,这样Hive才能正确的读取解析数据。

或者说只有分隔符指定正确,解析数据成功,我们才能在表中看到数据。

 

 LazySimpleSerDe是Hive默认的,包含4种子语法,分别用于指定字段之间、集合元素之间、map映射 kv之间、 换行的分隔符号。

在建表的时候可以根据数据的特点灵活搭配使用。

 Hive建表基础语法练习

1、数据类型

2、分隔符指定

3、默认分隔符

一、数据类型、分隔符练习

文件archer.txt中记录了手游《王者荣耀》射手的相关信息,包括生命、物防、物攻等属性信息,其中 字段之间分隔符为制表符t,要求在Hive中建表映射成功该文件。

(1/3)数据文件

字段含义:id、name(英雄名称)、hp_max(最大生命)、mp_max(最大法力)、attack_m(最高物攻) 、defense_max(最大物防)、attack_range(攻击范围)、role_main(主要定位)、role_assist(次要定位) 。

分析一下:字段都是基本类型,字段的顺序需要注意一下。

字段之间的分隔符是制表符,需要使用row format语法进行指定。

 使用DataGrip 创建一个工程

首先new一个project

project       Hive-Darcy  在当前窗口打开

 

在桌面上创建一个文件夹 Hive-Darcy后面需要关联本地目录到工程中 

 

 连接成功后显示

创建一个新的文件

 创建完成后需要配置连接到Hive

 更换驱动,点击Dirver (若没有自己的驱动请谨慎删除系统的驱动)

 接着会出现下方页面,先点击箭头1,在点击箭头2进行删除

接着点击+号,选择自己的驱动

在自己的目录下找到hive3的驱动点击OK。 

如果箭头1所指的地方未变红,则成功,接着点击箭头2所指的箭头。返回继续配置。 

先修改名称,再写服务地址node1.itcast.cn,再写用户名,然后再点击Test Connection进行测试,如果没有问题就点击Apply,OK就配置好了。

 右键新建一个文件

创建 1.creat文件 

 

 这里注意 笔者在第一次创建的时候,写代码总是报错,后来发现是右上方的配置未配置好

 选择 Apach Hive

输入下列内容

--1,创建一张表 ,将射手结构化数据文件在Hive中映射成功
--表名
--字段  名称  类型  顺序
-- 字段之间的分割符需要指定
create table t_archer
(
    id int comment "Id编号",
    name string comment "英雄名称",
    hp_max int comment"最大生命力",
    mp_max int comment "最大法力",
    attack_max int comment"最高物攻",
    defense_max int comment"最大物防",
    attack_range string comment"攻击范围",
    role_main string comment "主要定位",
    role_assist string comment "次要定位"
)
--指定分割符
row format delimited
fields terminated by "t";--字段黄之间的分割符就是tab键 制表符

选择会话

 

 选择创建在哪个库下

 选中,接着进行运行。

点开右方的datebase可以查看建表是否成功 。

 

 建表成功后还需要将文件上传到表对应的目录下

  接着使用 select* from  查看表 t_archer

 

至此 将一个结构化的表映射为一张表。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/784893.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号