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

《PySpark大数据分析实战》-01.关于数据

📋 博主简介

  • 💖 作者简介:大家好,我是wux_labs。😜
    热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。
    通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP)、TiDB数据库认证SQL开发专家(PCSD)认证。
    通过了微软Azure开发人员、Azure数据工程师、Azure解决方案架构师专家认证。
    对大数据技术栈Hadoop、Hive、Spark、Kafka等有深入研究,对Databricks的使用有丰富的经验。
  • 📝 个人主页:wux_labs,如果您对我还算满意,请关注一下吧~🔥
  • 📝 个人社区:数据科学社区,如果您是数据科学爱好者,一起来交流吧~🔥
  • 🎉 请支持我:欢迎大家 点赞👍+收藏⭐️+吐槽📝,您的支持是我持续创作的动力~🔥

文章目录

  • 《PySpark大数据分析实战》-01.关于数据
    • 前言
    • 关于数据
    • 结束语

《PySpark大数据分析实战》-01.关于数据

前言

大家好!今天为大家分享的是《PySpark大数据分析实战》第1章第1节的内容:关于数据。

关于数据

随着进入互联网时代,我们便进入了一个数据大爆炸的时代。由于互联网整合资源的能力在不断提高,越来越多的社会资源被网络化和数字化,数据可以承载的价值在不断提高,大数据正在成为整个互联网技术发展的重要动力,正在成为企业重要的生产资料之一。大数据主要呈现出几个层面的特点:

1)体量大(Volume)。普通人日常接触到的数字化信息,一本小说、书籍的大小只有几百KB,一首MP3歌曲的大小只有几MB,一部电影的大小有几百MB到几GB,想要存储日常生活、工作中的资料,几TB就已经能满足大部分人的需求了。但是在企业中就不同了,电商网站每天的商品交易数据能够达到几十TB,社交网站用户每天产生的数据能达到几百TB。互联网企业的数据已经达到PB、EB甚至ZB级别。

2)种类多(Variety)。广泛的数据来源决定了大数据种类的多样性,任何形式的数据都可以产生作用。这其中包括存储在关系型数据库中的结构化数据,也包括文本、图片、音频、视频等非结构化数据。

3)速度快(Velocity)。大数据的产生非常迅速,这些数据都需要快速及时地处理,因为这些海量的数据中大部分数据的价值并不高,花费大量的资本去存储这些数据并不划算。而对于有价值的数据则需要快速地生成分析结果,用于指导生产生活实践。

4)价值密度低(Value)。在这些海量的数据中,有价值的数据所占的比例很小,并且分散在这些海量的数据中,其价值密度远低于传统关系型数据库中已有的数据。大数据的最大价值在于通过从海量数据中挖掘出对未来趋势与预测分析有价值的数据。

5)真实性(Veracity)。大数据的真实性由IBM提出,认为互联网上留下的都是人类行为的真实电子踪迹,能真实地反映人们的行为。但是人们后来发现,互联网的虚拟性和隐匿性,导致互联网上存在大量虚假的、错误的数据。不同领域、不同来源的数据,可靠性是有差异的,舆情数据的真实性尤其值得考量。因此,这个特点在后来被悄然隐去了。大数据中存在一定程度的噪声和不确定性,在处理和分析时需要考虑数据的真实性和可靠性。

6)可视化(Visualization)。大数据所面临的数据量大、数据来源多样、数据复杂多变,这些都使得人们难以直接了解和处理数据。因此,大数据分析需要注重结果的可视化,这也是大数据与传统数据分析不同的一个重要特点。可视化结果更直观、更易懂、更能形象的解释数据内在联系。大数据可视化需要呈现出高质量的图形和直观的视觉效果,使得数据分析和决策更加精准和有力。

想要从这些海量数据中提取有价值的数据,我们必须想方设法好好地存储和分析这些数据。大数据的基本处理流程,主要包括数据采集、存储管理、处理分析、结果呈现等环节。

