预处理及识别代码架构介绍|学习笔记

简介: 快速学习预处理及识别代码架构介绍

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建):预处理及识别代码架构介绍】学习笔记与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/670/detail/11630


数据预处理-预处理程序入口优化

 

数据预处理-预处理程序入口优化

1、数据预处理程序的主程序

object DataProcessLauncher {

//程序主入口

def main(args: Array[String]): Unit ={

//添加日志级别设置

LoggerLevels.setStreamingLogLevels()

//当应用停止的时候,进行如下设置可以保证当批次执行之后再停止应用。

System.setProperty("spark.streaming.stopGracefullyOnShutdown","true")

//1创建 Spark conf

valconf=newSparkConf().setAppName

("DataProcess").setMaster(local[2])

//开启日志监控功能

.set("spark.metrics.conf.executor.source.jvm.class",

org.apache.spark.metrics.source.JvmSource")//开启集群监控功能

//2、创建SparkContext

val sc=new SparkContext(conf)

//3、创建streaming Context

val ssc=new StreamingContext(sc,Seconds(2))

//4、读取kafka 内的数据ssc,kafkaParams,topics)

//jssc: JavaStreamingContext,

//kafkaParams: JMap[String, String],

//topics: JSet[String]

valkafkaParams=Map("bootstrap.servers

"->PropertiesUtil.getstringBykey(key="default.brokers,propName = "kafkaConfig.properties"))

valtopics=Set(PropertiesUtil.getStringByKey(key=source.nginx.topic,propName=kafkaConfig.properties))

//接收kafka 的数据(key,value)

KafkaUtils.createDirectStream[String,String,

StringDecoder,StringDecoder](ssc,kafkaParams,topics)

//真正的数据

val kafkaValue=kafkaData.map(_._2)

//5、消费数据

kafkaValue.foreachRDD(rdd=>rdd.foreach(println))

//数据预处理的程序

Val ssc=setupSsc(sc,kafkaParams,topics)

//6、开启 streaming 任务+开启循环

ssc.start()

ssc.awaitTermination()

}

}

2、数据预处理的程序

defsetupSsc(ssc:SparkContext,kafkaParams:Map[String, String], topics: set[String]):StreamingContext = {

//3、创建 streaming Context

val ssc=new StreamingContext(sc,Seconds(2))

//4、读取kafka 内的数据ssc,kafkaParams,topics)

//jssc: JavaStreamingContext,

//kafkaParams: JMap[String, String],

//topics: JSet[String]

valkafkaParams=Map("bootstrap.servers

"->PropertiesUtil.getstringBykey(key="default.brokers,propName = "kafkaConfig.properties"))

valtopics=Set(PropertiesUtil.getStringByKey(key

=source.nginx.topic,propName=kafkaConfig.properties))

//接收kafka 的数据(key,value)

KafkaUtils.createDirectStream[String,String,StringDecoder,StringDecoder](ssc,kafkaParams,topics)

//真正的数据

val kafkaValue=kafkaData.map(_._2)

//5、消费数据

kafkaValue.foreachRDD(rdd=>rdd.foreach(println))

Ssc

}

将以上代码进行运行。

相关文章
|
2天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
124 0
|
2天前
|
存储 设计模式 数据库
字节3-1大佬分享:字节跳动代码架构设计
字节3-1大佬分享:字节跳动代码架构设计
13 0
|
2天前
|
前端开发 开发者
【专栏】BEM(Block-Element-Modifier)是一种前端命名规范和架构方法,旨在创建清晰、可维护的代码结构。
【4月更文挑战第29天】BEM(Block-Element-Modifier)是一种前端命名规范和架构方法,旨在创建清晰、可维护的代码结构。它包括Block(独立功能单元)、Element(Block的子元素)和Modifier(表示状态或变体)。BEM的特点包括命名一致性、模块化设计、清晰结构和可复用性,适用于代码组织、样式管理、组件化开发和团队协作。虽然命名较长和学习成本是其局限性,但BEM在提升代码质量和效率方面具有显著优势,是前端开发的重要工具。
|
2天前
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
|
2天前
|
缓存 监控 算法
Python性能优化面试:代码级、架构级与系统级优化
【4月更文挑战第19天】本文探讨了Python性能优化面试的重点,包括代码级、架构级和系统级优化。代码级优化涉及时间复杂度、空间复杂度分析,使用内置数据结构和性能分析工具。易错点包括过度优化和滥用全局变量。架构级优化关注异步编程、缓存策略和分布式系统,强调合理利用异步和缓存。系统级优化则涵盖操作系统原理、Python虚拟机优化和服务器调优,需注意监控系统资源和使用编译器加速。面试者应全面理解这些层面,以提高程序性能和面试竞争力。
21 1
Python性能优化面试:代码级、架构级与系统级优化
|
2天前
|
程序员 Python
类的设计奥秘:从代码到架构的科普全解
类的设计奥秘:从代码到架构的科普全解
14 2
|
2天前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
73 1
|
2天前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
240 0
|
2天前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
795 0
|
2天前
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
50 1