当前位置: 首页 > news >正文

大数据技术笔记

1. 大数据技术简介

大数据技术是一系列的工具和方法,它们可以帮助我们收集、存储和分析大量的数据,并将结果呈现给我们。

2. 大数据计算模式

我们需要一些方法来处理这些数据,就像我们需要各种各样的厨具来处理食材一样。这些方法被称为大数据计算模式,包括批处理计算、流计算、图计算和查询分析计算等。

批处理计算

静态数据是那些不会随时间改变的数据,比如企业为了决策分析而构建的数据仓库系统中的大量历史数据。这些数据来自不同的数据源,经过ETL(提取、转换、加载)工具的处理后被加载到数据仓库中,并不会发生变化。技术人员可以用数据挖掘和OLAP(联机分析处理)工具从这些静态数据中找出对企业有价值的信息。

批量计算是以静态数据为对象,可以在很充裕的时间内对大量数据进行处理,提取有价值的信息,Hadoop就是典型的批处理模型。

流计算

流数据则是近年来在各种领域,如网络监控、传感监测、电子商务等,常见的一种数据形式。这类数据以大量、快速、持续变化的流形式不断产生,比如,一个PM 2.5传感器会实时监测大气中PM 2.5的浓度并将数据实时传回数据中心。流数据的特点是数据快速持续到达、数据来源众多、数据量大且注重整体价值而非单个数据。

流计算的核心理念是数据的价值会随着时间的流逝而降低,所以当数据出现时就应该立即处理它,而不是缓存起来等待批量处理。流计算系统需要满足高性能、海量数据、实时性、分布式、易用性和可靠性等要求。

流计算的处理流程包括数据实时采集、数据实时计算和实时查询服务。首先,我们需要采集数据并实时分析和计算,然后提供实时查询服务。不同于传统的数据处理流程,用户不需要主动发出查询请求,实时查询服务可以主动将实时结果推送给用户。

查询分析计算

查询分析计算就像是我们在查询图书馆的书籍一样,我们需要在大量的数据中快速找到我们需要的信息。比如Dremel和Impala就是两个常用的查询分析计算工具,它们能够在短时间内完成对大量数据的查询和分析。

3. 大数据相关框架

3.1 Hadoop

让我们把Hadoop想象成一个大型的购物中心,其中有各种各样的商店,每个商店都提供不同种类的商品和服务,合在一起,就形成了一个完整的购物体验。

  • Hadoop的商场里,HDFS是这个购物中心的仓库管理员,负责保管商品。如同一个大型仓库,HDFS将大量数据(商品)拆分为小块,然后将这些小块散布到许多分布式的仓库中,即使某些仓库发生问题,仍然能保证整体商品的可用性和可靠性。

  • MapReduce就像购物中心的运输系统,它把商品从仓库送到顾客手中。它把大量的商品拆分为小块,然后分发给各个商店来处理。这就是“分而治之”的原理,通过分割数据并行处理,最后再把结果汇总起来。

  • HBase就像一个大型的百货公司,它能高效地处理大量的商品,包括实时读取和写入数据。它就像一个巨大的电子表格,可以无限扩展,只要增加更多的服务器。

  • Hive就像是购物中心里的信息查询台,它可以查询和分析存储在Hadoop文件中的数据。Hive使用类似于SQL的查询语言"HiveQL",让你能快速找到你需要的商品。

  • Pig就像是购物中心的一个智能机器人,它能通过一种简单的脚本语言,自动帮你从大数据集中找到你需要的商品。

  • Mahout就像是购物中心的专业购物顾问,它能通过机器学习,根据你的购物记录和喜好,为你推荐你可能感兴趣的商品。

  • ZooKeeper就像是购物中心的管理者,它协调和管理各个商店,以确保整个购物中心的正常运行。

  • Flume就像是购物中心的物流系统,它负责收集、聚合和传输大量的商品信息。

  • Sqoop就像是购物中心的一个快速通道,它能快速地将商品数据从传统数据库转移到Hadoop,或者从Hadoop转移到传统数据库。

  • 最后,Ambari就像是购物中心的安保系统,它管理和监控整个Hadoop的运行情况,以确保整个系统的稳定运行。

3.2 Spark

让我们把 Spark 想象成一辆超级跑车,那么 Hadoop 就好比一辆普通轿车。当两车在一条道路上进行百公里加速竞速时,Spark 只需 23 分钟就能完成,而 Hadoop 则需要 72 分钟。而且,Spark 的燃油效率更高,需要的燃油只有 Hadoop 的十分之一。这表明了 Spark 的性能更强、效率更高。

这辆超级跑车(Spark)的优势在于它的四个主要特点:

1)它的引擎(DAG 执行引擎)非常先进,可以支持循环数据流和内存计算,使其运行速度比轿车(Hadoop)快上百倍,甚至千倍。

2)它的操控性非常好,支持使用多种语言进行编程,用户可以轻松地驾驭这辆跑车。

3)它的功能非常全面,提供了完整而强大的技术栈,包括 SQL 查询、机器学习和图算法等,这些功能就像跑车的各种豪华配置,让你应对各种驾驶场景。

4)它的运行模式多样,可以独立运行,也可以运行于其他环境中,如云环境等。这就好比跑车既可以在赛道上独自飞驰,也可以在公路上与其他车辆并行。

