Hive本质1大数据和Hive概述

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 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

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3天前
|
SQL 分布式计算 大数据
大数据处理平台Hive详解
【7月更文挑战第15天】Hive作为基于Hadoop的数据仓库工具,在大数据处理和分析领域发挥着重要作用。通过提供类SQL的查询语言,Hive降低了数据处理的门槛,使得具有SQL背景的开发者可以轻松地处理大规模数据。然而,Hive也存在查询延迟高、表达能力有限等缺点,需要在实际应用中根据具体场景和需求进行选择和优化。
|
1月前
|
SQL 数据采集 数据可视化
基于Hive的招聘网站的大数据分析系统
基于Hive的招聘网站的大数据分析系统
|
1月前
|
SQL 关系型数据库 MySQL
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
|
1月前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之启用hive兼容的时候,某个字段是null,是否会把这个字段当成空白连起来
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2月前
|
存储 数据采集 分布式计算
大数据技术生态系统概述
【5月更文挑战第30天】大数据技术生态系统涵盖数据采集(Flume, Logstash, FileBeat, Sqoop, Datax, Canaal, Maxwell)、存储(HDFS, HBase, Kudu, Kafka)、资源管理(YARN, Kubernetes, Mesos)、计算(MapReduce, Spark, Storm, Flink)、分析(Hive, Impala, Kylin, Clickhouse, Druid, Drois)、任务调度(Azkaban, Oozie, DolphinScheduler)及底层技术(Zookeeper)。
57 1
|
2月前
|
存储 分布式计算 大数据
大数据技术概述
大数据技术概述
76 3
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【大数据分析与挖掘技术】概述
【大数据分析与挖掘技术】概述
23 1
|
2月前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
246 1
|
2月前
|
SQL 分布式计算 大数据
[AIGC 大数据基础]hive浅谈
[AIGC 大数据基础]hive浅谈
|
10天前
|
数据采集 自然语言处理 大数据
​「Python大数据」词频数据渲染词云图导出HTML
使用Python,本文展示数据聚类和办公自动化,焦点在于通过jieba分词处理VOC数据,构建词云图并以HTML保存。`wordCloud.py`脚本中,借助pyecharts生成词云,如图所示,关键词如"Python"、"词云"等。示例代码创建了词云图实例,添加词频数据,并输出到"wordCloud.html"。
35 1
​「Python大数据」词频数据渲染词云图导出HTML

热门文章

最新文章