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 ‘/具体路径’下有具体的数据,可以直接加载数据进行操作(我认为这是挺方便的)

  • 相关阅读:
    非原创-MongoDB PHP 扩展
    原创-docker命令
    原创-k8s nginx内核参数优化
    原创-阿里云K8S-PVCyaml文件挂载云盘
    原创-k8s反亲和性
    使用Virtualenv隔离Python、Ansible不同发行版
    基于Scrapy分布式爬虫的开发与设计
    CentOS7.3中将Python2.7.5 升级到Python3.5.1
    如何让django的model名和应用名显示为中文
    Django添加ckeditor富文本编辑器
  • 原文地址:https://www.cnblogs.com/soyo/p/7987223.html
Copyright © 2011-2022 走看看