当前位置: 首页 > 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是一个强大的大数据处理工具,它不仅可以处理大规模的数据,还能实现实时性的处理,非常适合需要大规模数据处理和实时性要求比较高的应用场景。

相关文章:

大数据技术笔记

1. 大数据技术简介 大数据技术是一系列的工具和方法,它们可以帮助我们收集、存储和分析大量的数据,并将结果呈现给我们。 2. 大数据计算模式 我们需要一些方法来处理这些数据,就像我们需要各种各样的厨具来处理食材一样。这些方法被称为大…...

Vue 3 中的 Composition API

✨理解 Vue 3 中的 Composition API 🎃 Vue 3 引入了全新的 Composition API,相较于传统的 Options API,它具备许多优势和适用场景。下面将介绍 Composition API 的优势和使用场景,并为你带来更好的开发体验。 🎁 Co…...

《TCP/IP详解 卷一:协议》第5章的IPv4数据报的总长度字段出现“不需要大于576字节的IPv4数据报“相关内容的解释

《TCP/IP详解 卷一:协议》第5章的IPv4数据报的总长度字段的一些解释,出现以下内容(有省略): ....另外,主机不需要接收大于576字节的IPv4数据报.....以避免576字节的IPv4限制。 英文原文的内容(有…...

PO-java客户端连接错误can not connect to server

问题描述: 换电脑或者网络环境改变了,PO下载EST ID的jnlp提示can not connect to server*** ;**message server***这类错误 原因分析: 基本上都是PO消息服务器连接不上导致的错误,原理有均衡负载对应的IP转接后端口不…...

PM2 vs Kubernetes:在部署 Node.js 服务时使用哪个?

Node.js 已成为 Web 开发中的热门技术之一,但如果我们想成功地将 Node.js 应用程序交付给用户,我们需要考虑部署和管理这些应用程序。两个常见的选项是 PM2 和 Kubernetes。PM2 是一个用于运行和管理 Node.js 应用程序的进程管理器,它能够创建…...

配置git并把本地项目连接github

一.配置git 1.下载git(Git),但推荐使用国内镜像下载(CNPM Binaries Mirror) 选好64和版本号下载,全部点下一步 下载完成后打开终端,输入 git --version 出现版本号则说明安装成功 然后继续…...

pytorch笔记 GRUCELL

1 介绍 GRU的一个单元 2 基本使用方法 torch.nn.GRUCell(input_size, hidden_size, biasTrue, deviceNone, dtypeNone) 输入:(batch,input_size) 输出和隐藏层:(batch,hidden_size&#xf…...

不解压,也能列出文件信息

gz文件,不解压,查看压缩前文件的大小: gzip -l ~$ ll -rw-r--r-- 1 fee fee 17343450 Nov 2 12:02 xxx.log.2023-11-02T04-02-56.000.1 -rw-r--r-- 1 fee fee 3150599 Nov 2 12:02 xxx.log.2023-11-02T04-02-56.000.1.gz ~$ gzip -l gb…...

微型计算机组成原理

1、微型计算机组成 一个传统微型计算机硬件组成如下图 CPU通过地址线、数据线和控制信号线组成的本地总线(内部总线)与系统其他部分进行数据通信。 地址线用于提供内存或I/O设备的地址,即指明需要读/写数据的具体位置;数据线用…...

基站/手机是怎么知道信道情况的?

在无线通信系统中,信道的情况对信号的发送起到至关重要的作用,基站和手机根据信道的情况选择合适的资源配置和发送方式进行通信,那么基站或者手机是怎么知道信道的情况呢? 我们先来看生活中的一个例子,从A地发货到B地…...

进程/线程

进程是资源单位, 线程是执行单位。 每一个进程至少要有一个线程,启动每一个程序默认都会有一个主线程 1.多线程的两种实现 from threading import Thread#方法一 def func(name):for i in range(10):print(name, i)if __name__ __main__:t Thread(targetfunc, …...

Python 应用 之 转换音频格式

目录 一、python音频转换 1、pydub 音频包安装 2、 ffmpeg安装 1)、解压后,添加到环境变量中 2)、可以直接放在python安装目录下 3、python程序 1)、引入相关包 2)、重命名 3)、to Mp3 4&#xf…...

Oracle JDK 和OpenJDK两者有什么异同点

Oracle JDK 和 OpenJDK 是两种不同版本的 Java Development Kit(Java 开发工具包),它们都提供了用于开发 Java 程序的一系列工具和库。以下是它们之间的一些主要异同点: 相同点: 功能:在大多数情况下&…...

GPT引发智能AI时代潮流

最近GPT概念爆火,许多行业开始竞相发展AI ,工作就业也将面临跳转,目前测试就业形势就分为了两大类,一类是测试行业如功能、性能、自动化综合性人才就业技能需求,另一类便是AI测试行业的需求普遍增长,原本由…...

FreeSWITCH mrcp-v2小记

最近得知有人受mrcp的困扰,于是写了这篇小文,希望能有所帮助 FreeSWITCH版本选择 目前当然选择1.10.10,不建议老版本,差别在于老版本用到的libmrcp比较旧,是1.2版本,bug比较多,有时会crash&am…...

如何将你的PC电脑数据迁移到Mac电脑?使用“迁移助理”从 PC 传输到 Mac的具体操作教程

有的小伙伴因为某一项工作或者其它原因由Windows电脑换成了Mac电脑,但是数据和文件都在原先的Windows电脑上,不知道怎么传输。接下来小编就为大家介绍使用“迁移助理”将你的通讯录、日历、电子邮件帐户等内容从 Windows PC 传输到 Mac 上的相应位置。 在…...

