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

理清大数据技术与架构

        大数据并不是一个系统软件,更不是一个单一的软件,它实际上是一种技术体系、一种数据处理方法,甚至可以说是一个服务平台。在这个技术体系中,涵盖了许多不同的部件,比如Hadoop服务平台。这一服务平台可以根据具体情况自由组合,具体应用需求决定了最终的架构选择,下面我会从大数据应用步骤,大数据技术学习方法,大数据应用工具一一说明。

        1)大数据应用步骤

        宏观来看,大数据应用的步骤可以分为:数据源、数据存储、数据计算、数据分析以及数据应用,如下。

e56e9990232640509e083c244cb07def.png

     

 2)大数据技术学习方法

        方法还是离不开以不变应万变,既然是大数据技术,核心就是数据流。

        比如学习Hadoop和Spark,我们可以深入了解它们的原理和工作机制,就好比研究恒星和行星的形成和运行规律。但同时,我们也要明白它们在数据采集、清洗、转换、分析和展示等环节中的作用,就如同了解它们在宇宙中的定位和影响一样。只有全面理解了这些,才能像宇航员一样游刃有余地在数据宇宙中航行,实现完整的数据分析工作流程,为数据探索之旅增添更多的可能性和美妙。

      离线计算示例:
              在离线计算场景下,使用的都是历史数据,也就是不会再发生改变的数据。在数据源确定以后,这些数据不会再增加、也不会再更新,比较适合对实时性要求不高的场景。大多数情况下是周期性的计算某一个指标或执行一个Job,运算耗时基本上可以控制在分钟级。

  1. 数据源:数据文件、数据库中的数据等
  2. 数据采集:Sqoop、HDFS数据上传、Hive数据导入等
  3. 数据存储:HDFS
  4. 数据分析:MapReduce、Hive QL
  5. 计算结果:Hive结果表(HiveJDBC查询)、导出至关系型数据库

 

3)大数据应用工具

大数据应用工具如下:d9d62c5184bf47ea871f98e62bffe045.jpeg

 

 一,数据采集工具

9ab41c1a98a9414eab95b8ecf8e9f649.png

示例:flume数据采集框架

Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。它可以采集文件,socket数据包等各种形式源数据,又可以将采集到的数据输出到HDFS、hbase、hive、kafka等众多外部存储系统中。

cc2bb4149f014b9e9e09fd3105982ce6.png

  二,数据存储工具

84d41831364949bdbf244cc450b8184e.png

示例:hfds数据存储框架

HDFS是Hadoop体系中数据存储管理的基础,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序,提供一次写入多次读取的机制,数据以块的形式,同时分布在集群不同物理机器上高度容错性的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。

运行架构如下:

a1e420cd03b742bd951a3e6b2e35a861.png

三,数据计算工具

d2ec771d345140929a724b6b532f18ab.png

示例:spark计算框架

        Spark是一个master/slave架构的分布式系统,使用内存计算引擎,提供Cache缓存机制,将RDD缓存到内存或磁盘当中,支持迭代计算和多次数据共享,减少数据读取的IO开销。

spark生态系统+spark运行架构如下:

c0c9d4c324fe49e986d8cc4973cb2d0f.png

07c69bd797654ee792da2e96d875cec2.png

四,数据分析工具

2bc000dd2cca463388b62818c7311027.png

示例:python数据分析框架

5ff7b56cbe3b403487f695f7c9a4bca6.png

五,任务调度,资源管理工具

bfa70ca752584351b88830153c76bc05.png

示例:yarn资源调度框架

Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而mapreduce等运算程序则相当于运行于操作系统之上的应用程序。f011bd959b124b988f3c6b0fdf7169ec.png

六:大数据平台搭建工具

7b3a2c9d8f3143ceaafee2e0d1297c47.png

        国外一些厂商对大数据中的组件进行了封装,提供了一体化的大数据平台,利用它可以快速安装大数据组件。目前业内最常见的是包括CDH、HDP、CDP等。

HDP:全称是 Hortonworks Data Platform。它由 Hortonworks 公司基于 Apache Hadoop 进行了封装,借助于 Ambari 工具提供界面化安装和管理,并且集成了大数据中的常见组件, 可以提供一站式集群管理。HDP 属于开源版免费大数据平台,没有提供商业化服务;


