Hive 基础及安装
Hive 操作(一)
hive 操作(二)——使用 mysql 作为 hive 的metastore
hive 操作(三)——hive 的数据模型
hive 操作(四)

大的分类可分为:

  • (1)受控表(MANAGED_TABLE)

    • 内部表
    • 分区表
    • 桶表
  • (2)外部表(external table)

    和受控表不同,对外部表删除,仅删除引用,而不删除真实存储的数据;

内部表

  • (1)表定义

    表定义,自然包含字段定义,也即列定义;

    hive> create table t1(id int);
    hive> show tables;

    我们也可进入浏览器端,输入hadoop0:50070,然后浏览文件系统(Browse File System),进入/hive,会发现一个名为t1的文件夹。至此我们说,现在的hive使用的是mysql作为自己的metastore(映射工具);

  • (2)加载数据

    hive> load data local inpath 文件 into table 表名;
    如
    hive> load data local inpath '/root/id' into table t1;# local:表示从本地的磁盘文件进行加载# 如果不带local,表示从hdfs进行加载

    命令中含不含local,表示着两种数据的加载方式。所以如果使用hadoop fs -put id /hive/t1/id2(也即会从hdfs中加载数据),表t1也会将id2中的数据吸收进来。

  • (3)定义多字段表

    hive> create table t2(id int, name string) row format delimited fields terminated by '\t';# 以制表符区分不同的字段

    在 hive 中除select *以外的操作,均走的是MapReduce的流程,因为select *是全表扫描?是否在新版的 hive 中,对查询语句的支持有所提升,也即并非只有select *很快给出结果,不走MapReduce流程的不只select *一个;

    在映射工具metastore所在的仓库,也即mysql中,此环境中的hive数据库的TBLS表会对hive所建的表有所显示(显示的是表名),在COLUMNS_V2会显示表的字段信息;

分区表

可以根据字段对数据分区;

  • (1)创建分区表

    hive> create table t3(id int) partitioned by (day int);# 分区信息形式上其实是一个字段# 这样我们才可在select中利用where进行查询;
  • (2)加载数据到分区表

    hive> load data local inpath '/root/id' into table t3 partition (day=11);

    我们可以将同样的数据根据分区信息加载到不同的文件:

    hive> load data local inpath '/root/id' into table t3 partition (day=12);
    hive> load data local inpath '/root/id' into table t3 partition (day=13);

    这样,根据某一划分标准(比如按小时、按天),方便我们按照这一标准进行查询(select ** from table ** where day = 12;);

    所建的分区表,则就要利用分区信息进行查询,因为高效,如果还是用普通的字段查询的话,效率会很低,丧失建分区表的意义;

    分区字段选取的依据在于查询的频率,也即查询频率越高的信息越作为分区字段;

  • (3)桶表

    常用在表链接时;

    和分区表一样,也是对数据进行划分,只不过划分的依据有所不同。

    桶表是对数据进行哈希取值,然后放到不同文件中存储;

    • (1)创建桶表

      hive> create table t4(id int) clustered by(id) into 4 buckets;
    • (2)加载数据

      • a. 启动桶机制,也即默认是不使用桶的

        set hive.enforce.bucketing = true;
      • b. 加载数据

        insert into table t4 select id from t3;
  • (4)外部表

    所谓的外部其实是指hdfs文件系统;

    [root@hadoop0 ~]# hadoop -put id /external/id
    hive> create external table t5(id int) location '/external';

    对外部表的删除动作,仅删除引用,而不会到外部文件处,真正删除数据。

    hive> drop table t5;

