zoukankan      html  css  js  c++  java
  • Hive 基本操作 DDL

    • 数据类型

       

    • 要求:字段的类型和顺序要和结构化文件保持一致 hive会尝试转换 不保证转换成功 如果成功就显示 如果失败就显示null
    1. hive除了支持sql类型 还支持java类型 大小写不敏感
    2. hive除了支持基本类型 还支持复合类型(map array) 针对复合类型要跟分隔符指定有关
    • hive读取数据映射的机制

       

    1. 首先调用Inputformat进行读取数据,默认TextInputFormat(一行一行读)
    2. 然后调用SerDe类进行数据切割,默认LazySimpleSerDe根据指定分隔符进行数据切割

    分割符指定:

    语法格式:

    ROW FORMAT DELIMITED | SERDE
    
    ROW FORMAT : 表明开始指定分隔符
    DELIMITED : 使用内置默认的类来进行数据切割 默认LazySimpleSerDe
    SERDE :表明使用其他的类来进行数据切割
     
     
     
    x
     
     
     
     
     
    1
    ROW FORMAT DELIMITED | SERDE
    2
    
    
    3
    ROW FORMAT : 表明开始指定分隔符
    4
    DELIMITED : 使用内置默认的类来进行数据切割 默认LazySimpleSerDe
    5
    SERDE :表明使用其他的类来进行数据切割
     
     
    [FIELDS TERMINATED BY char]  指定字段之间的分隔符
    [COLLECTION ITEMS TERMINATED BY char] 指定集合元素之间分隔符
    [MAP KEYS TERMINATED BY char]  指定map kv之间的分隔符
    [LINES TERMINATED BY char] |  指定换行符
    
     
     
     
     
     
     
     
     
     
    1
    [FIELDS TERMINATED BY char]  指定字段之间的分隔符
    2
    [COLLECTION ITEMS TERMINATED BY char] 指定集合元素之间分隔符
    3
    [MAP KEYS TERMINATED BY char]  指定map kv之间的分隔符
    4
    [LINES TERMINATED BY char] |  指定换行符
    
     
     

    日常命令:

    show tables;
    显示当前数据库所有表
    show databases |schemas;
    显示所有数据库
    show partitions table_name;
    显示表分区信息,不是分区表执行报错
    desc formatted table_name;
    查看表信息(格式化美观)
     
     
     
    x
     
     
     
     
     
    1
    show tables;
    2
    显示当前数据库所有表
    3
    show databases |schemas;
    4
    显示所有数据库
    5
    show partitions table_name;
    6
    显示表分区信息,不是分区表执行报错
    7
    desc formatted table_name;
    8
    查看表信息(格式化美观)
     
     

    hive错误的分类:

    Error while compiling statement    编译期间的错误 sql语法错误 
    Error while processing statement   执行期间的错误  逻辑思维的错误 sql语法层面没问题
     
     
     
    1
     
     
     
     
     
    1
    Error while compiling statement    编译期间的错误 sql语法错误 
    2
    Error while processing statement   执行期间的错误  逻辑思维的错误 sql语法层面没问题
     
     
     



  • 相关阅读:
    Vue自定义过滤器格式化数字三位加一逗号
    js复制功能
    vue中数据接收成功,页面渲染失败
    css技巧
    vue+elementUI table篇
    图片预加载
    jquery实现文字自动向上滚动,鼠标放上去停止,移开继续滚动代码...
    【Flutter】广播机制
    【Flutter】IOS打包
    【Flutter】BottomNavigationBar切换页面被重置问题(保存状态)
  • 原文地址:https://www.cnblogs.com/TiePiHeTao/p/3e8298051c29ac54ff73e48f47cc74ba.html
Copyright © 2011-2022 走看看