• hive复杂数据类型: 如何存 如何取


    目前所学的复杂数据类型有三种array,map,struct。

    复杂数据类型: 如何存 如何取(*****)

    1.array(用这种数据类型的特点就是集合里的每一个字段都是一个具体的信息,不会是那种key与values的关系)

    load数据如上所示,一共两个字段,ruoze  和他们工作的城市

    也就是字段与字段之间的分割用table array字段之间的分割用“,”。

    create table hive_array(
    name string,
    work_locations array<string>
    )
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '--表示字段与字段之间的分割用table
    COLLECTION ITEMS TERMINATED BY ',';--表示集合之内的分割用逗号。集合就是代表array这个复杂数据类型里边的数据之间的分割。

    load data local inpath '/home/hadoop/data/hive_array.txt'
    overwrite into table hive_array;


    select * from hive_array where array_contains(work_locations,'tianjin');

    array_contains这个函数是array_contains(array字段,‘字段包含的内容’)

    比如以上就是array字段包含tianjin的数据。

    2.map : key-value

    以上数据一共有3个字段,分别为id,name,member。其中member里的内容都是以key:values的形式出现的,若是这种形式一般用map这种复杂数据类型


    father:xiaoming#mother:xiaohuang#brother:xiaoxu
    create table hive_map(
    id int,
    name string,
    members map<string,string>,
    age int
    )
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ','--字段之间用逗号分隔
    COLLECTION ITEMS TERMINATED BY '#'--集合也就是map字段中的数据key:values相互之间用#分割
    MAP KEYS TERMINATED BY ':';map中key与values之间用冒号分割

    load data local inpath '/home/hadoop/data/hive_map.txt'
    overwrite into table hive_map;

    3.struct struct('a',1,2,3,4)(这个数据类型的特点就是可以包含各种各样的数据类型。但是struct可以是任意数据类型,在写struct数据类型时,在<>中要写清楚struct字段中的字段名称跟数据类型)

    create table hive_struct(
    ip string,
    userinfo struct<name:string,age:int>--struct这个数据类型中的字段名,字段类型

    )
    ROW FORMAT DELIMITED FIELDS TERMINATED BY '#'--字段之间的分割用#
    COLLECTION ITEMS TERMINATED BY ':';--集合之间的分割用冒号

    load data local inpath '/home/hadoop/data/hive_struct.txt'
    overwrite into table hive_struct;

  • 相关阅读:
    [LeetCode] 131. 分割回文串
    [LeetCode] 130. 被围绕的区域
    [LeetCode] 128. 最长连续序列
    [LeetCode] 129. 求根到叶子节点数字之和
    转:阿里巴巴集团技术丛书——淘宝一线团队实践
    转:开源知识库
    转:php使用websocket示例详解
    阿里巴巴上市背后的技术力量
    转:php中实现精确设置session过期时间的方法
    转:Java程序员最常用的8个Java日志框架
  • 原文地址:https://www.cnblogs.com/xuziyu/p/10551872.html
Copyright © 2020-2023  润新知