CDH:全称是 Cloudera Distribution Including Apache Hadoop。它由 Cloudera 公司基于 Apache Hadoop 进行了商业化,借助于 Cloudera Manager 工具提供界面化安装和管理,并且集成了大数据中的常见组件,可以提供一站式集群管理。CDH 属于商业化收费大 数据平台,默认可以试用 30 天。之后,如果想继续使用高级功能及商业化服务,则需要付费购买授权,如果只使用基础功能,则可以继续免费使用;


CDP:Cloudera 公司在 2018 年 10 月份收购了 Hortonworks,之后推出了新一代的大数据平台产品 CDP(Cloudera Data Center)。CDP 的版本号延续了之前 CDH 的版本号。从 7.0 版本开始, CDP 支持 Private Cloud(私有云)和 Hybrid Cloud(混合云)。 CDP 将 HDP 和 CDH 中比较优秀的组件进行了整合,并且增加了一些新的组件。

来源1:大数据到底应该如何学?_大数据怎么学-CSDN博客

来源2:一文看懂大数据生态圈完整知识体系【大数据技术及架构图解实战派】_互联网和大数据知识体系图-CSDN博客

详细了解可看《大数据技术及架构图解实战派》一书

 

 

 

 

 

相关文章:

理清大数据技术与架构

大数据并不是一个系统软件,更不是一个单一的软件,它实际上是一种技术体系、一种数据处理方法,甚至可以说是一个服务平台。在这个技术体系中,涵盖了许多不同的部件,比如Hadoop服务平台。这一服务平台可以根据具体情况自…...

小白DB补全计划Day2-LeetCode:SQL基本操作selectJOIN

链接:1683. 无效的推文 - 力扣(LeetCode)1378. 使用唯一标识码替换员工ID - 力扣(LeetCode)1068. 产品销售分析 I - 力扣(LeetCode) 来源:LeetCode 1683 # Write your MySQL quer…...

【Node.js从基础到高级运用】十五、单元测试与集成测试

引言 在Node.js开发过程中,测试是确保代码质量和功能正确性的关键步骤。单元测试和集成测试是最常见的测试类型。下面我们将使用Jest框架来进行测试。 单元测试 单元测试是指对软件中的最小可测试单元进行检查和验证。在Node.js中,这通常指的是函数或者…...

哈工大sse C语言 困难

Q565.(10分数, 语言: C)程序中函数 fun()的功能: 将一个由八进制数字字符组成的字符串转换为与其值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 **输入格式要求:gets 提示信息:"输入一个八进制字符串(5位&…...

力扣● 503.下一个更大元素II ● 42. 接雨水

503.下一个更大元素II 与496.下一个更大元素 I的不同是要循环地搜索元素的下一个更大的数。那么主要是对于遍历结束后,单调栈里面剩下的那些元素。 如果直接把两个数组拼接在一起,然后使用单调栈求下一个最大值就可以。 代码实现的话,不用直…...

Java中的包装类

Java中的包装类 一、包装类是什么?二、对应关系:三、举例说明:Integer构造器:包装类特有的机制:自动装箱 自动拆箱常用方法 总结 一、包装类是什么? 以前定义变量,经常使用基本数据类型&#x…...

实时数仓的另一种构建方法starRocks的物化视图

一、 StarRocks是什么 StarRocks是一个分布式的、高性能的OLAP(联机分析处理)数据库,物化视图在StarRocks中具有重要作用。 二、 StarRocks物化视图能干啥 物化视图(Materialized Views)是数据库中的预先计算结果的存储。它们是由一个或多个基础表的聚合数据组成的,这…...

【PHP】通过PHP实时监控Apache、MySQL服务运行状态

一、前言 有些时候我们需要监控一些服务的运行状态,比如说Apach或MySQL的运行状态,最近工作中也开发了这方面的功能,记录下来怎样使用PHP语言来实时监控Apache、MySQL服务的运行状态。 如果想一键开启Apache或MySQL等其他服务可以看这篇文章…...

ETL的全量和增量模式

