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的数据存储(内部表)的更多相关文章

  1. hadoop笔记之Hive的数据存储(外部表)

    Hive的数据存储(外部表) Hive的数据存储(外部表) 外部表 指向已经在HDFS中存在的数据,可以创建Partition 它和内部表在元数据的组织上是相同的,而实际数据的存储则有较大的差异 外部 ...

  2. hadoop笔记之Hive的数据存储(桶表)

    Hive的数据存储(桶表) Hive的数据存储(桶表) 桶表 桶表是对数据进行哈希取值,然后放到不同文件中存储. 比如说,创建三个桶,而创建桶的原则可以按照左边表中学生的名字来创建对应的桶.这样子把左 ...

  3. hadoop笔记之Hive的数据存储(视图)

    Hive的数据存储(视图) Hive的数据存储(视图) 视图(view) 视图是一种虚表,是一个逻辑概念:可以跨越多张表 既然视图是一种虚表,那么也就是说用操作表的方式也可以操作视图 但是视图是建立在 ...

  4. hadoop笔记之Hive的数据存储(分区表)

    Hive的数据存储(分区表) Hive的数据存储(分区表) 分区表 Partition对应于数据库的Partition列的密集索引 在Hive中,表中的一个Partition对应于表下的一个目录,所有 ...

  5. Hive 表操作(HIVE的数据存储、数据库、表、分区、分桶)

    1.Hive的数据存储 Hive的数据存储基于Hadoop HDFS Hive没有专门的数据存储格式 存储结构主要包括:数据库.文件.表.试图 Hive默认可以直接加载文本文件(TextFile),还 ...

  6. 大数据软件安装之Hadoop(Apache)(数据存储及计算)

    大数据软件安装之Hadoop(Apache)(数据存储及计算) 一.生产环境准备 1.修改主机名 vim /etc/sysconfig/network 2.修改静态ip vim /etc/udev/r ...

  7. 一文彻底搞懂Hive的数据存储与压缩

    目录 行存储与列存储 行存储的特点 列存储的特点 常见的数据格式 TextFile SequenceFile RCfile ORCfile 格式 数据访问 Parquet 测试 准备测试数据 存储空间 ...

  8. hadoop笔记之Hive入门(Hive的体系结构)

    Hive入门(二) Hive入门(二) Hive的体系结构 ○ Hive的元数据 Hive将元数据存储在数据库中(metastore),支持mysql.derby.oracle等数据库,Hive默认是 ...

  9. hadoop笔记之Hive入门(什么是Hive)

    Hive入门(一) Hive入门(一) 什么是Hive? Hive是个数据仓库,数据仓库就是数据库,但又与一般意义上的数据库有点区别 实际上,Hive是构建在hadoop HDFS上的一个数据仓库. ...

随机推荐

  1. Linux学习1——首次登录

    一.写在前面 在本节将介绍首次登录Linux系统(本文中为CentOS)所需要了解的一些基本操作.二.完成目标 1.了解GNOME和KDE窗口管理程序 2.使用在线求助man和info 3.基本命令操 ...

  2. TcpClient

    public class TcpClientSession { protected TcpClient Client { get; set; } /// <summary> /// 远程地 ...

  3. openwrt 家用备忘

  4. Ubuntu package managerment tools

    Visual demostration References Understanding differences between dpkg and apt-get/aptitude tools. A ...

  5. Ajax表单提交及后台处理简单应用

    首先先说下表单提交吧,要提交表单那么就得先收集表单数据(至于验证这个我就不说了,要说留下下次吧),有了jquery取个html的值还是简单$("xxid").val()等就完了,但 ...

  6. 线程-run和start

    import java.lang.Thread; class Machine extends Thread{ public void run() { int a ; for( a = 0 ; a &l ...

  7. 通过读取excel数据和mysql数据库数据做对比(一)-win环境准备

    要想操作excel和mysql首先需要安装python,然后是安装excel和mysql插件: 第一步安装python: 直接百度搜索,下载安装就可以了. 第二步安装excel插件: 首先到这个htt ...

  8. Jquery remove()和empty()

    要用到移除指定元素的时候,发现empty()与remove([expr])都可以用来实现.可仔细观察效果的话就可以发现.empty()是只移除了 指定元素中的所有子节点,拿$("p" ...

  9. css案例学习之盒子模型

    定义:每个盒子都有:边界.边框.填充.内容四个属性: 每个属性都包括四个部分:上.右.下.左:这四部分可同时设置,也可分别设置:里的抗震辅料厚度,而边框有大小和颜色之分,我们又可以理解为生活中所见盒子 ...

  10. css案例学习之并集选择器

    代码 <html> <head> <title>并集选择器</title> <style type="text/css"> ...