zoukankan      html  css  js  c++  java
  • hive 内部表与外部表的区别

    hive 内部表:

    hive> create table soyo55(name STRING,addr STRING,money STRING) row format delimited fields terminated by ',' stored as textfile;

    hive> load data local inpath '/home/soyo/桌面/4.txt' into table soyo55;

    表中的数据到底存放在HDFS的什么地方?其实在Hive的${HIVE_HOME}/conf/hive-site.xml配置文件的hive.metastore.warehouse.dir属性指向的就是Hive表数据存放的路径(在我的电脑里面配置是/user/hive/warehouse (默认的表示没有配置hive.metastore.warehouse.dir属性)),而Hive每创建一个表都会在hive.metastore.warehouse.dir指向的目录下以表名创建一个文件夹,所有属于这个表的数据都存放在这个文件夹里面。

    hive 外部表:

    hive> create external table soyo89(name STRING,addr STRING,money STRING)location '/home/soyo';
    hive> load data local inpath '/home/soyo/桌面/6.txt' into table soyo89;
    表中的数据到底存放在HDFS的什么地方?存在HDFS中的“/home/soyo”路径下

    hive 内部表与外部表的区别:

    内部表当删除表时(drop table 表名)对应的表的元数据和具体数据都会被删除

    外部表当删除表时(drop table 表名)对应的表的元数据被删除但是具体数据还是在以前存放的路径下(例如: 删除表soyo89后------> /home/soyo这个路径下的6.txt文件还是存在的)

    外部表在创建时,如果location ‘/具体路径’下有具体的数据,可以直接加载数据进行操作(我认为这是挺方便的)

  • 相关阅读:
    UVA10302 【Summation of Polynomials】
    小Z 系列 解题报告
    Dsu on tree
    轻重链剖分
    二分图匹配
    题解 P2455 【[SDOI2006]线性方程组】
    闫氏DP分析法
    扩展域并查集
    bindColumn、bindParam与bindValue的区别
    如何获取二维数组的列数
  • 原文地址:https://www.cnblogs.com/soyo/p/7987223.html
Copyright © 2011-2022 走看看