zoukankan      html  css  js  c++  java
  • Hive 数据类型


    1. hive的数据类型
    Hive的内置数据类型可以分为两大类:(1)、基础数据类型;(2)、复杂数据类型
    2. hive基本数据类型
    基础数据类型包括:


    TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY,TIMESTAMP,DECIMAL,CHAR,VARCHAR,DATE。




    3. hive集合类型
    集合类型主要包括:array,map,struct等,hive的特性支持集合类型,这特性是关系型数据库所不支持的,利用好集合类型可以有效提升SQL的查询速率。


    3.1 集合类型之array
    (1) 先创建一张表


    create table t_array(id int,name string,hobby array<string>)
    row format delimited
    fields terminated by ','
    collection items terminated by '-';


    (2) 准备数据文件 array.txt

    1,zhangsan,唱歌-跳舞-游泳
    2,lisi,打游戏-篮球

    (3) 加载数据文件到t_array表中


    load data local inpath ‘/root/array.txt’ into table t_array;



    (4) 查询数据


    select id ,name,hobby[0],hobby[1] from t_array;



    注意:array的访问元素和java中是一样的,这里通过索引来访问。


    3.2 集合类型之map
    (1) 先创建一张表


    create table t_map(id int,name string,hobby map<string,string>)
    row format delimited
    fields terminated by ','
    collection items terminated by '-'
    map keys terminated by ':' ;


    (5) 准备数据文件 map.txt

    1,zhangsan,唱歌:非常喜欢-跳舞:喜欢-游泳:一般般
    2,lisi,打游戏:非常喜欢-篮球:不喜欢

    (6) 加载数据文件到t_map表中


    load data local inpath ‘/root/map.txt’ into table t_map;



    (7) 查询数据
    select id,name,hobby['唱歌'] from t_map;
    注意:map的访问元素中的value和java中是一样的,这里通过key来访问。
    3.3集合类型之struct
    (1) 先创建一张表


    create table t_struct(id int,name string,address struct<country:string,city:string>)
    row format delimited
    fields terminated by ','
    collection items terminated by '-';


    (8) 准备数据文件 struct.txt

    1,zhangsan,china-beijing
    2,lisi,USA-newyork

    (9) 加载数据文件到t_struct表中


    load data local inpath ‘/root/struct.txt’ into table t_struct;



    (10) 查询数据


    select id,name,address.country,address.city from t_struct;



    总结:struct访问元素的方式是通过.符号

     

     

     

  • 相关阅读:
    oracle 导入数据时提示只有 DBA 才能导入由其他 DBA 导出的文件
    oracle 常用语句
    android udp 无法收到数据 (模拟器中)
    android DatagramSocket send 发送数据出错
    AtCoder ABC 128E Roadwork
    AtCoder ABC 128D equeue
    AtCoder ABC 127F Absolute Minima
    AtCoder ABC 127E Cell Distance
    CodeForces 1166E The LCMs Must be Large
    CodeForces 1166D Cute Sequences
  • 原文地址:https://www.cnblogs.com/Transkai/p/10612366.html
Copyright © 2011-2022 走看看