美文网首页
更新hive表数据

更新hive表数据

作者: superHang | 来源:发表于2020-03-22 20:43 被阅读0次

    hive外部表和内部表的区别

    hive内部表删除的时候会将元数据和hdfs上的数据和对应的文件夹都删掉了,而删除外部表的时候,只会将元数据删除,而hdfs上的数据不会被删除,外部表创建添加external,不添加默认创建内部表

    1.建立测试hive分区表

    create table test_table(
    name string comment "姓名",
    age string comment "年龄",
    clazz string "班级"
    )partitioned by(grade string comment '以年级做分区字段')
    row format delimited fields terminated by ',';
    

    2.加载分区数据

    ##one.txt数据
    小明,6,一班,一年级
    小红,7,二班,一年级
    小李,8,三班,一年级
    小芳,9,四班,一年级
    #将这份数据传到hdfs文件系统中
    hadoop fs -put one.txt  "/user/warehouse/test_table/"
    
    ##3.加载一年级分区数据
    load data INPATH '/user/warehouse/test_table/one.txt' into table test_table PARTITION (grade ='一年级');
    
    

    3.删除分区表数据

    alter table test_table drop partition(grade=‘一年级’))
    
    

    4.因为一年级数据变化了,重新加载一年级分区数据

    one2.txt
    小明2,6,一班,一年级
    小红,7,二班,一年级
    小李,8,三班,一年级
    小芳,9,四班,一年级
    小凌,6,五班,一年级
    
    hadoop fs -put one2.txt  "/user/warehouse/test_table/"
    
    
    
    load data INPATH '/user/warehouse/test_table/one2.txt' into table test_table PARTITION (grade ='一年级');
    
    
    

    因为hive没有对行级别的update 和 delete 操作,又不像删除表重建,就通过hdfs操作来更改hive的数据

    相关文章

      网友评论

          本文标题:更新hive表数据

          本文链接:https://www.haomeiwen.com/subject/bczvyhtx.html