zoukankan      html  css  js  c++  java
  • Hive Tutorial(一)

    简介

    Hive支持关系型数据库中的大多数基本数据类型,同时也支持关系型数据库中很少出现的3种集合数据类型

    基本数据类型

    Hive支持多种不同长度的整型和浮点型数据类型,支持布尔类型,也支持无长度限制的字符串类型。Hive v0.8.0版本中增加了时间戳数据类型和二进制数组数据类型。

    表1: 基本数据类型

    数据类型 长度 例子
    TINYINT 1 byte有符号整数 10
    SMALINT 2 byte有符号整数 10
    INT 4 byte有符号整数 10
    BIGINT 8byte有符号整数 10
    BOOLEAN 布尔类型,true或者false False
    FLOAT 单精度浮点数 1.14159
    DOUBLE 双精度浮点数 1.14159
    STRING 字符序列。 可以指定字符集。
    使用单引号或者双引号
    'now is the time',“for all good men'
    TIMESTAMP 整数,浮点数或者字符串 1327882394 (Unix 新纪元秒)
    ,1327882394.123456789 (Unix新纪元秒并跟随有纳秒数)
    '2012-02-0312:34:56. 123456789'(JDBC所兼容的java.sql.Timestamp时间格式)
    BINARY 字节数组

    集合数据类型

    表2: 集合数据类型

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

    文本文件数据编码

    表3: Hive 中默认的记录和字段分割符

    分隔符 描述
    对于文本文件来说,每行都是一条记录,因此换行符可以分割记录
    ^A (Ctrl+A) 用于分隔字段(列)。 在CREATE TABLE语句中可以使用八进制编码01表示
    ^B 用于分隔ARRARY或者STRUCT中的元素,或用于MAP中键-值对之间的分隔。
    在CREATE TABLE语句中可以使用八进制编码02表示
    ^C 用于MAP中键和值之间的分隔。在CREATE TABLE语句中可以使用八进制编码03表示
  • 相关阅读:
    zepto.js常用操作
    使用require.js
    iscroll.js文档
    EasyUI Resizable 可调整尺寸
    EasyUI Droppable 可放置
    EasyUI Draggable 可拖动
    EasyUI Parser 解析器
    EasyUI Easyloader 加载器
    Jquery EasyUI插件
    从MySQL随机选取数据
  • 原文地址:https://www.cnblogs.com/Tcorner/p/13323655.html
Copyright © 2011-2022 走看看