分享

hive数据类型与创建数据库

 彧lljb1zbsmint 2018-05-29

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中本地模式的组成部分:JDKHADOOPMYSQLHIVEmysql的驱动包

       我们目前使用的是hivecli窗口:命令窗口->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'); 

希望将我在科多大数据学习的随堂笔记悄悄分享给大家,对你们有帮助

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多