日志文件数据格式:

这里我们发现每条信息都有“”冒号的包裹,不利于我们分析,所以我们要对其进行简单的清洗去除冒号
UDF函数是对数据进行一进一出的操作,所以自定义UDF函数来实现
代码:
object Test02 {
def main(args: Array[String]): Unit = {
// spark配置文件
val sparkConf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("test02")
// sparkSQL的运行环境
val spark: SparkSession = SparkSession.builder().config(sparkConf).getOrCreate()
// 使用sparkSQL读取log文件,可以将它当做text文件读取
val df: DataFrame = spark.read.text("datas/moodle.zhiyou100.access.log")
// 查看spark内核对文件数据的解析,这里只是看做一个string字符串
df.printSchema()
// 自定义UDF函数,UDF函数实现的是一对一数据操作,所以这里可以定义实现去除日志中的“
spark.udf.register("delet",(x:String) => x.replace("\"",""))
// 必须创建临时表才能使用sparkSQL
df.createOrReplaceTempView("log")
// 使用spar

该博客介绍了如何使用Spark处理日志文件,通过自定义UDF函数删除每条信息中包围的冒号,然后展示清洗过程,使用SparkSQL进行查询,并将清洗后的数据保存为TXT格式。
最低0.47元/天 解锁文章
1029

被折叠的 条评论
为什么被折叠?