总的来说,Spark就像一辆超级跑车,它的性能和效率都比轿车(Hadoop)更出色。虽然轿车(Hadoop)也有自己的优势,比如它更适合长途旅行(大数据批处理),但如果你想要快速、高效地处理数据,那么你可能更需要一辆超级跑车(Spark)。

3.3 Spark Streaming

Spark Streaming是一个基于Spark的实时数据处理工具,它增强了Spark在处理大数据流方面的能力。这个工具可以同时处理批量数据和进行交互查询,特别适合在需要同时分析历史数据和实时数据的场合使用。

Spark Streaming是Spark的主要组件之一,它让Spark具有了可以扩展、高速传输和容错的流计算能力。这个工具可以整合许多不同类型的输入数据源,如Kafka、Flume、HDFS等,甚至是常见的TCP套接字。经过处理之后,数据可以存储到文件系统、数据库,或者显示在仪表盘上。

Spark Streaming的工作原理是把实时输入的数据流分解为一秒一段的时间片,然后用Spark引擎按照批处理的方式处理每一段时间片的数据。

在Spark Streaming中,主要的概念是所谓的离散化数据流,也就是DStream,代表了连续不断的数据流。在内部实现上,Spark Streaming会把输入的数据按照一段一段的时间片分解成DStream,每一段数据都会转化为Spark中的RDD。所有对DStream的操作都最终会变成对相应的RDD的操作。例如,在进行单词统计的时候,每一段时间片的数据(存储了句子的RDD)会经过flatMap操作,生成了存储单词的RDD。整个流式计算可以根据业务需要对这些中间结果进行进一步处理,或者存储到外部设备中。

3.4 Flink

Flink是一个基于流处理的大数据处理框架,它同时支持批处理和实时流处理,这使得Flink能够灵活处理大规模数据。Flink特别适合需要对历史数据和实时数据同时进行分析的应用场景。

Flink是大数据处理的主要工具之一,提供了可扩展、高效、和容错的数据处理能力。Flink可以整合各种输入数据源,如Kafka、HDFS等,甚至是常见的TCP套接字。经过处理后,数据可以存储到文件系统、数据库,或者显示在仪表盘上。

Flink的工作原理是基于事件驱动的方式处理实时输入数据流,它不需要像Spark Streaming那样将数据切分为时间片进行处理,而是根据数据的到达时间进行处理,这样能够保证更高的实时性。

在Flink中,主要的概念是DataStream(数据流)和DataSet(数据集),它们都代表了一种连续不断的数据流。在内部实现上,Flink会把输入的数据转化为DataStream或DataSet,并且对这些数据的操作都会转变为对DataStream或DataSet的操作。例如,在进行单词统计的时候,每一段数据(存储了句子的DataStream或DataSet)会经过flatMap操作,生成了存储单词的DataStream或DataSet。整个流式计算可以根据业务需要对这些中间结果进行进一步处理,或者存储到外部设备中。

相比其他大数据处理工具,Flink的优势在于其实时性,因为Flink是基于事件驱动的方式处理数据,所以,Flink可以实现毫秒级的流计算,这是其它大部分流处理工具不能做到的。Flink的另一个优势是其能很好地处理时间和事件驱动的应用场景,例如,Flink可以处理事件时间和处理时间,对延迟数据可以进行有效的管理。

总结来说,Flink是一个强大的大数据处理工具,它不仅可以处理大规模的数据,还能实现实时性的处理,非常适合需要大规模数据处理和实时性要求比较高的应用场景。

http://www.lryc.cn/news/215677.html

相关文章:

  • Vue 3 中的 Composition API
  • 《TCP/IP详解 卷一:协议》第5章的IPv4数据报的总长度字段出现“不需要大于576字节的IPv4数据报“相关内容的解释
  • PO-java客户端连接错误can not connect to server
  • PM2 vs Kubernetes:在部署 Node.js 服务时使用哪个?
  • 配置git并把本地项目连接github
  • pytorch笔记 GRUCELL
  • 不解压,也能列出文件信息
  • 微型计算机组成原理
  • 基站/手机是怎么知道信道情况的?
  • 进程/线程
  • Python 应用 之 转换音频格式
  • Oracle JDK 和OpenJDK两者有什么异同点
  • GPT引发智能AI时代潮流
  • FreeSWITCH mrcp-v2小记
  • 如何将你的PC电脑数据迁移到Mac电脑?使用“迁移助理”从 PC 传输到 Mac的具体操作教程
  • Elasticsearch集群搭建、数据分片以及位置坐标实现附近的人搜索
  • 深度学习_3 数据操作之线代,微分
  • 树莓派安装Ubuntu22.04LTS桌面版
  • Rust编程基础之函数和表达式
  • 关于preempt count的疑问
  • Windows 开启 Kerberos 的火狐 Firefox 浏览器访问yarn、hdfs
  • 华为云资源搭建过程
  • 突破防火墙的一种方法
  • Docker 多阶段构建的原理及构建过程展示
  • 【开题报告】基于Spring Boot的家装产品展示交易平台的设计与实现
  • MacOS安装git
  • 京东协议算法最新版
  • 软考系统架构设计师案例分析知识汇总
  • MyBatis-plus 代码生成器
  • 运维常识——网络