在当今信息爆炸的时代,数据管理已经成为各行各业必不可少的一环。而在数据管理中,全量与增量模式作为两种主要的策略,各自具有独特的优势和适用场景,巧妙地灵活运用二者不仅能提升数据处理效率,更能保障数据的准确性。…...

常用的IDE推荐

程序员在选择集成开发环境(IDE)时,会考虑多种因素,包括易用性、功能丰富性、性能以及是否支持他们正在使用的编程语言。以下是一些建议的IDE及其优点: 1.JetBrains PyCharm:专为Python开发而设计的IDE。 优…...

6、kubenetes 卷

1、什么是卷 在某些场景下,我们可能希望新的容器可以在之前容器结束的位 置继续运⾏,⽐如在物理机上重启进程。可能不需要(或者不想要) 整个⽂件系统被持久化,但又希望能保存实际数据的⽬录。 Kubernetes通过定义存储…...

前端学习笔记 | Node.js

一、Node.js入门 1、什么是Node.js 定义:是跨平台JS运行环境(可以独立执行JS的环境)作用: 编写数据接口,提供网页资源功能等等前端工程化:为后续学Vue和React等框架做铺垫 2、Node.js为何能执行JS&#xff…...

Spark-Scala语言实战(3)

在之前的文章中,我们学习了如何在来如何在IDEA离线和在线安装Scala,想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-Scala语言实…...

diffusion model(十四): prompt-to-prompt 深度剖析

infopaperPrompt-to-Prompt Image Editing with Cross Attention Controlgithubhttps://github.com/google/prompt-to-promptOrg:Google Research个人复现https://github.com/myhz0606/diffusion_learning个人博客主页http://myhz0606.com/article/p2p 1 前言 基于扩散模型&a…...

线性表的顺序表示(顺序表)

静态分配&#xff1a; #include <stdbool.h> #include <stdio.h>typedef int ElementType;#define MaxSize 50 typedef struct {ElementType data[MaxSize];int length; }SqList;//初始化 //SqList L; void InitList(SqList L) {L.length 0; }//插入 bool ListIn…...

矩阵A的LU分解

文章目录 1. 矩阵的逆矩阵1.1 AB的逆矩阵1.2 转置矩阵 2. 2X2矩阵A消元3. 3X3矩阵A消元4. 运算量5. 置换矩阵-左行右列 本文主要目的是为了通过矩阵乘法实现矩阵A的分解。 1. 矩阵的逆矩阵 1.1 AB的逆矩阵 假设A,B矩阵都可逆 A ( B B − 1 ) A − 1 I (1) A(BB^{-1})A^{-1}…...

深入了解Flutter中Future的全部工厂方法及使用

在Flutter中&#xff0c;Future是一种表示异步操作结果的对象。它代表了一个可能已经完成或尚未完成的计算&#xff0c;可以用来处理异步任务。Flutter提供了多种工厂方法来创建Future对象&#xff0c;每种方法都有其特定的用途和优势。在本文中&#xff0c;我们将深入探讨Flut…...

python的BBS论坛系统flask-django-nodejs-php

为了更好地发挥本系统的技术优势&#xff0c;根据BBS论坛系统的需求&#xff0c;本文尝试以B/S架构设计模式中的django/flask框架&#xff0c;python语言为基础&#xff0c;通过必要的编码处理、BBS论坛系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法&#xff…...

vulnhub-----pWnOS1.0靶机

文章目录 1.信息收集2.漏洞测试3.爆破hash4.提权 首先拿到一台靶机&#xff0c;就需要知道靶机的各种信息&#xff08;IP地址&#xff0c;开放端口&#xff0c;有哪些目录&#xff0c;什么框架&#xff0c;cms是什么&#xff0c;网页有什么常见的漏洞&#xff0c;如sql注入&…...

vue 消息左右滚动(前后无缝衔接)

演示效果 封装的组件 <!--* Author:* Date: 2024-03-21 19:21:58* LastEditTime: 2024-03-21 20:31:50* LastEditors: Please set LastEditors* Description: 消息左右滚动 --> <template><divid"textScroll"class"text-scroll"mousemove&…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...