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

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

Hive SQL之表与建表相关推荐

  1. hive 建表_Hive建表和内外部表的使用

    一.普通建表方式 create table stu_info( id int, name string )ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' 载 ...

  2. Mysql查看表的建表语句DDL

    第一种:通过命令查看 列如查看xxx表的建表语句 SHOW CREATE TABLE XXX表名 第二种是通过可视化界面查看: 比如Navicat中:

  3. impala/hive脱敏导数方法,建表跟hdfs路径关联

    经常使用的脱敏规则 1.md5()函数加密,需要用hive,用hive容易报内存不足,set mapreduce.map.memory.mb=1024的倍数 2.保留第一位,后面用*代替 concat ...

  4. 一些面试的SQL题 答案及建表全部齐全!

    这是我自己去面试的一点sql题 在这里分享给大家! 希望能尽快找到工作 其中第十一题 我不是很懂 (我用的是mysql 这个题好像是orc的 不知道是不是) 其次第十题的第四小题 我把count &l ...

  5. sql 数据库创建及建表,

    一.创建 1.首先打开SQL SERVER自带的数据库管理工具,从开始菜单中可以找到,如图点击进去: 2.开始连接SQL SERVER服务器,就是我们装好的SQL SERVER 服务器: 3.如图,右 ...

  6. 编程一五八俱乐部SQL学习笔记-2-mysql建表中的约束

    回顾上一笔记: update xxx set ...改 delete from xxx where ...删 select * from xxx查 insert into xxx value()增 一 ...

  7. Oracle数据库初学者:sql语句创建数据库表空间,建表语句

    1. 表空间的创建 表空间的创建,格式: create tablespace 表空间名 datefile '路径名/表空间名.dbf' size 60M(初始空间大小为:60M) autoextend ...

  8. mysql hive 建表_HIVE建表

    [参考link] [参考link] [参考link] [参考link] 1. 表类型MANAGED_TABLE.EXTERNAL_TABLE.INDEX_TABLE.VIRTUAL_VIEW MANA ...

  9. mysql建表datetime_mysql建表-创建时间、修改时间

    mysql在建表时要有创建时间.修改时间这两个字段 Navicat设置方法和SQL语法如下: 小编用的mysql版本是5.7,查看自己的数据库方法如下:蜗牛:Navicat查看数据库版本​zhuanl ...

  10. php mysql建表_mysql建表测试

    drop table if exists news; --如果存在表则删除 create table news  --创建表 ( id int unsigned not null auto_incre ...

最新文章

  1. 变量声明和定义有什么区别
  2. python零基础入门教程视频下载-Python零基础入门学习视频教程全42集,资源教程下载...
  3. leetcode算法题--飞机座位分配概率
  4. 杭州电子科技大学保研计算机,杭州电子科技大学计算机学院软件工程(专业学位)保研条件...
  5. 【数据结构与算法】之深入解析“丑数”的求解思路与算法示例
  6. POJ-3070 Fibonacci 快速矩阵幂
  7. Microsoft宣布.NET Core支持计划
  8. 注册和登录还有那个加密的密码
  9. 在ASP.NET中自动给URL地址加上超链接(好东东)
  10. Redis sorted set(有序集合)
  11. MacBook 摄像头不工作怎么解决
  12. oracle erp 操作手册,OracleERP操作手册
  13. 初学者也能看懂的隐马尔科夫模型介绍
  14. 2020年电工(技师)证考试及电工(技师)模拟考试软件
  15. 看红帽巨佬解析⭐《二、G1垃圾回收配置解析》⭐
  16. C++类和C结构体类型的异同
  17. Ubuntu 16.04下开启Mysql 3306端口远程访问
  18. CVPR 2020——OccuSeg: Occupancy-aware 3D Instance Segmentation
  19. ios应用数据存储方式(偏好设置)
  20. 浙江电网发电市场竞价上网辅助决策系统的设计

热门文章

  1. 奥本海姆《数字信号处理》课后题解析(一)
  2. Eclipse下搭建安卓开发环境(初步)
  3. 入学人数突破1000人! 阿里云大学云学院,开启创新育才实践之路!
  4. ankhsvn 使用_AnkhSVN:在Visual Studio中使用Subversion
  5. h330 mini raid卡驱动 linux,戴尔h330阵列卡驱动下载
  6. 原来PDF解密有这么多方法,你知道几个?
  7. 调用远程摄像头进行人脸识别_【论文精选】基于人脸识别技术的燃气远程开户系统...
  8. mysql进销存表设计_数据库设计:数据库进销存管理系统(包含有仓库出库入库触发器)...
  9. 早鸟票开售 | 世界级大师Sanjiv和他的敏捷领导力(CAL)认证课程
  10. php的威富通支付接口,威富通支付接口 - osc_hlr8sqnv的个人空间 - OSCHINA - 中文开源技术交流社区...