Hive的两种表
1.内部表
- 内部表Load数据有两种方式:① Load data ***;②hdfs dfs -put ****。这是因为在Metastore文件,即mysql的hive数据库的“SDS”表中,保存着Hive表对应的hdfs路径信息。
- 内部表在Load数据时,如果使用LOCAL关键字,Hive会把本地文件系统中的数据文件复制到Hive的 /warehouse 目录。反之,则是将HDFS上的数据文件剪切到 /warehouse 目录。
- Hive在Load数据时,并不检查目录中的文件是否符合表所声明的模式。只有通过SELECT查询返回空值NULL,才能确定不匹配。
- 内部表drop时,表的元数据(mysql中)和数据文件(hdfs中)都会被删除。
create table book (id bigint, name string) row format delimited fields terminated by '\t';
2.外部表
- 外部表Load数据也有两种方式。
- 外部表只需在创建表时显示指定表中数据存储位置即可。Hive不会把数据剪切到自己的目录。
- 实际上,在创建表时,Hive甚至不会检查这一外部位置是否存在。这是一个非常重要的特性,这意味着可以先创建表,再上传数据文件。
- 如果不显示指定外部表的存放路径,这样Hive将在HDFS上的 /user/hive/warehouse/ 文件夹下创建一个以外部表表名的文件夹,并将属于这个表的数据存放在这里。
- 对于创建外部表命令,执行成功后,会在hdfs上自动创建空目录'/book'用来存储数据文件。
- 外部表在drop时,不会碰数据文件,而只会删除元数据信息,即HDFS上的'/book'目录依旧存在。
create external table book (id bigint, name string) row format delimited fields terminated by '\t' location '/book';
区别:
1. 在导入数据到外部表,数据并没有移动到 '/user/hive/warehouse/T_Name'目录下,也就是说外部表中的数据并不是由它自己来管理的!而内部表则不一样;
2. 在删除内部表的时候,Hive将会把属于内部表的元数据和数据文件全部删掉;而删除外部表的时候,Hive仅仅删除外部表的元数据,数据文件是不会删除的!
3.两种表的选择:推荐使用外部表(跨部门的数据)
4.默认行内分隔符
- 如果在创建表时没有用row format或stored as子句,那么Hive使用默认格式来分割的每一行。
- 默认的行内分隔符不是制表符,而是ASCII控制码集合中的Control-A(它的ASCII码为1)
- 这是因为它出现在文本中的概率相对于制表符来说概率更小。
CREATE TABLE records ( id string ) Row Format Delimited Fields Terminated By ‘\t’ ;
英语解释:行内格式的限定符以 ' \t '结尾终止
Hive的两种表的更多相关文章
- MySQL Innodb的两种表空间方式
要说表空间,MySQL的表空间管理远远说不上完善.换句话说,事实上MySQL根本没有真正意义上的表空间管理.MySQL的Innodb包含两种表空间文件模式,默认的共享表空间和每个表分离的独立表空间.只 ...
- select into from和insert into select from两种表复制语句区别
select into from和insert into select from两种表复制语句都是将源表source_table的记录插入到目标表target_table,但两句又有区别. 第一句(s ...
- INNODB与MyISAM两种表存储引擎区别
mysql数据库分类为INNODB为MyISAM两种表存储引擎了,两种各有优化在不同类型网站可能选择不同,下面小编为各位介绍mysql更改表引擎INNODB为MyISAM技巧. 常见的mysql表引擎 ...
- 问题:oracle select into;结果:oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解
oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解 (2011-07-08 08:59:47) 转载▼ 标签: it 分类: oracle 我们经常会遇 ...
- oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别
create table as select * from和insert into select from两种表复制语句区别 create table targer_table as select ...
- hive的两种使用方式
hive的两种使用方式 1,hive shell的方式 启动命令: bin/hive 2.beeline客户端方式 首先在一个机器上启动hive thrift服务 bin/hiveserver2 在其 ...
- PostgreSQL SELECT INTO和INSERT INTO SELECT 两种表复制语句
SELECT INTO和INSERT INTO SELECT两种表复制语句都可以用来复制表与表之间的数据,但是它们之间也有区别. 建表语句: bas_custom_rel表 CREATE TABLE ...
- 大数据学习day26----hive01----1hive的简介 2 hive的安装(hive的两种连接方式,后台启动,标准输出,错误输出)3. 数据库的基本操作 4. 建表(内部表和外部表的创建以及应用场景,数据导入,学生、分数sql练习)5.分区表 6加载数据的方式
1. hive的简介(具体见文档) Hive是分析处理结构化数据的工具 本质:将hive sql转化成MapReduce程序或者spark程序 Hive处理的数据一般存储在HDFS上,其分析数据底 ...
- MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
转载 http://www.jb51.net/article/5620.htm MySQL支持的两种主要表存储格式MyISAM,InnoDB,上个月做个项目时,先使用了InnoDB,结果速度特别慢,1 ...
随机推荐
- 巨蟒python全栈开发flask15项目开始7
1.连续收取未读消息&&未读消息所属人 2.Pypinyin NLP中文同音字识别 3.jieba分词 4.Gemsim框架之LsiModel稀疏矩阵相似度 5.Gensim的应用 6 ...
- DNS服务简介
一.域名系统 1.域名系统概述 域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址.域名系统其实就是名字系统.为什么不叫“名字” ...
- ORACLE内存结构:PGA And UGA,ORACLE用户进程、服务器进程
执行一个SQL语句 执行查询语句的过程: 用户进程执行一个查询语句如select * from emp where empno=7839 用户进程和服务器进程建立连接,把改用户进程的信息存储到PGA的 ...
- Codeforces Round #118 (Div. 1) A. Plant
A. Plant 题目链接:http://codeforces.com/problemset/problem/185/A 题意:一个植物会长,一开始是一个正三角形,每过一年,一个向上的正三角形会变成三 ...
- Nagle's algorithm
w41字节的数据包只有1字节的可用信息.以减少数据包发送量来提高TCP/IP网络性能. https://en.wikipedia.org/wiki/Nagle's_algorithm https:// ...
- About LabView
Recently I am running an experiment. Because the lab has only NI devices, I have to learn to use the ...
- python学习笔记(二)— 字符串(string)
字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' var2 ...
- window 如何枚举设备并禁用该设备和启用该设备?如何注册设备热拔插消息通知?
目前实现的功能: 1.设备枚举 2.设置设备禁用和启用 3.注册设备热拔插消息通知 4.获取设备 vid pid 数值 需要链接的库 SetupAPI.lib DeviceManager 类如下: D ...
- Spark Standalone Mode 单机启动Spark -- 分布式计算系统spark学习(一)
spark是个啥? Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发. Spark和Hadoop有什么不同呢? Spark是基于map reduce算法实现的分布式计算,拥 ...
- 金融量化ushare模块
一.介绍 Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据,为他们 ...