谷歌作为一个搜索引擎,每天要爬取海量的数据,因此需要解决数据的存储问题。数据通常使用硬盘来进行存储,一块硬盘的容量总是有限的,虽然硬盘的存储容量多年来一直在提升,但对于海量的数据依然无法用一块硬盘来存储。虽然可以提高硬盘的存储容量,但更大的容量意味着需要更长的数据读取时间,减少数据读取时间的办法是减少一块硬盘上存储的数据量。当无法用一块硬盘来存储所有数据时,我们不必要想方设法打造一块超级硬盘,而是应该千方百计综合利用更多的硬盘来进行存储。每一块硬盘存储一部分数据,更多的硬盘一起就可以存储下海量的数据,这样不仅能存储海量的数据,而且读取数据的时候还可以同时从多块硬盘上读取,缩短了读取所有数据需要的时间。数据存储的问题是有解决方案了,但是对于这种存储方案还有更多的问题需要解决:当需要读取一个文件的时候,需要从哪块硬盘进行读取?当遇到一个超大文件,以至于一块硬盘都存放不下而被拆分到多块硬盘进行存储,需要从哪几块硬盘进行读取才能获得一个完整的文件?当某一块硬盘发生故障,硬盘上的数据无法读取时,如何保证数据不丢失?为了满足谷歌迅速增长的数据处理需求,谷歌实现了一个谷歌分布式文件系统(Google File System,GFS),并于2003年发表了一篇论文The Google File System专门描述了GFS的产品架构。

对于爬取回来的海量数据如何呈现给用户,这就涉及到海量数据的运算,例如需要对数据进行聚合、排序等。为了解决其搜索引擎中的大规模网页数据的并行化处理,谷歌提出了分布式计算模型MapReduce。MapReduce的灵感来源于函数式编程语言中的内置函数map()和reduce()。在函数式编程语言中,map()函数对集合中的每个元素做计算,reduce()函数对集合中的每个元素做迭代。集合中的元素能够做迭代,说明集合中的元素是相关的,比如具有相同的数据类型,并且reduce()函数的返回值也与集合中的元素具有相同的数据类型。将map()函数和reduce()函数结合起来,就可以理解为map()函数将杂乱无章的原始数据经过计算后得到具有相关性的数据,这些数据再由reduce()函数进行迭代得到最终的结果。在MapReduce计算模型里,Map阶段将杂乱无章的原始数据按照某种特征归纳起来,Reduce阶段就可以对具有相同特征的数据进行迭代计算,得到最终的结果。在2004年,谷歌发表了一篇论文MapReduce: Simplified Data Processing on Large Clusters向全世界介绍了他们的MapReduce系统。

结束语

好了,感谢大家的关注,今天就分享到这里了,更多详细内容,请阅读原书或持续关注专栏。

相关文章:

《PySpark大数据分析实战》-01.关于数据

📋 博主简介 💖 作者简介:大家好,我是wux_labs。😜 热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP…...

Qt/C++视频监控拉流显示/各种rtsp/rtmp/http视频流/摄像头采集/视频监控回放/录像存储

一、前言 本视频播放组件陆陆续续写了6年多,一直在持续更新迭代,视频监控行业客户端软件开发首要需求就是拉流显示,比如给定一个rtsp视频流地址,你需要在软件上显示实时画面,其次就是录像保存,再次就是一些…...

Vue.js - 界面设计工具和UI组件库

ViewDesign ViewDesign是一款开源的在线设计工具,它主要提供了一种可视化的界面设计方法,可以帮助设计师和开发人员更高效地完成界面设计和开发工作。 ViewDesign的特点是支持在线协作,可以多人同时进行设计,提高了设计效率&…...

【贪心算法】 Opponents

这道题写伪代码就好了! Description Arya has n opponents in the school. Each day he will fight with all opponents who are present this day. His opponents have some fighting plan that guarantees they will win, but implementing this plan requires pr…...

【git 相关操作】

git status - 查看当前状态 git add - 将文件添加到暂存区 git commit -m "msg" - 提交暂存区文件到本地仓库 git push origin master - 本地仓库文件推送到远程仓库 git merge - 合并分支 git clone - 从指定地址克隆项目 git log - 查看commit日志 git stash push …...

流媒体音视频/安防视频云平台/可视化监控平台EasyCVR无法启动且打印panic报错,是什么原因?

国标GB视频监控管理平台/视频集中存储/云存储EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。AI智能大数据视频分析EasyCVR平台已经广泛应用在工地、工厂、园…...

H264之NALU结构详解

摘要:本文详细描述了AVC的NALU的码流结构,以及各个层面上NALU详细的构成。   关键字:AVC,NALU 1 NALU简介 NAL层即网络抽象层(Network Abstraction Layer),是为了方便在网络上传输的一种抽象…...

