hive的数据类型:
基本数据类型
一般情况下,只存储一个值(理解为同其它数据库的数据类型,或者在一般使用时,就按照普通的数据库的类型使用,string-varchar)
集合类型
是可以存储多个值
常用的只有三类:
Array:数组(和java一样)
name likes
age
zs [乒乓球,篮球] 18
UDTF的函数
zs 乒乓球 18
zs 篮球 18
取其中的一个,下标来取,下标是从0开始,所有的元素的类型是相同的。
zs likes[0] 18
MAP类型<key,value>类型(和java的一样)
key是已知的。而value是在定义的是未知,但是需要给值
字段名['key']返回的是value的值
在建表的时候在来定义
Struct类型:类型于我们java中的JaveBean(对象)
地址:中国四川省成都市高新区
国家=中国
省份=四川
市|区=成都
地址.国家=中国
如何使用这些集合类型?
在hive中本地模式的组成部分:JDK、HADOOP、MYSQL、HIVE、mysql的驱动包
我们目前使用的是hive的cli窗口:命令窗口->hive
前置条件:首次使用hive的值需要先初始化。每次使用hive之前,需要先确定dfs是否启动。
hive所操作的单元:表 表又放在数据库中(默认有一个数据库叫default)
如何创建自己的数据库?
可以参考这个地址:
https://cwiki./confluence/display/Hive/LanguageManual+DDL
CREATE
(DATABASE|SCHEMA) [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[WITH DBPROPERTIES
(property_name=property_value, ...)];
创建数据库的语法格式:
():必选
|:多选1
[]:可选
...:对于前面的元素,可以重复
一般官网给出的格式大写的一般是关键字。小写的是用户进行修改的内容
DATABASE:所表述的范围值是在数据库中的所有用户。如果我们创建一个db01数据库,在有权限的条件下,所有的用户都可以操作库下的数据。
SCHEMA:作用域是在某一个用户的下面。
一般情况下,只会用到DATABASE
IF NOT EXISTS:如果不存在才创建,如果存在就不会创建,因为默认在数据库中,如果某一个数据库已经存在,在去创建的话,会报错。如果加上IF NOT EXISTS的话,将避免报错。
创建一个最简单的数据库
CREATE DATABASE db01;
如果数据库存在,就不希望创建,将避免报错
CREATE DATABASE IF NOT EXISTS db01;
hive中将数据库信息、表结构信息、字段信息等等,称之为元数据,存储在mysql中。
创建一个数据库并带有备注信息
CREATE
DATABASE IF NOT EXISTS db02 COMMENT 'my db02';
创建带有自定义属性的数据库
CREATE DATABASE IF NOT EXISTS db03 COMMENT 'my
db03' WITH DBPROPERTIES ('name'='keduox');
希望将我在科多大数据学习的随堂笔记悄悄分享给大家,对你们有帮助
|