大数据分析与应用微课版-课件 项目3 电商产品数据分布式处理_第1页
大数据分析与应用微课版-课件 项目3 电商产品数据分布式处理_第2页
大数据分析与应用微课版-课件 项目3 电商产品数据分布式处理_第3页
大数据分析与应用微课版-课件 项目3 电商产品数据分布式处理_第4页
大数据分析与应用微课版-课件 项目3 电商产品数据分布式处理_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目三

电商产品数据分布式存储2023年2月使用正则表达式匹配电商产品数据目录Content1使用HadoopStreaming处理电商产品数据2数据缺失数据格式不统一项目导言零使用MapReduce框架对数据进行清洗学习目标零知识目标了解MapReduce;熟悉MapReduce的架构;掌握YARN与MapReduce的关系;掌握正则表达式元字符含义。技能目标具备使用正则表达式匹配文本的能力;具备运行HadoopStreaming的能力;具备实现数据清洗的能力。素养目标具有健康的体魄、健全的人格和健康的个性;具有良好的行为习惯和良好的心理素质;具有较强的劳动组织能力、集体意识和社会责任心;具有发现问题、分析问题、解决问题的能力。任务3-1:使用正则表达式匹配电商产品数据壹任务技能MapReduce简介MapReduce是由Google公司研究并提出的分布式运算编程框架,主要是为了解决搜索引擎中大规模网页数据的并行化处理问题YARN简介ApacheHadoopYARN,全称YetAnotherResourceNegotiator,是Hadoop通用资源管理和调度平台

