zoukankan      html  css  js  c++  java
  • Hive学习笔记(二)

    Hive内部表跟外部表之间的区别

    创建外部表

    先删除上面创建的表,指定location

    此时在hdfs根目录下就有一个hivedata文件夹

    上传文本数据到hivedata目录下

    查询表中数据

    删除上面那个外部表

    hivedata目录下的数据还存在

    所以,内部表在删除表的同时删除以表名为目录的目录以及数据都被删除了,外部表则不删除目录下的数据,元数据被删除了,但数据还存在

    因此,企业一般使用外部表,因为删除表,数据还在hdfs目录下

    Hive分区表的使用

    创建分区表

    查看表结构

    创建一些数据

    加载数据,要指定分区名

    查询数据

    再造一个数据,vi  t_part1

    hive再load一下,load到不同分区

    t_part 应该是 t_part1

    再次查询这个表

    指明分区查询

    这样查询只需要查询指定分区的文件,大大提高了查询的效率

    Hive指定表的存储格式 stored as

    创建表

    没有指定 stored as,默认就是textfile

    造一个数据,然后再加载

    重新创建一个表

    加载数据

    发现失败了,文件格式有问题,不能通过load的形式去加载数据了

    需要从另一个表查询数据然后overwrite到这个表

    查看hdfs,t_3使用的是压缩数据

  • 相关阅读:
    发布时间 sql语句
    Excel中 查找重复数据
    身份证正则表达式
    (转)C#中的委托与事件
    C#中的ForEach
    Ajax请求中,contentType和dataType的区别
    让IIS支持PUT和Delete请求的方法
    Vue.js事件修饰符
    JS阻止默认行为
    关于bindinglist的一点小问题
  • 原文地址:https://www.cnblogs.com/tangzhe/p/9414643.html
Copyright © 2011-2022 走看看