Hive初步认识,理解Hive(一)

用了有一段时间的Hive了,之前一直以为hive是个数据库,类似Mysql、Oracle等数据库一样,其实不然.

Hive是实现Hadoop 的MapReduce的一种方式(Hive是一种MapReduce,优化的时候不能以sql的方式进行优化)

Hive表分类:内部表 外部表 分区表 分桶表 (创建表的时候需要指定行数据的分隔符 以及字段的分隔符)

内部表与外部表

  删除表时内部表表数据表结构都删除

  删除表时外部表只删除表结构

内部表与外部表的使用规则:

  当前表数据如果有多个使用者 那就使用外部表 避免删除的时候影响到其他用户使用

  如果只有一个用户使用就定义为内部表就好了

分区表与分通表

   分区表用户自己定义 每个区存储在不同文件

   分桶表由程序计算而来 针对某个字段通过哈希函数求出分桶散列信息

Hive的数据存储:(元数据+表数据)

hive的元数据存储在数据库里(mysql/derby)  :元数据表示表的定义语句

hive表数据存储在hdfs文件上:每个表对应一个目录(可能会有分区、分桶表 所以是对应目录 而不是文件)

hive元数据存储位置 

  数据库信息 DBS表中
  表信息 TBLS表中
  数据列信息 COLUMNS_V2 表中 列字段有顺序 会记录下来

创建视图的时候 仅仅表示创建sql语句的快捷方式,但是没有物化视图(没有执行sql)

Hadoop简介

mapreduce主要做数据的加工计算

hdfs主要是存储数据分布式文件系统

yarn  主要负责作业调度 集群资源管理

map主要处理输入数据,reduce将整理好的数据进一步加工,然后存入hdfs分布式文件系统中。

MapReduce计算步骤:

1.hdfs 将文件拆分 切片

2.mapper将任务拆分 对应启动进程

3.shuffle将数据写入磁盘

4.reducer通过shuffle从磁盘读取数据

5.reducer进程进行数据聚合,将最后的结果存入磁盘

Hive初步认识,理解Hive(一)的更多相关文章

  1. 对于HIVE架构的理解

    1.Hive  能做什么,与 MapReduce 相比优势在哪里 关于hive这个工具,hive学习成本低,入手快,对于熟悉sql语法的人来说,操作简单,熟悉. 2.为什么说 Hive 是 Hadoo ...

  2. hive的简单理解--笔记

    Hive的理解 数据仓库的工具  Hive仅仅是在hadoop上面包装了SQL: Hive的数据存储在hadoop上 Hive的计算由MR进行 Hive批量处理数据  Hive的特点 1 可扩展性(h ...

  3. hive:框架理解

    1. 什么是hive  •Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. •本质是将HQL转换为MapReduce程序  2. 为什么 ...

  4. 037 对于HIVE架构的理解

    0.发展 在hive公布源代码之后 公司又公布了presto,这个比较快,是基于内存的. impala:3s处理1PB数据. 1.Hive  能做什么,与 MapReduce 相比优势在哪里 关于hi ...

  5. hive的初步认识与hive的本质

    Hive是什么?就从这儿开始学习.... Hive是建立在Hadoop hdfs上的数据仓库基础架构. Hive可以用来数据抽取转换加载(ETL). Hive定义了简单的类SQL查询语句,称为HQL. ...

  6. Hive初步使用、安装MySQL 、Hive配置MetaStore、配置Hive日志《二》

    一.Hive的简单使用 基本的命令和MySQL的命令差不多 首先在 /opt/datas 下创建数据  students.txt 1001 zhangsan 1002 lisi 1003 wangwu ...

  7. 深入理解hive基础学习

    Hive 是什么?  1.Hive 是基于 Hadoop处理结构化数据的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类 SQL 查询功能. 2.Hive 利用 HDFS 存储数据 ...

  8. Spark入门实战系列--5.Hive(上)--Hive介绍及部署

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .Hive介绍 1.1 Hive介绍 月开源的一个数据仓库框架,提供了类似于SQL语法的HQ ...

  9. 【Hive学习之七】Hive 运行方式&权限管理

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 ...

随机推荐

  1. selenium无界面执行和反爬

    selenium无界面执行和反爬 无界面执行 from selenium import webdriver from selenium.webdriver.chrome.options import ...

  2. c语言博客专业05

    问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/8655 我在 ...

  3. mac本地搭建svn

    mac系统默认已经安装了svn,我们只需要配置并开启就可以了. 首先我们可以验证一下是否安装了svn,打开终端,输入命令 svnserve —version

  4. 华为云OCR文字识别 免费在线体验!

    嘿,华为云OCR文字识别了解一下,免费在线体验! 物流行业快速提取运单信息.医疗/保险行业单据快速录入.政务办事人证检验,你知道这些都是如何实现的么? 答案就是:OCR文字识别! 作为AI时代效率倍增 ...

  5. DataFrame 链式赋值

    在运行以下Python代码时,Pandas抛出SettingWithCopyWarning警告: row_data = df_pred.loc[key] row_data['col'] = new_v ...

  6. jQuery中的层级选择器

    话不多说,请看效果: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  7. 曹工说Spring Boot源码系列开讲了(1)-- Bean Definition到底是什么,附spring思维导图分享

    写在前面的话&&About me 网上写spring的文章多如牛毛,为什么还要写呢,因为,很简单,那是人家写的:网上都鼓励你不要造轮子,为什么你还要造呢,因为,那不是你造的. 我不是要 ...

  8. ARTS-S 在docker中运行本地脚本

    很多情况是本地没有编译环境,但docker中有编译环境.想编译本地代码,就要把本地的代码和编译脚本映射到docker中,脚本如下: docker run \ -it \ -v /Users/usern ...

  9. USB3.0 图像视频传输 开发 CYUSB3014开发基础(导入官方例程) 转

    CYPREE提供的FX3_SDK开发包里面有很多基础的内容,除了前面提到的几个pdf文件外,还有三个文件夹,是官方提供的基础例程.学习CYUSB3014应该就从这里开始,从这几个例程开始.例程共有三个 ...

  10. 【JS】327- javascript 的 api 设计原则

    点击上方"前端自习课"关注,学习起来~ 前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博 ...