hive+Sqoop+Flume的示例分析
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍了hive+Sqoop+Flume的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。第一部分 Hive概述HDF
千家信息网最后更新 2025年02月01日hive+Sqoop+Flume的示例分析
这篇文章主要介绍了hive+Sqoop+Flume的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
第一部分 Hive概述
HDFS => 海量数据的存储MapReduce => 海量数据的分析和处理YARN => 集群资源的管理和作业调度
第 1 节 Hive产生背景
直接使用MapReduce处理大数据,将面临以下问题:
- MapReduce 开发难度大,学习成本高(wordCount => Hello World)- Hdfs文件没有字段名、没有数据类型,不方便进行数据的有效管理 - 使用MapReduce框架开发,项目周期长,成本高
Hive是基于Hadoop的一个数据仓库工具,可以将 结构化的数据文件 映射为一张表 (类似于RDBMS中的表),并提供类SQL查询功能;Hive是由Facebook开源,用于解 决海量结构化日志的数据统计。
* Hive本质是:将 SQL 转换为 MapReduce 的任务进行运算 * 底层由HDFS来提供数据存储 * 可以将Hive理解为一个:将 SQL 转换为 MapReduce 任务的工具
数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变 化的数据集合,主要用于管理决策。(数据仓库之父比尔·恩门,1991年提出)。
* 数据仓库的目的:构建面向分析的、集成的数据集合;为企业提供决策支持 * 数据仓库本身不产生数据,数据来源与外部 * 存储了大量数据,对这些数据的分析和处理不可避免的用到Hive
第 2 节 Hive和RDBMS对比
由于 Hive 采用了类似SQL 的查询语言 HQL(Hive Query Language),因此很容易将 Hive 理解为数据库。其实从结构上来看,Hive 和传统的关系数据库除了拥有类似的 查询语言,再无类似之处。
* 查询语言相似。HQL <=> SQL 高度相似 由于SQL被广泛的应用在数据仓库中,因此,专门针对Hive的特性设计了类SQL的查询语言 HQL。熟悉SQL开发的开发者可以很方便的使用Hive进行开发。 * 数据规模。Hive存储海量数据;RDBMS只能处理有限的数据集; 由于Hive建立在集群上并可以利用MapReduce进行并行计算,因此可以支持很大规模的数 据;而RDBMS可以支持的数据规模较小。 * 执行引擎。Hive的引擎是MR/Tez/Spark/Flink;RDBMS使用自己的执行引擎 Hive中大多数查询的执行是通过 Hadoop 提供的 MapReduce 来实现的。而RDBMS通常 有自己的执行引擎。 * 数据存储。Hive保存在HDFS上;RDBMS保存在本地文件系统 或 裸设备 Hive 的数据都是存储在 HDFS 中的。而RDBMS是将数据保存在本地文件系统或裸设备 中。 * 执行速度。Hive相对慢(MR/数据量);RDBMS相对快; Hive存储的数据量大,在查询数据的时候,通常没有索引,需要扫描整个表;加之Hive使 用MapReduce作为执行引擎,这些因素都会导致较高的延迟。而RDBMS对数据的访问通常 是基于索引的,执行延迟较低。当然这个低是有条件的,即数据规模较小,当数据规模大到 超过数据库的处理能力的时候,Hive的并行计算显然能体现出并行的优势。 * 可扩展性。Hive支持水平扩展;通常RDBMS支持垂直扩展,对水平扩展不友好 Hive建立在Hadoop之上,其可扩展性与Hadoop的可扩展性是一致的(Hadoop集群规模 可以轻松超过1000个节点)。而RDBMS由于 ACID 语义的严格限制,扩展行非常有限。目 前最先进的并行数据库 Oracle 在理论上的扩展能力也只有100台左右。 * 数据更新。Hive对数据更新不友好;RDBMS支持频繁、快速数据更新Hive是针对数据仓库应用设计的,数据仓库的内容是读多写少的。因此,Hive中不建议对 数据的改写,所有的数据都是在加载的时候确定好的。而RDBMS中的数据需要频繁、快速的 进行更新。
** 安装python-devel开发包
1.概述 有时在安装某些软件的时候,会报错:
Error: must have python development packages for 2.4, 2.5, 2.6 or 2.7. Could not find Python.h.Please install python2.4-devel, python2.5-devel, python2.6-devel or python2.7-devel
这是因为缺少python开发包的原因。
2.解决方案
如果你使用的是centOS系统,或者支持yum的系统,那么可以通过如下方式进行安装:
yum search python | grep -i devel
通过上面命令会找到devel开发包,然后再运行下面命令进行安装:
yum install python-devel.x86_64
感谢你能够认真阅读完这篇文章,希望小编分享的"hive+Sqoop+Flume的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
数据
仓库
开发
支持
存储
查询
规模
分析
引擎
处理
数据库
文件
时候
海量
篇文章
系统
语言
更新
可扩展性
开发包
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
流浪者柯南服务器刷新慢
医学软件开发应用ppt
银行业网络安全报告2018
数据库系统划分为三个阶段
违法网络安全法第27条
服务器返回错误403是什么意思
网络安全管理系统功能
广东服务器维修调试多少钱
软件开发哪家实惠
服务器配件安全快捷
中科网络安全产品
网络安全意识形态校园
dcom服务器配置自动保存吗
网络安全直接责任人证明材料
松江区企业数据库销售诚信服务
朝阳区企业软件开发多少钱
服务器怎么搬家
软件开发工程师英语介绍
四川app软件开发靠谱吗
用友数据库补丁中文完整版
和平精英服务器分析
医学软件开发应用ppt
软件开发人员 资质
数据库管理系统软件有哪些
网络安全招标参数
软件开发过程中存在哪些浪费
电信服务器机柜着火
怎样保证国家网络安全
如何辨别服务器主板是否有故障
服务器怎么开启虚拟化