zoukankan      html  css  js  c++  java
  • Hive DDL ROW FORMAT

    HiveQL DDL语法规则包括

    • CREATE DATABASE/SCHEMA, TABLE, VIEW, FUNCTION, INDEX(创建 数据库/模式,表,视图,函数,索引)
    • DROP DATABASE/SCHEMA, TABLE, VIEW, INDEX(删除 数据库/模式,表,视图,索引)
    • TRUNCATE TABLE(清空 表)
    • ALTER DATABASE/SCHEMA, TABLE, VIEW(修改 数据库/模式,表,视图)
    • MSCK REPAIR TABLE (or ALTER TABLE RECOVER PARTITIONS)(MSCK修复表或ALTER TABLE恢复分区)
    • SHOW DATABASES/SCHEMAS, TABLES, TBLPROPERTIES, VIEWS, PARTITIONS, FUNCTIONS, INDEX[ES], COLUMNS, CREATE TABLE(查看)
    • DESCRIBE DATABASE/SCHEMA, table_name, view_name(查看 数据库/模式描述信息)

    创建表时需要指定数据切分格式,会用到ROW FORMAT关键字。下面是Hive官网关于ROW FORMAT的用法:

    下面通过一个例子说明数据之间分隔符用法。比如有两条数据:

    1,Lilei,book-tv-code,beijing:chaoyang-shanghai:pudong
    2,Hanmeimei,book-Lilei-code,beijing:haidian-shanghai:huangpu

    先看JAVA集合框架图,明确每个字段数据类型

    再看数据格式,指定分隔符

    每个字段之间由[ , ]分割----------FIELDS TERMINATED BY ','

    第二个字段是Array形式,元素与元素之间由[ - ]分割----------COLLECTION ITEMS TERMINATED BY '-'

    第三个字段是K-V形式,每组K-V对内部由[ : ]分割,每组K-V对之间由[ - ]分割----------MAP KEYS TERMINATED BY ':'

    每条数据之间由换行符分割(默认[ ]),如果是其它分割方式(比如[ ; ])----------LINES TERMINATED BY ';'

    完整建表语句

    create table psn (
    id int,
    name string,
    hobbies ARRAY <string>,
    address MAP <string, string>
    )
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    COLLECTION ITEMS TERMINATED BY '-'
    MAP KEYS TERMINATED BY ':'; 

    ~完~

  • 相关阅读:
    ACM-ICPC 中可能会使用到的库
    ACM中java的使用
    Codeforces
    洛谷 P1879 玉米田(状压DP入门题)
    洛谷 P2622 关灯问题II(状压DP入门题)
    poj 2385 Apple Catching(记录结果再利用的动态规划)
    NOIP 提高组 2014 飞扬的小鸟(记录结果再利用的DP)
    2018.10.26 浪在ACM 集训队第四次测试赛
    NOIP 提高组 2014 联合权值(图论???)
    NOIP 普及组 2012 寻宝(思维???)
  • 原文地址:https://www.cnblogs.com/fuos/p/7283770.html
Copyright © 2011-2022 走看看