当前位置: 首页 > 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年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为&…...

LED透镜粘接UV胶是一种特殊的UV固化胶,用于固定和粘合LED透镜。

LED透镜粘接UV胶是一种特殊的UV固化胶,用于固定和粘合LED透镜。 它具有以下特点: 1. 高透明度:LED透镜粘接UV胶具有高透明度,可以确保光线的透过性,不影响LED的亮度和效果。 2. 快速固化:经过UV紫外线照射…...

C语言 题目

1.写一个函数算一个数的二进制(补码)表示中有几个1 #include<stdio.h>//统计二进制数中有几个1 //如13:1101 //需要考虑负数情况 如-1 结果应该是32// n 1101 //n-1 1100 //n 1100 //n-1 1011 //n 1000 //n-1 0111 //n 0000 //看n的变化 int funca(int c){int co…...

CDN 内容分发网络

CDN常见问题 什么是 CDN &#xff1f; CDN 全称是 Content Delivery Network/Content Distribution Network&#xff0c;翻译过的意思是 内容分发网络 。 我们可以将内容分发网络拆开来看&#xff1a; 内容&#xff1a;指的是静态资源比如图片、视频、文档、JS、CSS、HTML。…...

Android : Xui- RecyclerView+BannerLayout 轮播图简单应用

实例图&#xff1a; 1.引用XUI http://t.csdnimg.cn/Wb4KR 2.创建显示图片布局 banner_item.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"…...

Java网络通信-第21章

Java网络通信-第21章 1.网络程序设计基础 网络程序设计基础涵盖了许多方面&#xff0c;包括网络协议、Web开发、数据库连接、安全性等。 1.1局域网与互联网 局域网&#xff08;LAN&#xff09;与互联网&#xff08;Internet&#xff09;是两个不同的概念&#xff0c;它们分…...

Leetcode 345. Reverse Vowels of a String

Problem Given a string s, reverse only all the vowels in the string and return it. The vowels are ‘a’, ‘e’, ‘i’, ‘o’, and ‘u’, and they can appear in both lower and upper cases, more than once. Algorithm Collect all the vowels and reverse the…...

[linux] 用命令行wget下载google drive的大文件

使用wget命令下载Google drive上的文件_ubuntu上wget下载谷歌云盘文件-CSDN博客 如何用命令行下载Google Drive上的共享文件&#xff1f;-腾讯云开发者社区-腾讯云 举例&#xff1a;https://drive.google.com/drive/folders/1vKj3VvJEKgS_o-uOSmz3I0-GomECpql3 1、在网页上&…...

Docker Network(网络)——8

目录&#xff1a; Docker 为什么需要网络管理Docker 网络架构简介 CNMLibnetwork驱动常见网络类型 bridge 网络host 网络container 网络none 网络overlay 网络docker 网络管理命令 docker network createdocker network inspectdocker network connectdocker network disconne…...

网页设计--第6次课后作业

试用Vue相关指令完成对以下json数据的显示。显示效果如下&#xff1a; 其中&#xff1a;gender1 显示为女&#xff0c;gender2显示为男。价格超过30元&#xff0c;显示“有点小贵”。价格少于等于30元&#xff0c;则显示“价格亲民”。 data: {books: [{"id": "…...

R语言学习

Part1阶段1&#xff1a;入门基础 1安装R和RStudio&#xff1a; 下载并安装R&#xff1a;https://cran.r-project.org/ 下载并安装RStudio&#xff1a;https://www.rstudio.com/products/rstudio/download/ 2Hello World&#xff1a; 学习如何在R中输出"Hello, World!"…...