Hadoop生态体系-2

news2024/10/7 4:28:44

目录标题

    • 1、MapReduce介绍
    • 2、数据仓库
    • 3、HIVE
    • 4、HQL
      • 4.1 hive读写文件机制
      • 4.2 Hive数据存储路径

1、MapReduce介绍

思想:分而治之
map:“分”,即把复杂的任务分解为若干个“简单的任务”来处理。可以进行拆分的前提是这些小任务可以并行计算,彼此之间没有依赖关系
Reduce:“合”,对map阶段的结果进行全局汇总

MapReduce 是一个分布式运算程序的编程框架,核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序

map 阶段处理的数据如何传递给 reduce 阶段,这个流程就叫 shuffle
Shuffle 中的缓冲区大小会影响到 mapreduce 程序的执行效率,原则上说,缓冲区越大,磁盘 io 的次数越少,执行速度就越快

2、数据仓库

数据仓库,英文名称为 Data Warehouse,可简写为 DW 或 DWH。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。它出于分析性报告和决策支持目的而创建。

特征:
数据仓库是面向主题的(Subject-Oriented )、集成的(Integrated)、非易失的(Non-Volatile)和时变的(Time-Variant )数据集合,用以支持管理决策 。

操作型处理,叫联机事务处理 OLTP(On-Line Transaction Processing,)
分析型处理,叫联机分析处理 OLAP(On-Line Analytical Processing)

数据仓库从各数据源获取数据及在数据仓库内的数据转换和流动都可以认
为是 ETL(抽取 Extract, 转化 Transform , 装载 Load)的过程

3、HIVE

hive是基于hadoop的一个数据仓库工具,可以将结构化数据文件映射成一张数据库表,并提供类SQL查询功能。
本质:将SQL转换为MapReduce程序

在这里插入图片描述
HIVE组件:
用户接口
元数据存储
解释器、编译器、优化器、执行器

HIve与hadoop的关系:hive利用HDFS存储数据,利用mapreduce查询分析数据.

Metadata 即元数据
Metastore 即元数据服务,作用是:客户端连接 metastore 服务,metastore再去连接 MySQL 数据库来存取元数据。
metastore 服务配置有 3 种模式:内嵌模式、本地模式、远程模式

4、HQL

数据定义语言 (Data Definition Language, DDL),是 SQL 语言集中对数据库内部的对象结构进行创建,删除,修改等的操作语言。create、drop、alter

HQL 中 create 语法(尤其 create table)将是学习掌握 DDL 语法的重中之重。
Hive 数据类型整体分为两个类别:原生数据类型(primitive data type)和复杂数据类型
原生数据类型包括:数值类型、时间类型、字符串类型、杂项数据类型;
复杂数据类型包括:array 数组、map 映射、struct 结构、union 联合体

  • 英文字母大小写不敏感;
  • 除 SQL 数据类型外,还支持 Java 数据类型,比如:string;
  • int 和 string 是使用最多的,大多数函数都支持;
  • 复杂数据类型的使用通常需要和分隔符指定语法配合使用

原生类型从窄类型到宽类型的转换称为隐式转换

4.1 hive读写文件机制

SerDe 是 Serializer、Deserializer 的简称,目的是用于序列化和反序列化。序列化是对象转化为字节码的过程;而反序列化是字节码转换为对象的过程。
Hive 使用 SerDe(和 FileFormat)读取和写入行对象。

SerDe的语法:
row format delimited | serde
其中 ROW FORMAT 是语法关键字,DELIMITED 和 SERDE 二选其一。
如果使用 delimited 表示使用默认的 LazySimpleSerDe 类来处理数据。如果数据文件格式比较特殊可以使用 ROW FORMAT SERDE serde_name 指定其他的Serde 类来处理数据,甚至支持用户自定义 SerDe 类。

在这里插入图片描述
hive 建表时如果没有 row format 语法。此时字段之间默认的分割符是’\001’,是一种特殊的字符,使用的是 ascii 编码的值,键盘是打不出来的。

4.2 Hive数据存储路径

默认存储路径:/user/hive/warehouse
指定存储路径:location语法,location ‘指定路径’

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/795907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3D 渲染技巧-如何创建高质量写实渲染?

掌握创建高质量建筑渲染和任何 3D 渲染的艺术是一项复杂且需要技巧的工作,通常需要多年的经验和实践。实现逼真的结果需要仔细考虑众多因素,并避免可能导致缺乏真实性的假渲染效果的常见错误。 避免常见错误 - 提升渲染游戏的技巧 在追求创建真正逼真的…

数据中心机房机柜配电新模式的探讨与选型

安科瑞 华楠 摘 要:对数据中心机房列头柜配电方式特征和问题进行深入研究,分析机房末端配电安全性及可用性,主要阐述了数据中心机房机柜配电新模式。 关键词:数据中心;机房机柜;配电模式 1 原始配电方案 …

Pycharm中如何设置在新窗口打开项目

settingAppearance&Behavior–System SettingsOpen project in - new window

抑郁症的自我治疗:警惕隐藏在微笑背后的抑郁症