快速整合EasyExcel实现Excel的上传下载

1.EasyExcel 2.Excel的上传(读Excel) 3.Excel的下载(写Excel) 4.结语 1.EasyExcel 首先,这里给出EasyExcel的官方文档:https://easyexcel.opensource.alibaba.com/ alibaba.com不用我多说了吧,大…...

MongoDB的条件操作符

本文主要介绍MongoDB的条件操作符。 目录 MongoDB条件操作符1.比较操作符2.逻辑操作符3.元素操作符4.数组操作符5.文本搜索操作符 MongoDB条件操作符 MongoDB的条件操作符主要分为比较操作符、逻辑操作符、元素操作符、数组操作符、文本搜索操作符等几种类型。 以下是这些操作…...

【Linux】探索Linux进程状态 | 僵尸进程 | 孤儿进程

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 目录 一、进程状态1.1运行状态1.2阻塞状态1.3挂起状态 二、具体L…...

大数据股票简单分析

目录标题 内容说明解题量化金融的含义量化交易策略 点击直接资料领取 内容 1解释量化金融的含义,调研并给出至少 5种量化交易的策略或方法 2.完成Tushare Pro 的安装、注册,获取自己的 Token,查阅网站内的接口讲解和示例; 3通过Python 编程完…...

从零开始搭建链上dex自动化价差套利程序(11)

风险控制 需要将仓位杠杆控制到3倍以内,由于dydx与apex没有获取仓位杠杆的接口,但是每次发送交易的数额可以决定,故而可以设置每次发送总仓位1.5倍杠杆的数额,然后设置一个变量保证每个方向上的交易不超过2次,即可保证…...

2023.12面试题汇总小结

文章目录 Java字节码都包括哪些内容Java双亲委派机制如何打破Java Memory Model是什么synchronized的锁优化是什么CountDownLatch、CyclicBarrier、Semaphore有啥区别,什么场景下使用MySQL MVCC原理MySQL RR隔离级别,会出现幻读吗MySQL的RR隔离级别下&am…...

Linux权限命令详解

Linux权限命令详解 文章目录 Linux权限命令详解一、什么是权限?二、权限的本质三、Linux中的用户四、linux中文件的权限4.1 文件访问者的分类(人)4.2 文件类型和访问权限(事物属性) 五、快速掌握修改权限的做法【第一种…...

【Android】Glide的简单使用(下)

文章目录 缓存设置内存缓存硬盘缓存自定义磁盘缓存行为图片请求优先级缩略图旋转图片Glide的回调:TargetsBaseTargetTarget注意事项设置具体尺寸的Target 调试及Debug获取异常信息 配置第三方网络库自定义缓存 缓存设置 GlideApp .with(context).load(gifUrl).asGif().error(…...

TCP对数据的拆分

应用程序的数据一般都比较大,因此TCP会按照网络包的大小对数据进行拆分。 当发送缓冲区中的数据超过MSS的长度,数据会被以MSS长度为单位进行拆分,拆分出来的数据块被放进单独的网路包中。 根据发送缓冲区中的数据拆分情况,当判断…...

面试问题--计算机网络:二层转发、三层转发与osi模型

计算机网络:二层转发、三层转发与OSI模型 1. 二层转发和三层转发 1.1 二层转发(Data Link Layer) 在计算机网络中,二层转发是通过数据链路层(Data Link Layer)实现的。以下是关于二层转发的一些关键信息…...

kubectl获取ConfigMap导出YAML时如何忽略某些字段

前言: 当我们在使用Kubernetes时,常常需要通过kubectl命令行工具来管理资源。有时我们也想将某个资源的配置导出为YAML文件,这样做有助于版本控制和资源的迁移。然而,默认情况下,使用kubectl get命令导出资源配置会包…...

复制粘贴——QT实现原理

复制粘贴——QT实现原理 QT 剪贴板相关类 QClipboard 对外通用的剪贴板类,一般通过QGuiApplication::clipboard() 来获取对应的剪贴板实例。 // qtbase/src/gui/kernel/qclipboard.h class Q_GUI_EXPORT QClipboard : public QObject {Q_OBJECT private:explici…...

(一)五种最新算法(SWO、COA、LSO、GRO、LO)求解无人机路径规划MATLAB

一、五种算法(SWO、COA、LSO、GRO、LO)简介 1、蜘蛛蜂优化算法SWO 蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为&…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...