IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hive概述 -> 正文阅读

[大数据]Hive概述

前言

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract),转换(transform),加载(load)至目的端的过程

  • 数据抽取:把不同的数据源数据抓取过来,存到某个地方
  • 数据清洗:过滤那些不符合要求的数据或者修正数据之后再进行抽取
    • 不完整的数据:比如数据里一些应该有的信息缺失,需要补全后再写入数据仓库
    • 错误的数据:比如字符串数据后面有一个回车操作、日期格式不正确、日期越界等,需要修正之后再抽取
    • 重复的数据:重复数据记录的所有字段,需要去重
  • 数据转换:不一致的数据转换,转换换成统一口役,业务需求的表示方式

MR + HDFS的数据处理方式,编码复杂,对技术要求比较高。基于SQL的方式则要灵活许多。

Hive架构

在这里插入图片描述

  1. Hive 是一个基于 Hadoop 文件系统之上的数据仓库架构,存储用hdfs,计算用mapreduce
  2. Hive 可以理解为一个工具,不存在主从架构,不需要安装在每台服务器上,只需要安装几台就行了
  3. hive还支持类sql语言,它可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能
  4. hive有个默认数据库:derby,默认存储元数据—》后期转换成关系型数据库存储mysql

简单的比喻就是一个web应用

  • DDL操作转化为原数据存储在mysql中
  • DML操作直接转化成MR,向yarn平台提交任务

在这里插入图片描述

三种表的创建方式

创建一张能识别以“ ”分割列的表

create table stu_info(
num int,
name string
)
row format delimited fields terminated by " ";

加载数据到本地致表中
load data local inpath ‘/opt/datas/test.txt’ into table stu_info;
注意:‘/opt/datas/test.txt’ 本地数据目录位置

子查询方式: as select, 将查询的数据和表的结构赋予一张新的表

create table stu_as as select name from stu_info;

like方式, 复制表的结构赋予一张新的表

create table stu_like  like  stu_info;

分区表

hive也提供分区表的概念

create external table if not exists tablename(

        a string,

        b string)

 partitioned by (year string,month string)

 row format delimited fields terminated by ',';

hive通常有三种方式对包含分区字段的表进行数据插入:

  1. 静态插入数据:要求插入数据时指定与建表时相同的分区字段,如:
insert overwrite table tablename (year='2017', month='03'select a, b from tablename2;
  1. 动静混合分区插入:要求指定部分分区字段的值,如:
insert overwrite table tablename (year='2017', monthselect a, b from tablename2;
  1. 动态分区插入:只指定分区字段,不用指定值,如:
insert overwrite table tablename (year, monthselect a, b from tablename2;

insert into 与 insert overwrite 都可以向hive表中插入数据,但是insert into直接追加到表中数据的尾部,而insert overwrite会重写数据,既先进行删除,再写入。如果存在分区的情况,insert overwrite会只重写当前分区数据。

主要参考

《Hive编程指南》
大数据数据仓库——hive学习权威指南

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 18:15:37  更:2022-05-24 18:18:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:32:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码