hive 操作(三)——hive 的数据模型相关推荐

  1. 2021年大数据Hive(三):手把手教你如何吃透Hive数据库和表操作(学会秒变数仓大佬)

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive数据库和表操作 一.数据库操作 1.创建数据库 2.创建 ...

  2. Hive(三)hive的高级操作

    一.hive的各种join操作 语法结构: join_table: table_reference JOIN table_factor [join_condition] | table_referen ...

  3. Hive学习(三)操作Hive的方式及优化

    Hive 一.操作Hive的两种方式 1.通过Beenline 2.通过JDBC 二.Hive的优化 1.Hive优化的思想: 2.优化的方式 (1)开启本地模式 (2)开启并行计算 (3)严格模式 ...

  4. hive 操作(四)

    Hive 基础及安装 Hive 操作(一) hive 操作(二)--使用 mysql 作为 hive 的metastore hive 操作(三)--hive 的数据模型 hive 操作(四) dist ...

  5. hive 操作(二)——使用 mysql 作为 hive 的metastore

    Hive 基础及安装 Hive 操作(一) hive 操作(二)--使用 mysql 作为 hive 的metastore hive 操作(三)--hive 的数据模型 hive 操作(四) hive ...

  6. Hive 操作(一)

    Hive 基础及安装 Hive 操作(一) hive 操作(二)--使用 mysql 作为 hive 的metastore hive 操作(三)--hive 的数据模型 hive 操作(四) 注: ( ...

  7. hadoop离线阶段(第十三节)数据仓库、hive简介、hive安装和hive的三种交互模式

    目录 数据仓库 数据仓库的基本概念 数据仓库的主要特征 数据仓库与数据库区别 数据仓库分层架构 数据仓库元数据管理 Hive简介 什么是Hive Hive的特点 Hive架构 Hive与Hadoop的 ...

  8. 2021年大数据Hive(二):Hive的三种安装模式和MySQL搭配使用

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的三种安装模式和MySQL搭配使用 一.Hive的安装方 ...

  9. spark指定hive字段_Spark2.0集成Hive操作的相关配置与注意事项

    前言 补充说明 Hive中metastore(元数据存储)的三种方式:内嵌Derby方式 Local方式 Remote方式 [一].内嵌Derby方式这个是Hive默认的启动模式,一般用于单元测试,这 ...

最新文章

  1. LaTex中编辑公式的上下角标出现的问题---允许{}的嵌套吗?
  2. python 魔法函数 运行时_16个python常用魔法函数
  3. 【网络安全】SQL注入攻击思路手法总结(上)
  4. Mac OS X连载-1。启动模式小技巧
  5. java邮箱_java发送邮件(qq邮箱)
  6. matlab imdilate
  7. 笔记 时间2012年2月15日14:35:30
  8. springboot旅游公司网站毕业设计源码110929
  9. java 计算税收_根据税收征收管理法律制度的规定,整个税收征收管理的起点是( )...
  10. 由Table_locks_waited想到的mysql 表锁问题
  11. 如何用Amira分割DICOM图像
  12. AI人工智能毕业设计课题:植物识别,植物识别系统
  13. 【Python 基于EasyOCR库进行图片文字识别】
  14. DFS和BFS求字符串的所有非空子集———Java
  15. 【操作系统】CPU(处理器)调度
  16. 服务器WPS上的文档删除了怎么办,wps怎么样找回已经删除的文档
  17. sip 180 183区别
  18. 一行降低 100000kg 碳排放量的代码!
  19. 渡者 逆向通关分析报告【配置文件】
  20. win7,64位电脑eclipse安装SVN插件步骤

热门文章

  1. Linux下安装ActiveMQ(CentOS7)
  2. 相加等于目标值的两个数
  3. C语言计算总成绩和平均成绩
  4. 二分函数lower_bound()
  5. 将n划分成最大数不超过m的划分数
  6. Jetson nano安装Pytorch详解
  7. tensorflow精进之路(二十三)——Object Detection API目标检测(上)(Fast R-CNN算法)
  8. Thinking with Joins
  9. C语言 最小二乘 向量旋转 欧拉方法求洛伦兹方程
  10. C++ 读取CSV文件中的数据到Mat