Elasticsearch集群搭建、数据分片以及位置坐标实现附近的人搜索

集群搭建、数据分片 es使用两种不同的方式来发现对方: 广播单播也可以同时使用两者,但默认的广播,单播需要已知节点列表来完成 一 广播方式 当es实例启动的时候,它发送了广播的ping请求到地址224.2.2.4:54328。而其他的es实例使用同样的集群名称响应了这个请求。 一般这…...

深度学习_3 数据操作之线代,微分

线代基础 标量 只有一个元素的张量。可以通过 x torch.tensor(3.0) 方式创建。 向量 由多个标量组成的列表(一维张量)。比如 x torch.arange(4) 就是创建了一个1*4的向量。可以通过下标获取特定元素(x[3]),可以通…...

树莓派安装Ubuntu22.04LTS桌面版

工具:树莓派4B Raspberry Pi 自己下载的ubuntu22.04LTS img磁盘镜像文件 这里有一个小技巧:这个Raspberry Pi的选择镜像的时候在最后面一行可以选择自定义的镜像,哈哈哈哈,这就使得我们可以自己下载,而且知道那个文…...

Rust编程基础之函数和表达式

1.Rust函数 在之前的文章中,我们已经见到了一个函数:main函数, 它是很多程序的入口点。也见过 fn 关键字,它用来声明新函数。 Rust 代码中的函数和变量名使用 snake case 规范风格。在 snake case 中,所有字母都是小写并使用下划线分隔单词。这是一个包…...

MeteorSeed

从0构建WAV文件:读懂计算机文件的本质 虽然接触计算机有一段时间了,但是我的视野一直局限于一个较小的范围之内,往往只能看到于算法竞赛相关的内容,计算机各种文件在我看来十分复杂,认为构建他们并能达到目的是一件困难…...

百川2-13B-4bits量化版API优化:降低OpenClaw任务Token消耗20%

百川2-13B-4bits量化版API优化:降低OpenClaw任务Token消耗20% 1. 问题背景与优化动机 上周在调试OpenClaw自动化流程时,我发现一个奇怪现象:同样的文件整理任务,在不同时段运行时消耗的Token数量差异能达到30%。作为个人开发者&…...

HP20x气压传感器Arduino驱动深度解析

1. Grove Barometer HP20x 高精度气压/温度/海拔传感器驱动深度解析1.1 项目定位与工程价值Grove Barometer HP20x 是 Seeed Studio 推出的基于 HP206C(或兼容型号 HP203B/HP202C)高精度气压传感芯片的模块化传感器。该驱动库并非简单封装,而…...

【OpenClaw 安全部署与使用指南:从零构建可信赖的 AI 助手】

OpenClaw 安全部署与使用指南:从零构建可信赖的 AI 助手OpenClaw 作为一款具备"眼和手"的开源 AI Agent 框架,能够读写文件、执行命令、调用工具、访问网络——这些强大的能力在带来便利的同时,也意味着潜在的安全风险。如果部署和…...

OpenClaw技能开发入门:为Phi-3-mini-128k-instruct定制自动化插件

OpenClaw技能开发入门:为Phi-3-mini-128k-instruct定制自动化插件 1. 为什么需要自定义OpenClaw技能 去年夏天,我发现自己每天要重复做三件事:查看天气、整理会议纪要、归档下载的文件。这些琐事看似简单,但累积起来每天要消耗我…...

宽带任意阶贝塞尔光束模型与超表面实现案例

宽带任意阶 贝塞尔光束 超表面 模型 fdtd 案例内容:主要包括文章的两个贝塞尔光束模型,一个零阶贝塞尔光束一个一阶贝塞尔光束,采用二氧化钛介质单元执行几何相位来构建; 案例包括fdtd模型、fdtd设计脚本、Matlab计算代码和复现结…...

Uncrustify配置深度解析:从空格对齐到换行控制

Uncrustify配置深度解析:从空格对齐到换行控制 【免费下载链接】uncrustify Code beautifier 项目地址: https://gitcode.com/gh_mirrors/un/uncrustify Uncrustify是一个功能强大的代码美化工具,专门用于格式化C、C、C#、Objective-C、D、Java、…...

终极TensorFlow Rust数学运算指南:从基础算术到复杂函数完全掌握

终极TensorFlow Rust数学运算指南:从基础算术到复杂函数完全掌握 【免费下载链接】rust Rust language bindings for TensorFlow 项目地址: https://gitcode.com/gh_mirrors/rust/rust TensorFlow Rust为开发者提供了强大的数学运算能力,通过Rust…...

项目介绍 MATLAB实现基于概率路图法(PRM)进行无人机三维路径规划的详细项目实例(含模型描述及部分示例代码) 专栏近期有大量优惠 还请多多点一下关注 加油 谢谢 你的鼓励是我前行的动力 谢谢支持

MATLAB实现基于概率路图法(PRM)进行无人机三维路径规划的详细项目实例 更多详细内容可直接联系博主本人 或者访问对应标题的完整博客或者文档下载页面(含完整的程序,GUI设计和代码详解) 随着无人机技术的快速发展&…...

从星链到遥感卫星:工程师视角下的轨道摄动实战避坑指南

低轨星座与遥感卫星的轨道摄动实战:工程师避坑手册 当SpaceX的星链卫星以每分钟一颗的速度被发射入轨,当高分系列遥感卫星的成像精度突破亚米级,轨道摄动这个曾经只存在于教科书中的概念,正在成为每个航天工程师的日常挑战。不同…...