正则表达式正则表达式(RegularExpression,RE),又称规则表达式,在代码中常简写为regex、regexp或RE,是一种文本模式任务3-1:使用正则表达式匹配电商产品数据壹1MapReduce简介HadoopMapReduce极大地方便了编程人员在不会分布式编程的情况下,将自己的程序运行在分布式系统上(1)MapReduce起源MapReduce是由Google公司研究并提出的分布式运算编程框架,主要是为了解决搜索引擎中大规模网页数据的并行化处理问题。任务3-1:使用正则表达式匹配电商产品数据壹(2)什么是MapReduceMapReduce可以分成Map和Reduce两部分理解,Map是一个映射过程,能够将一组数据按照某种Map函数映射成新的数据,Reduce是一个归纳过程,把若干组映射结果进行汇总并输出映射、变换、过滤的过程。一条数据进入map会被处理成多条数据MapReduce分解、缩小、归纳的过程。一组数据进入reduce会被归纳为一组数据(或者多组数据)任务3-1:使用正则表达式匹配电商产品数据壹(3)MapReduce1.0架构MapReduce目前有两个版本分别为MapReduce1.0和基于YARN的MapReduce2.0,与HDFS一样相同,同样采用了Master/Slave架构,主要由Client、JobTracker、TaskTracker、Task四个部分组成任务3-1:使用正则表达式匹配电商产品数据壹(4)分布式处理框架的“HelloWorld”分布式处理架构也拥有自己的“HelloWorld”程序就是WordCount(单词计数)任务3-1:使用正则表达式匹配电商产品数据壹2YARN简介YARN是Hadoop通用资源管理和调度平台,能够为MapReduce、storm、Spark等计算框架,即上层应用,提供统一的资源管理和调度,使资源管理、数据共享、集群利用率等方面有了极大的提升任务3-1:使用正则表达式匹配电商产品数据壹(1)设计目标YARN也被称为下一代计算平台,YARN将部分职责委派给TaskTracker,因为集群中有许多TaskTracker任务3-1:使用正则表达式匹配电商产品数据壹(2)YARN结构中各组件说明ResourceManager负责统一管理和调度各NodeManager上的资源NodeManager各节点的资源和任务管理器,负责节点的维护工作ApplicationMaster负责调度和协调具体应用程序ContainerYARN资源)的抽象,用于资源分配时资源划分的单位任务3-1:使用正则表达式匹配电商产品数据壹(3)YARN执行流程MRApplicationMaster将执行的结果反馈给集群的应用管理者ResourceManager接收到请求后,ApplicationManager与NodeManager进行通信ResourceScheduler将资源分配给MRApplicationMaster,NodeManager启动MapTask和ReduceTaskclient可以通过浏览器访问MRApplicationMaster去监控MapTask和ReduceTask的执行情况MapTask和ReduceTask将执行的结果反馈给MRApplicationMasterclient向ResourceManager发出命令请求MRApplicationMaster创建完成后向ResourceManager发送已经创建完毕并注册的信息,同时向ResourceScheduler申请资源执行结束任务3-1:使用正则表达式匹配电商产品数据壹3正则表达式正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑正则表达式任务3-1:使用正则表达式匹配电商产品数据壹(1)正则表达式定义正则表达式是字符串,它包含文本和特殊字符。利用文字与特定字符的混合,可以定义复杂的字符串匹配与取代类型任务3-1:使用正则表达式匹配电商产品数据壹(2)Python正则的应用Python中内置了RE库(正则表达式库),不需要进行下载安装,在使用时只需要使用importre引入即可//第一种方式r'正则表达式'//第二种方式,flags用于设置匹配方式,可选填pile(r'正则表达式',flags)正则表达式定义完成后,即可通过RE库提供的多种方法执行正则表达式任务3-1:使用正则表达式匹配电商产品数据壹(3)正则表达式执行方法search()方法能够对整个字符串内容进行搜索,找到第一个匹配成功的内容,并以Match对象形式返回,当匹配不成功则返回Nonere.search(pattern,string,flags)pattern:匹配的正则表达式string:要匹配的字符串flags:标志位,用于控制正则表达式的匹配方式参数值作用re.I忽略大小写re.L表示特殊字符集\w,\W,\b,\B,\s,\S依赖于当前环境re.M多行模式re.X为了增加可读性,忽略空格和#后面的注释任务3-1:使用正则表达式匹配电商产品数据壹(3)正则表达式执行方法match()方法可以从整个字符串的起始位置开始搜索匹配正则表达式的内容,如果不是起始位置匹配成功的返回None,当起始位置开始匹配成功则以Match对象形式返回,参数及作用与search()方法相同re.match(pattern,string,flags)pattern:匹配的正则表达式string:要匹配的字符串flags:标志位,用于控制正则表达式的匹配方式参数值作用re.I忽略大小写re.L表示特殊字符集\w,\W,\b,\B,\s,\S依赖于当前环境re.M多行模式re.X为了增加可读性,忽略空格和#后面的注释任务3-1:使用正则表达式匹配电商产品数据壹(3)正则表达式执行方法findall()方法在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表re.findall(pattern,string,flags)pattern:匹配的正则表达式string:要匹配的字符串flags:标志位,用于控制正则表达式的匹配方式参数值作用re.I忽略大小写re.L表示特殊字符集\w,\W,\b,\B,\s,\S依赖于当前环境re.M多行模式re.X为了增加可读性,忽略空格和#后面的注释任务3-1:使用正则表达式匹配电商产品数据壹(3)正则表达式执行方法split()可以将字符串中符合正则表达式的字符做为分割符将整个字符串分割,并以列表类型返回分割后的内容,当没有符合字符时,则将整个字符串以列表形式返回re.split(pattern,string,maxsplit,flags)maxsplit:分隔次数,maxsplit=1分隔一次,默认为0,不限制次数任务3-1:使用正则表达式匹配电商产品数据壹编辑正则表达式Step1获取正则表达式匹配的结果Step2格式化输出Step3运行代码Step4电商产品数据的处理与分析使用正则表达式进行配并输出为每列使用\t分割的数据任务3-2:使用HadoopStreaming处理电商产品数据贰HadoopStreaming简介任务技能HDFS在最开始时,是作为ApacheNutch搜索引擎项目的基础架构而开发,现在是ApacheHadoop核心项目的一部分HadoopStreaming使用HDFS以统一目录树的形式实现自身文件的存储,客户端只需指定对应的目录树即可完成文件的访问,不需要获取具体的文件存储位置任务3-2:使用HadoopStreaming处理电商产品数据贰Streamming主要用于对文字进行处理(textprocessing),通过Streaming能够通过各种脚本语言,快速的处理大量的文本文件1HadoopStreaming简介任务3-2:使用HadoopStreaming处理电商产品数据贰2HadoopStreaming使用使用HadoopStreaming运行MapReduce程序非常简单,只需在Hadoop安装包bin目录下,在hadoop脚本后添加Streamingjar包的完整路径即可实现程序的运行hadoopjarhadoop-streaming.jar\-D="streaming_wordcount"\-Dmapred.map.tasks=3\-Dmapred.reduce.tasks=3\-Dmapred.job.priority=3\-input/input/\-output/output/\-mapperpythonmapper.py\-reducerpythonreducer.py\-file./mapper.py\-file./reducer.py:作业名称;mapred.map.tasks:map任务数量;mapred.reduce.tasks:reduce任务数量;mapred.job.priority:作业优先级;-input:在HDFS上的作业输入路径,支持通配符,支持多个文件;-output:在H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论