• Hive数据类型


    1. 基本数据类型

    hive数据类型java数据类型长度栗子
    TINYINTbyte1byte 有符号整数10
    SMALINTshort2byte 有符号整数10
    INTint4byte 有符号整数10
    BIGINTlong8byte 有符号整数10
    BOOLEANboolean布尔类型,true 或者 falsetrue\false
    FLOATfloat单精度浮点数3.1415
    DOUBLEdouble双精度浮点数3.1415
    STRINGstring字符系列‘hello world’
    TIMESTAMP时间类型
    BINARY字节数组

    2. 集合数据类型

    数据类型描述栗子
    STRUCT和 c 语言中的 struct 类似,都可以通过“点”符号访 问元素内容。例如,如果某个列的数据类型是 STRUCT{first STRING, last STRING},那么第 1 个元素可以通过字段.first 来 引用。struct
    MAPMAP 是一组键-值对元组集合,使用数组表示法可以 访问数据。例如,如果某个列的数据类型是 MAP,其中键 ->值对是’first’->’John’和’last’->’Doe’,那么可以 通过字段名[‘last’]获取最后一个元素map
    ARRAY数组是一组具有相同类型和名称的变量的集合。这些 变量称为数组的元素,每个数组元素都有一个编号,编号从 零开始。例如,数组值为[‘John’, ‘Doe’],那么第 2 个 元素可以通过数组名[1]进行引用。array

    3. 举个例子

    3.1 原始数据

    {
     "name": "zhangsan",
     "friends": ["lisi" , "wangwu"] , 
     "children": { //键值 Map,
         "zhangsi": 20 ,
         "zhangwu": 21
     }
     "address": { 
         "streetid": 1,
         "city": "beijing"
     }
    }
    
    test.txt
    zhangsan,lisi_wnangwu,zhangsi:20_zhangwu:21,1_beijing
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    3.2 创建表

    create table test(
    	name string,
        friends array<string>,
        children map<string, int>,
        address struct<streetid: int, city: string>
    )
    row format delimited fields terminated by ','
    collection items terminated by '_'
    map keys terminated by ':'
    lines terminated by '\n';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3.3 导入数据

    load data local inpath '/tmp/test.txt' into table test;
    
    • 1

    4. 类型转换

    4.1 隐式转换

    1. 任何整数类型都可以隐式地转换为一个范围更广的类型,如 TINYINT 可以转换成 INT,INT 可以转换成 BIGINT。

    2. 所有整数类型、FLOAT 和 STRING 类型都可以隐式地转换成 DOUBLE。

    3. TINYINT、SMALLINT、INT 都可以转换为 FLOAT。

    4. BOOLEAN 类型不可以转换为任何其它的类型。

    4.2 CAST转换

    CAST(‘1’ AS INT)将把字符串’1’ 转换成整数 1;

    如果强制类型转换失败,如执行 CAST(‘X’ AS INT),表达式返回空值 NULL。

  • 相关阅读:
    Android高仿网易云音乐-启动界面实现和动态权限处理
    内容互动性的提升策略:Kompas.ai的智能工具
    GO语言集成开发工具环境JetBrains GoLand 2022
    【数据库之postgreSQL】全文索引之飞快
    SQL使用技巧
    Springboot整合ElasticSearch
    六、Spring Boot 整合 NoSQL(1)
    如何调用股票交易软件api接口?
    【Android知识笔记】热修复专题
    千亿IT运维市场,产品要凭实力说话
  • 原文地址:https://blog.csdn.net/weixin_46376562/article/details/126315585