抑郁症是一种常见的心理疾病,它可以隐藏在微笑背后。许多人经常感到沮丧、情绪低落,这时候可能是抑郁症的前兆。然而,自我治疗也是一种非常有效的抑郁症治疗方法。在本文中,我将分享一些关于如何自我治疗抑郁症的方法。 首先&…

递归对比对象函数

在JavaScript中,对象之间的比较通常通过引用进行。当你使用运算符比较两个对象时,它会检查它们是否引用了同一个内存地址,而不是逐个比较对象的属性。 上图可见,obj1和{}是两个不同的对象,尽管它们具有相同的结构&…

运算方法与运算器

一、定点数运算及溢出检测 1. 定点数加法运算 2. 定点数减法运算 3. 数溢出的概念及其判断方法 运算结果超出了某种数据类型的表示范围 (1)溢出的概念 (2)溢出的检测方法 溢出只可能发生在同符号数相加 方法1:对操…

Photo Director Ultra 14.7相片大师AI照片编辑中文软件

今天给大家分享的是Photo Director Ultra 14.7相片大师AI照片编辑中文软件。CyberLink PhotoDirector Ultra是一款功能强大的照片编辑软件,它集照片编辑、组织管理和分享于一体。 #资源介绍 Photo Director Ultra 14.7通过智能对象消除、色彩调整、照片滤镜等多种工具实现照片…

【C++】开源:crowcpp微型web框架配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍crowcpp微型web框架配置使用。 无专精则不能成,无涉猎则不能通。。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&#…

二值信号量

Q: 什么是信号量? A: 信号量(Semaphore),是在多任务环境下使用的一种机制,是可以用来保证两个或多个关键代码段不被并发调用。 信号量这个名字,我们可以把它拆分来看,“信号”可以起到通知信号…

CSDN原理等级的提升方法

文章目录 原力增长是一种积分型的社交平台,它有多个可以增长用户积分的渠道,也可以升级发付费资源,以下是几个主要的渠道:1.原创文章:2.回答问题:3.发动态:4.浏览文章:5.翻译文章&am…

回归预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络多输入单输出回归预测

回归预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 Matlab实…

8-Linux进程管理

Linux的进程管理 基本介绍显示系统执行的进程ps 指令基本介绍 终止进程kill和killall基本语法 查看进程树 pstree服务 service 管理service介绍service管理指令chkconfig 指令 systemctl 管理指令基本指令systemctl 设置服务的自启动状态示例打开或者关闭指定端口 动态监控进程…

[CrackMe]Brad Soblesky.1.exe和Brad Soblesky.2.exe的逆向及注册机编写

1. CrackMe小程序Brad Soblesky.1.exe分析 首先尝试程序功能, 发现其会弹出一个对话框, 上面有字符串, 可以通过直接定位MessageBox的位置, 但这里使用搜索字符串的方法: 查找所有字符串: 追踪到后, 就可以发现一个非常清晰的结构: 发现是明文, 立马就可以找到对应的密钥 2. Cr…

解决了项目中几个比较搞心态的bug(前端vue、小程序)

1、keep-alive 正常keep-alive的使用便可以做项目的缓存,但是我们的项目很不正常 项目是属于动态缓存,动态缓存有一个弊端 举个栗子: a组件为设置了需要缓存的页面; b组件为设置了需要缓存的页面; c组件为设置了不需…

nginx mirror代码分析

实现方式 mirror逻辑的工作阶段: ngx在log phase之后(在ngx_http_free_request处调用)已完成向client端返回response,在log phase之后完成close connection(短链接),在该阶段处理mirror逻辑不…

Gempy三维结构地质建模简明教程

Gempy 是一个开源 Python 库,用于生成完整的 3D 结构地质模型。 该库是一个完整的开发,用于从界面、断层和层方向创建地质模型,它还关联地质层的顺序以表示岩石侵入和断层顺序。 推荐:用 NSDT设计器 快速搭建可编程3D场景。 地质建…

【c++】vector的使用与模拟实现

🚀write in front🚀 📜所属专栏:初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是对…

【Nodejs】操作mysql数据库

1.mysql 介绍 付费的商用数据库: Oracle,典型的高富帅;SQL Server,微软自家产品,Windows定制专款;DB2,IBM的产品,听起来挺高端;Sybase,曾经跟微软是好基友&a…

modbus tcp协议介绍及分析

一、modbus tcp协议介绍 Modbus TCP协议是基于TCP/IP网络的Modbus协议的一种变体。它将Modbus协议封装在TCP/IP协议栈中,使用以太网作为物理层,通过TCP连接来实现设备之间的通信。 Modbus TCP协议具有以下特点: 面向连接:Modbus T…

学习 C语言第二天 :C语言数据类型和变量(上)

目录: 1.数据类型介绍 2.signed和unsigned的介绍 3.数据类型的取值范围 1.数据类型介绍 C语言提供了丰富的数据类型来描述生活中的各种数据。使用整型类型来描述整数,使用字符类型来描述字符,使用浮点型类型来描述小数。所谓“类型”&#xf…