Hive本质1大数据和Hive概述

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 大数据和Hive概述

关系和NoSQL数据库与Hadoop

为了更好地理解关系数据库,NoSQL数据库和Hadoop之间的差异,让我们将它们与旅行方式进行比较。您会惊讶地发现它们有许多相似之处。当人们旅行时,他们要么乘坐汽车或飞机,这取决于旅行距离和费用。例如,当您从多伦多前往温哥华时,就旅行时间与成本而言,飞机始终是首选。当您从多伦多前往尼亚加拉瀑布时,一辆车总是一个不错的选择。当您从多伦多前往蒙特利尔时,有些人可能更喜欢乘车去飞机。这里的距离和成本就像大数据量和投资一样。传统的关系数据库就像汽车一样,Hadoop大数据工具就像飞机一样。当您处理少量数据(短距离)时,关系数据库(如汽车)始终是最佳选择,因为处理少量或中等数量的数据非常快捷灵活。当您处理大量数据(长距离)时,Hadoop(如飞机)是最佳选择,因为它更具线性可扩展性,快速且稳定,可处理大量数据。你可以从多伦多开车到温哥华,但需要花费太多时间。
您也可以从多伦多乘坐飞机前往尼亚加拉瀑布,但是前往机场需要更多时间,而且比开车旅行需要更多费用。

此外,您可以乘坐船只或火车。这就像NoSQL数据库,它提供了关系数据库和Hadoop在良好性能方面的特性和平衡,以及对中等到大量数据的各种数据格式支持。

批处理,实时和流处理

使用批处理批量处理数据。它从输入读取数据,处理它,并将其写入输出。 Apache Hadoop是使用MapReduce范例的分布式批处理系统中最着名和最流行的开源实现。数据存储在称为Hadoop分布式文件系统(HDFS)的共享和分布式文件系统中,并分为多个分区,这些分区是MapReduce处理的逻辑数据分区。
要使用MapReduce范例处理这些拆分,map任务会读取拆分并将其所有键/值对传递给map函数,并将结果写入中间文件。映射阶段完成后,reducer将读取通过shuffle进程发送的中间文件,并将它们传递给reduce函数。最后,reduce任务将结果写入最终输出文件。 MapReduce模型的优点包括使分布式编程更容易,接近线性加速,良好的可扩展性以及容错性。批处理模型的缺点是无法执行递归或迭代作业。此外,明显的批处理行为是在reduce作业启动之前所有输入必须通过map准备好,这使得MapReduce不适合在线和流处理用例。

