hadoop笔记之Hive的数据存储(内部表)
Hive的数据存储(内部表)
Hive的数据存储(内部表)
- 基于HDFS
可使用hadoop给我们提供的web管理工具查看数据。打开管理工具localhost:9000
–>Utilities下的Browse the file system–>/user/hive/warehouse就能看到表目录–>打开表目录能看到表文件–>点击表文件,会询问是否需要下载文件–>点击download,可以用编辑器查看文件
- 没有专门的数据存储格式(因为来自不同的数据库)
- 存储结构主要包括:数据库、文件、表、视图
- 可以直接加载文本文件(.txt文件等)
- 创建表时,指定Hive数据的列分隔符与行分隔符
表又分为;
- Table 内部表
- Partition 分区表
- External Table 外部表
- Bucket Table 桶表
而视图的概念,类似于表
内部表
- 与数据库中的Table在概念上是类似
- 每一个Table在Hive中都有一个相应的目录存储数据
- 所有Table数据(不包括External Table)都保存在这个目录中
- 删除表时,元数据与数据都会被删除
○如何创建一张内部表t1(第一列是id号(整数类型),第二列是名称(字符串),最后是年龄(整数类型))
create table t1
(tid int,tname string,age int);
将上述代码运行在hive当中,如果没有指定保存位置,则默认保存在/user/hive/warehouse下
当然我们也可以指定表的创建位置在/mytable/hive/t2
create table t2
(tid int,tname string,age int)
location '/mytable/hive/t2';
刚才我们创建两张表的时候没有指明列与列之间的分隔符,默认情况下hive中的表默认采用制表符作为分隔符。我们也可以在创建表的时候指明分隔符是什么。
create table t3
(tid int,tname string,age int)
row format delimited fields terminated by ',';
row format是说行的格式是什么。这里采用,
号进行分割
我们在创建上面三张表的时候是没有任何数据的,那么可不可以创建的同时加入数据呢?当然是可以的。
这里有一张表
create table t4
as
select * from sample_data;
这样就可以查询语句的集合来创建t4表
注意我们在创建t4表的时候是没有指明分隔符的,所以t4表是没有分隔符的。如若要分隔符,如下:
create table t5
row format delimited fields terminated by ','
as
select * from sample_data;
当然我们还可以对表的结构进行一定修改
例如我们想在t1表上添加一个新的列
alter table t1 add columns(english int);
删除一张表
drop table t1;
在删除一张表的时候,就将该表移入hdfs的回收站中
hadoop笔记之Hive的数据存储(内部表)的更多相关文章
- hadoop笔记之Hive的数据存储(外部表)
Hive的数据存储(外部表) Hive的数据存储(外部表) 外部表 指向已经在HDFS中存在的数据,可以创建Partition 它和内部表在元数据的组织上是相同的,而实际数据的存储则有较大的差异 外部 ...
- hadoop笔记之Hive的数据存储(桶表)
Hive的数据存储(桶表) Hive的数据存储(桶表) 桶表 桶表是对数据进行哈希取值,然后放到不同文件中存储. 比如说,创建三个桶,而创建桶的原则可以按照左边表中学生的名字来创建对应的桶.这样子把左 ...
- hadoop笔记之Hive的数据存储(视图)
Hive的数据存储(视图) Hive的数据存储(视图) 视图(view) 视图是一种虚表,是一个逻辑概念:可以跨越多张表 既然视图是一种虚表,那么也就是说用操作表的方式也可以操作视图 但是视图是建立在 ...
- hadoop笔记之Hive的数据存储(分区表)
Hive的数据存储(分区表) Hive的数据存储(分区表) 分区表 Partition对应于数据库的Partition列的密集索引 在Hive中,表中的一个Partition对应于表下的一个目录,所有 ...
- Hive 表操作(HIVE的数据存储、数据库、表、分区、分桶)
1.Hive的数据存储 Hive的数据存储基于Hadoop HDFS Hive没有专门的数据存储格式 存储结构主要包括:数据库.文件.表.试图 Hive默认可以直接加载文本文件(TextFile),还 ...
- 大数据软件安装之Hadoop(Apache)(数据存储及计算)
大数据软件安装之Hadoop(Apache)(数据存储及计算) 一.生产环境准备 1.修改主机名 vim /etc/sysconfig/network 2.修改静态ip vim /etc/udev/r ...
- 一文彻底搞懂Hive的数据存储与压缩
目录 行存储与列存储 行存储的特点 列存储的特点 常见的数据格式 TextFile SequenceFile RCfile ORCfile 格式 数据访问 Parquet 测试 准备测试数据 存储空间 ...
- hadoop笔记之Hive入门(Hive的体系结构)
Hive入门(二) Hive入门(二) Hive的体系结构 ○ Hive的元数据 Hive将元数据存储在数据库中(metastore),支持mysql.derby.oracle等数据库,Hive默认是 ...
- hadoop笔记之Hive入门(什么是Hive)
Hive入门(一) Hive入门(一) 什么是Hive? Hive是个数据仓库,数据仓库就是数据库,但又与一般意义上的数据库有点区别 实际上,Hive是构建在hadoop HDFS上的一个数据仓库. ...
随机推荐
- C# in Depth阅读笔记1:C#1特性
1.委托 委托是对包含返回值和参数的行为的一种封装,类似于单一方法的接口. 委托是不易变的(就像string),system.delegate下的combine和remove方法都只能产生一个新的委托 ...
- android开发Tost工具类管理(一)
Tost工具类管理: package com.gzcivil.utils; import android.content.Context; import android.widget.Toast; / ...
- js 正则表达式验证 整理
1.验证首字符是英文字母: var str="123"; var reg=/^[a-zA-Z]/; if(!reg.test(str)){ alert(str+"应以字母 ...
- MVC 使用PageList进行分页
1.新建MVC项目 2.在Web项目下添加PagedList nuget 命令 :install-package pagedlist.mvc 在安装完成之后,会在Content下添加PagedList ...
- 在Win7的IIS上搭建FTP服务及用户授权
FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载).在网络上有 ...
- Google搜索的配置方法
在百度慢慢沦落为广告商的搜索引擎之后,对于一个追求技术的程序员,他所要追求的搜索引擎永远都应该是google. 下面保存一下我使用的能够FQ实现google搜索的方法和一些面试的测试账号. 小飞机sh ...
- 十个最值得阅读学习的C开源项目代码
1. Webbench Webbench 是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以 模拟3万个并 ...
- ZRender源码分析6:Shape对象详解之路径
开始 说到这里,就不得不提SVG的路径操作了,因为ZRender完全的模拟了SVG原生的path元素的用法,很是强大. 关于SVG的Path,请看这里: Path (英文版) 或者 [MDN]SVG教 ...
- 在mysql 中两种锁定问题
mysql 中15.2.10.5 中描述了两个问题,且分别给出了解决办法. 1.向子表中写入数据,但写入之前需确保父表中存在其相应信息. 可能出现,在已经读取父表中的数据,但另一请求将其删除. 办法: ...
- Linux 下搭建ftp服务器 指定用户指定目录及其他操作
搭建 Linux下 rpm -qa |grep vsftpd查看是否安装 没安装yum安装 /etc/vsftpd/目录下有vsftpd.conf配置文件 根据需求 进行配置 是否使用匿名用户以及文 ...