数据预处理-预处理程序入口|学习笔记

简介: 快速学习数据预处理-预处理程序入口

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

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


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

 

消费kafka 数据

目标:

编写数据预处理程序的主程序入口代码

1、需求:

使用KafkaUtils.createDirectStream 消费lua 生产到kafka 的数据。

2、代码实践:

进入main 后,点击进入scala,找到项目进行数据的预处理dataprocess,之后点击launch 创建一个scala 的Object,输入DataProcessLauncher。以上是进入数据预处理程序的主程序步骤。

//数据预处理程序的主程序

object DataProcessLauncher {

//程序主入口

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

//添加日志级别设置:

在提供的材料中,common 中有一个util,util 中有一个log4j,log4j 中有一个LoggerLevels,在这里已经做好了日志级别的设置,直接用LoggerLevels 设置setStreamingLogLevels。

就可以看到

spark,kafka",spark.sql",spark.streaming"已经被设置好了。所以直接运用 LoggerLevels 就可以。

LoggerLevels.setStreamingLogLevels()

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

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

//1创建Spark conf

val conf=new SparkConf ().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))

//set 值:

在数据预处理时,kafka 的配置文件里有一个来自采集服务的原始数据,这里面source.nginx.topic 指的是前段lua 采集,再进行推送。

image.png

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

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

//真正的数据

val kafkaValue=kafkaData.map(_._2)

//读取配置文件的参数:

在common 里面有一个util ,util 里面有一个jedis,jedis 里面有一个PropertiesUtil,其中有一点 getStringByKey 需要给两个参数,一个是 key ,这个key 指的是 default.Brokers,而 value 指的是名称,也就是

kafkaConfig.properties。所以用这个方法来使用即可(两个参数)。

//5、消费数据

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

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

ssc.start()

ssc.awaitTermination()

}

}

相关文章
|
Windows
Windows系统 services.msc命令详解,Windows命令行查看本地服务
第一步、打开cmd 按下 win 键,输入 cmd 后回车,打开「命令提示符」
1583 0
Windows系统 services.msc命令详解,Windows命令行查看本地服务
|
7月前
|
人工智能 缓存 搜索推荐
1688图片搜索API接口解析与 Python实战指南
1688图片搜索API接口支持通过上传图片搜索相似商品,适用于电商及商品推荐场景。用户上传图片后,经图像识别提取特征并生成关键词,调用接口返回包含商品ID、标题和价格的相似商品列表。该接口需提供图片URL或Base64编码数据,还可附加分页与筛选参数。示例代码展示Python调用方法,调试时建议使用沙箱环境测试稳定性,并优化性能与错误处理逻辑。
|
弹性计算 Prometheus 运维
一文详解阿里云可观测体系下标签最佳实践
在当今数字化转型加速的时代,企业 IT 系统的复杂度与日俱增,如何高效地管理和监控这些系统成为了一项挑战。阿里云作为全球领先的云计算服务商,提供了一整套全面的可观测性解决方案,覆盖从业务、端侧(小程序、APP、H5 等)、应用、中间件、容器/ECS 等全栈的监控体系,旨在帮助企业构建强大而灵活的可观测性体系。其中,标签(Tag)作为一种核心组织和管理手段,在阿里云可观测体系中扮演着至关重要的角色。本文将深入探讨阿里云可观测系列产品中标签的应用,以及如何运用标签在阿里云可观测产品体系下进行体系化建设并给出相关最佳实践。
1120 197
|
自然语言处理 算法 数据可视化
NLP-基于bertopic工具的新闻文本分析与挖掘
这篇文章介绍了如何使用Bertopic工具进行新闻文本分析与挖掘,包括安装Bertopic库、加载和预处理数据集、建立并训练主题模型、评估模型性能、分类新闻标题、调优聚类结果的详细步骤和方法。
NLP-基于bertopic工具的新闻文本分析与挖掘
|
数据采集 自然语言处理 数据挖掘
【NLP-新闻文本分类】1 数据分析和探索
文章提供了新闻文本分类数据集的分析,包括数据预览、类型检查、缺失值分析、分布情况,指出了类别不均衡和句子长度差异等问题,并提出了预处理建议。
316 1
|
人工智能 测试技术 人机交互
深入浅出智能工作流(Agentic Workflow)|技术干货
著名AI学者、斯坦福大学教授吴恩达提出AI Agent的四种设计方式后,Agentic Workflow(智能体工作流)在全球范围内迅速走红,多个行业纷纷实践其应用,并推动了新的Agentic AI探索热潮。吴恩达总结了Agent设计的四种模式:自我反思、工具调用、规划设计及多智能体协作。前两者较普及,后两者则为智能体使用模式从单一大模型向多智能体协同配合完成业务流程的转变奠定了基础。
6923 3
|
机器学习/深度学习 数据采集 自然语言处理
【NLP-新闻文本分类】处理新闻文本分类所有开源解决方案汇总
汇总了多个用于新闻文本分类的开源解决方案,包括TextCNN、Bert、LSTM、CNN、Transformer以及多模型融合方法。
656 1
|
XML Linux 定位技术
Linux【工具 02】OpenStreetMap数据处理工具OSMCTools下载安装使用举例(osmconvert\osmfilter命令说明)如何获取区域边界说明
Linux【工具 02】OpenStreetMap数据处理工具OSMCTools下载安装使用举例(osmconvert\osmfilter命令说明)如何获取区域边界说明
983 0
|
数据可视化 安全 数据挖掘
「教程」天气预警 API 详解:申请密钥到接入代码一气呵成!
天气预警 API 作为一种新型的数据接口,为开发者和应用提供了方便的获取天气预警数据的方式。通过该 API ,可以获取指定城市当前生效中的各类天气预警信息,例如暴雨、雷电、台风等。预警数据来自国家预警中心,保证了数据的高质量和实时性。
1137 0
|
机器学习/深度学习 人工智能 文字识别
【前沿技术RPA】 一文学会用UiPath实现PDF自动化——锚点基准活动
UiPath在传统的RPA(Robotic process automation)的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。
【前沿技术RPA】 一文学会用UiPath实现PDF自动化——锚点基准活动