大数据平台技术实例教程【ch02】数据采集和大数据 PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
互联网数据形式的不断丰富 和网络技术的不断发展,图 像、数据库、音频、视频、 多媒体等不同类型数据大量 出现,通用搜索引擎往往对 这些信息含量密集且具有一 定结构的数据无能为力,不 能很好地发现和获取它们。
01 03
02
通用搜索引擎的目标是实现 尽可能大的网络覆盖率,有 限的搜索引擎服务器资源与 无限的网络数据资源之间的 矛盾将进一步加深。
第二章
数据采集和大数据
新工科建设之路·数据科学与大数据系列 大数据平台技术实刚教程
01 数 据 采 集 和 E T L
在数据库建设过程中有ETL的操作。ETL即在数据抽取过程中进行数据的加 工转换,然后加载到存储器中,常用工具有Kafka、Flume、Kettle等。 研究大数据、分析大数据的首要前提是拥有大数据。而拥有大数据的方式, 要么是自己采集和汇聚数据,要么是获取别人采集、汇聚、整理之后的数据。 银行、电商、搜索引擎等公司具备从事大数据分析的资源和条件,因为它们 通过业务系统积累了大量的业务数据和用户行为数据,而普通的IT公司并不 具备这样的天然条件。
05 07
06 08
NumPy
使用Python进行科学计算 所需的基础包。它提供了强 大的连维数组对象,集成 C/C++和FORTRAN代码 的工具及有用的线性代数、 傅里叶变换和随机数功能。
Scrapy
快速的高级Web爬行和Web 抓取框架,用于抓取网站并 从其页面中提取结构化数据, 还可用于从数据挖掘到监控 和自动化测试的各种用途。
开发工具JupyterNotebook
JupyterNotebook是一种Web应用,能让用户将说明文本、数学方程、代码 和可视化内容全部组合到一个易于共享的文档中,方便研究和教学。在原始的 PythonShell与IPython中,可视化在单独的窗口中进行,而文字资料及各种 函数和类脚本包含在独立的文档中。JupyterNotebook能将这一切集中到一 处,方便用户使用。
05 Set类型
Set(集合)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对 象称为元素或成员。基本功能是测试成员关系和删除重复元素。 实例2-6
Python常见的数据类型
06 Dictionary类型
Dictionary(字典)是Python中一种 非常有用的内置数据类型。列表是有 序的对象集合,字典是无序的对象集 合。两者的区别在于,字典中的元素 是通过键来存取的,而不是通过偏移 存取的。字典是一种映射类型,字典 用{}标识,它是一个无序的〈键(key): 值(value)》的集合。键(key)必须使 用不可变类型。在同一个字典中,键 (key)必须是唯一的。
scikit-learn
基于NumPy、SciPy和 Matplotlib的机器学习 Python模块。它为数据挖 掘和数据分析提供了简单 而有效的接口。
01 03
02 04
pandas
Python包,提供快速、灵 活和富有表现力的数据结构, 旨在让“关系”或“标记” 数据的使用既简单又直观。 它是真实数据分析的基础。
NumPy库
05 np.random模块
实例2-11
05
基于Python的网络 爬虫应用实例
Urllib库介绍
01 urlopen()
urllib.request模块提供了基本的构造HTTP请求的方法,利用它可以模拟浏览 器的一个请求发起过程,同时它还带有authenticaton(授权验证)、 redirections(重定向)、cookies(浏览器Cookies)及其他内容。
实例2-4
Python常见的数据类型
04 Tuple类型
Tu p l e ( 元 组 ) 是 一 种 数 据 类 型 , 类 似 L i s t ( 列 表 元 组 用 0 标 识 , 内 部 元 素 用 逗 号 分隔开。但是元组不能二次赋值,相当于只读列表。 实例2-5
Python常见的数据类型
01
进入Python官网,下载对应版本的安装包。
安装程序下载完成后,直接双击它运行安装。安装程序将在操作系统中安装
02
与Python开发相关的程序,最核心的是命令行环境和集成开发环境
(Python飞IntegratedDevelopmentEnvironment,IDLE)o
验证是否安装成功:按Win+R组合键进入“运行”对话框,输入cmd并按
Python常见的数据类型
01 Number类型
Python3支持int、float、 bookcomplex(复数)。在 Python3里,只有一种整数 类型int,表示长整型,取代 了Python2中的Long。像 大多数语言一样,数值类型 的赋值和计算都是很直观的。 内置的type。函数可用来查 询变量所指的对象类型。
NumPy库
03 NumPy的索引和切片
与列表数据类型的使用类似。
04 数组的广播机制
广播机制描述了NumPy在算术运算期间处理具有不同形状的数组的过程。受某 些约束的影响,较小的数组在较大的数组上“广播”,以便它们具有兼容的形状。 广播提供了一种矢量化数组操作的方法,以便在C而不是Python中循环。它可 以在不制作冗余数据副本的情况下实现这一点,通常产生高效的算法实现。 上面使用到的数组arrl的形状为(2,3),将其与形状为(3,)的数组arr2相加,便会 触发广播机制,将arr2的数组复制成两行与arrl的形状匹配后再相加。两个不同 数组发生计算,若维度不同则在维度位置补1,成为相同维度的数组。同一维度数 组进行计算触发广播机制的条件为,两个数组其中一个在该维度上的形状为1。
实例2-1分别给变量a、b、c、d赋予不同的数 据类型,并通过type()函数获取当前对象的类 型,代码如下:
Python常见的数据类型
02 String类型
Python中的字符串用单引号()或双引号(")括起来,同时使用反斜()转特殊字符。 字符串的截取的语法格式为:变量[头下标:尾下标]。索引值以0为开始值,-1为 末尾的开始位置。加号(+)是字符串连接运算符,星号(*)表示重复操作。
04
步长对区间[start,stop)
划分出50个端点的一维
数组。
np.arange()与Python
05
自带的range。方法功能
类似。
实例2-9
NumPy库
02 常用属性
01
shape返回数组形状。
02
ndim返回数组维度。
03
size返回数组元素的个数。
03
dtype返回数组元素的类型。
实例2-10
03
回车键,进入Windows的命令行界面,在命令行输入python37可以进入
Python3.7.3的命令行模式,测试成功说明Python3.7.3安装成功。
开发工具PyCharm
PyCharm
PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Python语言 开发时提高效率的工具,如调试、语法高亮、Project管理、代码跳转、智能 提示、自动完成、单元测试、版本控制等。此外,还提供了一些高级功能,用 于支持Django框架下的专业Web开发。PyCharm是由JetBrains打造的, VS2010的重构插件ReSharper就出自JetBrains之手。同时支持 GoogleAppEngine和LronPython。在这些功能的支持下,PyCharm成 为Python专业开发人员和刚入门学习人员广泛使用的工具。
04
通用搜索引擎大多提供基于 关键字的检索,难以支持根 据语义信息实现的查询。
网络爬虫的工作过程
传统网络爬虫从一个或若干初始网页的统一资源定位符 (UniformResourceLocator,URL )处获得初始网页的URL。在抓取网页的 过程中,不断从当前页面上抽取新的URL放入队列,直至满足系统的一定停止 条件。聚焦网络爬虫的工作流程较为复杂,先根据一定的网页分析算法过滤与 主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列,再根据一 定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达 到系统的某一条件时停止。另外,所有被网络爬虫抓取的网页将会被系统存储, 进行一定的分析、过滤,并建立索引,以便之后的查询和检索。对聚焦网络爬 虫来说,这一过程所得到的分析结果还可能给以后的抓取过程提供反馈和指导。
PyTorch
Python包,具有强大的 GPU加速度的计算和自动编 程系统构建的深度神经网络。
Matplotlib
Python2D绘图库,可以生 成各种达到印刷品质的硬拷 贝格式和跨平台交互式环境 数据。用于Python脚本、 Web应用程序服务器和各 种图形用户界面工具包。
SciPy
是数学、科学和工程方向的 开源软件,包含统计、优化、 集成、线性代数、傅立叶变 换、信号和图像处理等模块。
Jupyter这个名字源自它要服务的三种语言的缩写:Julia、Python和R。 JupyterNotebook特别适合做数据处理,其用途包括数据清理和探索、可 视化、机器学习和大数据分析,安装步骤详见在线配置文档。
04 P y t h o n 语 言 简 介
TensorFlow
使用数据流图进行数值计算 的开源软件库。这种灵活的 体系结构使用户可以将计算 部署到桌面、服务器或移动 设备中的一个或多个CPU心 PU上。
实例2-2
实例2-3Python使用反斜杠(\)转义 特殊字符,如果不想让反斜杠发生转 义 , 可 以 在 字 符 串 前 添 加 一 个 r, 表 示 原始字符串,代码如下:
Python常见的数据类型
03 List类型
List(列表)是Python中使用 最频繁的数据类型。列表可以实 现大多数集合类的数据结构。列 表中元素的类型可以不相同,它 支持数字、字符串甚至可以包含 列表(嵌套)。列表是写在方括 号(口)之间、用逗号分隔开的 元素列表。
现在,为了实现精准营销,很多公司已经开始从电商和搜索引擎公司购买客 户数据、行为数据,以期通过算法精准地发现新客户。很多系统在使用过程 中会留下“蛛丝马迹”,数据抓取就成为一种很好的获取数据辅助手段。
02 网 络 爬 虫
通用网络爬虫与聚焦网络爬虫
通用搜索引擎的局限性
不同领域、不同背景的用户 往往具有不同的检索目的和 需求,搜索引擎返回的结果 不具有个性化意义,包含大 量当前用户不关心的网页。
网络爬虫需要解决的问题:
• (1)对抓取目标的描述或定义; • (3)对URL的搜索策略。
• (2)对网页或数据的分析与过滤;
03
Python常用开发 工具简介
Python开发环境搭建
Python适用于Windows、UNIX、Linux和macOS等操作系统。Linux和macOS 一般都自带Python解释器,其他操作系统用户需要根据自己操作系统的型号、版本, 至UPython官网选择并下载合适的安装包。本书采用的是 Python3.7,Windowsx86-64版本。 开发环境搭建的主要步骤如下。
NumPy库
05 np.random模块
(1)np.random.seed(),用于指定随机数生成的种子,输入种子的数据类型 为int64,若不设置则系统根据时间戳选择。 (2)np.random.rand(),用于产生0与1之间的随机数。 (3)np.random.randn(),用于产生标准正态分布的随机数。 (4)np.random.randintO)用于产生指定范围内的随机整数。 (5)np.random.shuffle(ndarray),用于直接将数组打乱。
实例2-7
NumPy库
01 创建数组
01
np.array(object,dtype^None) 实 例 2 - 8
根据object创建数组(一般使用相同
元素的列表创建数组),可定义元素
数据类型为dtype。注意,数组中存
储的数据元素类型必须是统一的。
np2
根据shape创建值全为1的数组,创
建多维数组可以将shape用元组定义。
np.zeros(shape,dtype=None)
03
根据shape创建值全为0的数组,创
建多维数组可以将shape用元组定义。
NumPy库
01 创建数组
np.linspace(start,st
op,mxm=50)以相同的
相关文档
最新文档