实时处理用于处理数据并几乎立即获得结果。大数据实时即席查询领域的这一概念最初是由Google在Dremel中实现的。它使用一种新颖的柱状存储格式用于嵌套结构,具有快速索引和可伸缩聚合算法,用于并行计算查询结果而不是批处理序列。这两种技术是实时处理的主要特征,并且被类似的实现使用,例如Impala,Presto和Drill,由柱状存储数据格式提供支持,例如Parquet,ORC,CarbonData和Arrow。另一方面,内存计算无疑为实时处理提供了解决方案。与硬盘的200兆字节/秒相比,内存计算提供了非常高的带宽,超过10千兆字节/秒。此外,与硬盘相比,延迟相对较低,为纳秒与毫秒。随着RAM的价格每天越来越低,内存计算更实惠 ,例如Apache Spark(https://spark.apache.org/),这是一种流行的内存计算开源实现。

Spark可以轻松地与Hadoop集成,其内存数据结构Resilient Distributed Dataset(RDD)可以从数据源(如HDFS和HBase)生成,以实现高效的缓存。

流处理用于连续处理实时流数据并对其进行操作以获得结果。在流处理中,有两种常用的通用流处理框架:Storm(https://storm.apache.org/)和Flink(https://flink.apache.org/)。两个框架都在Java虚拟机(JVM)上运行,并且都处理密钥流。在编程模型方面,Storm为您提供了构建框架的基本工具,而Flink为您提供了一个定义明确且易于使用的框架。此外,Samza(http://samza.ap ache.org/)和Kafka Stream(https://kafka.apache.org/documentation/streams/)利用Kafka进行消息缓存和转换。最近,Spark还提供了一种类型的流处理。

Hadoop生态系统概述

Hadoop于2011年首次由Apache发布,版本为1.0.0,仅包含HDFS和MapReduce。 Hadoop从一开始就被设计为计算(MapReduce)和存储(HDFS)平台。随着对大数据分析的需求不断增加,Hadoop吸引了大量其他软件来解决大数据问题并融入以Hadoop为中心的大数据生态系统。

image.png

在当前的Hadoop生态系统中,HDFS仍然是使用硬盘存储时的主要选择,而Alluxio提供了几乎分布式的内存替代方案。在HDFS之上,Parquet,Avro和ORC数据格式可以与用于计算和存储优化的快速压缩算法一起使用。 Yarn作为第一个Hadoop通用资源管理器,旨在实现更好的资源管理和可扩展性。作为内存计算引擎,Spark和Ignite能够在Yarn上运行,以便与Hadoop紧密协作。
另一方面,Kafka,Flink和Storm主导着流处理。 HBase是一个领先的NoSQL数据库,尤其是在Hadoop集群上。对于机器学习,Spark MLlib和Madlib以及新的Mahout。 Sqoop仍然是在Hadoop和关系数据库之间交换数据的主要工具之一。 Flume是一种成熟,分布且可靠的日志收集工具,用于将数据移动或收集到HDFS。 Impala和Drill能够直接针对Hadoop上的数据启动交互式SQL查询。此外,Hive over Spark / Tez以及Live Long和Process(LLAP)为用户提供了在不同计算框架(而不是MapReduce)上使用内存数据缓存在长期流程中运行查询的能力。因此,Hive在生态系统中扮演着比以往更重要的角色。我们也很高兴看到Ambari成为新一代集群,除了Zookeeper之外,管理工具还提供更强大的集群管理和协调。对于计划和工作流程管理,我们可以使用Airflow或Oozie。最后,我们有一个开源治理和元数据服务,Altas,它支持生态系统中大数据的合规性和线条.

完整内容参见 https://www.jianshu.com/p/db6aae0d9e16

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
4月前
|
SQL 数据采集 数据挖掘
大数据行业应用之Hive数据分析航班线路相关的各项指标
大数据行业应用之Hive数据分析航班线路相关的各项指标
97 1
|
9天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
40 1
|
4月前
|
SQL 数据可视化 关系型数据库
【大数据实训】基于Hive的北京市天气系统分析报告(二)
【大数据实训】基于Hive的北京市天气系统分析报告(二)
58 1
|
4月前
|
存储 SQL JSON
大数据开发岗大厂面试30天冲刺 - 日积月累,每日五题【Day02】——Hive2
大数据开发岗大厂面试30天冲刺 - 日积月累,每日五题【Day02】——Hive2
34 0
|
4月前
|
SQL 存储 大数据
大数据开发岗面试30天冲刺 - 日积月累,每日五题【Day01】——Hive1
大数据开发岗面试30天冲刺 - 日积月累,每日五题【Day01】——Hive1
43 0
|
4月前
|
SQL 分布式计算 Hadoop
[AIGC ~大数据] 深入理解Hadoop、HDFS、Hive和Spark:Java大师的大数据研究之旅
[AIGC ~大数据] 深入理解Hadoop、HDFS、Hive和Spark:Java大师的大数据研究之旅
|
4月前
|
SQL 存储 大数据
手把手教你大数据离线综合实战 ETL+Hive+Mysql+Spark
手把手教你大数据离线综合实战 ETL+Hive+Mysql+Spark
88 0
|
2月前
|
分布式计算 DataWorks IDE
MaxCompute数据问题之忽略脏数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
47 0
|
2月前
|
SQL 存储 分布式计算
MaxCompute问题之下载数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
38 0
|
2月前
|
分布式计算 关系型数据库 MySQL
MaxCompute问题之数据归属分区如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
35 0