当前位置: 首页 > news >正文

北京公司网站建设报价/百度指数的网址是什么

北京公司网站建设报价,百度指数的网址是什么,wordpress 豆瓣插件,商贸有限公司网站案例一.查找需要清洗的文件 1.1查看hadoopnamenode-log文件位置 1.2 开启Hadoop集群和Hive元数据、Hive远程连接 具体如何开启可以看我之前的文章:(10条消息) SparkSQL-liunx系统Spark连接Hive_难以言喻wyy的博客-CSDN博客 1.3 将这个文件传入到hdfs中: hd…

一.查找需要清洗的文件

1.1查看hadoopnamenode-log文件位置

 1.2 开启Hadoop集群和Hive元数据、Hive远程连接

具体如何开启可以看我之前的文章:(10条消息) SparkSQL-liunx系统Spark连接Hive_难以言喻wyy的博客-CSDN博客

 1.3 将这个文件传入到hdfs中:

hdfs dfs -put hadoop-root-namenode-gree2.log   /tmp/hadoopNamenodeLogs/hadooplogs/hadoop-root-namenode-gree2.log

二.日志分析

将里面部分字段拿出来分析:

 2023-02-10 16:55:33,123 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]
2023-02-10 16:55:33,195 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: createNameNode []
2023-02-10 16:55:33,296 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
2023-02-10 16:55:33,409 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled Metric snapshot period at 10 second(s).

可以看出其可以以INFO来作为中间字段,用indexof读取出该位置索引,以截取字符段的方式来将清洗的数据拿出。

三.代码实现

3.1 对数据进行清洗

object hadoopDemo {def main(args: Array[String]): Unit = {val spark: SparkSession = SparkSession.builder().master("local[*]").appName("HadoopLogsEtlDemo").getOrCreate()val sc: SparkContext = spark.sparkContextimport spark.implicits._import org.apache.spark.sql.functions._
//    TODO 根据INFO这个字段来对数据进行封装到Row中。val row: RDD[Row] = sc.textFile("hdfs://192.168.61.146:9000/tmp/hadoopNamenodeLogs/hadooplogs/hadoop-root-namenode-gree2.log").filter(x => {x.startsWith("2023")}).map(x => {val strings: Array[String] = x.split(",")val num1: Int = strings(1).indexOf(" INFO ")val num2: Int = strings(1).indexOf(":")if(num1!=(-1)){val str1: String = strings(1).substring(0, num1)val str2: String = strings(1).substring(num1 + 5, num2)val str3: String = strings(1).substring(num2 + 1, strings(1).length)Row(strings(0), str1, "INFO",str2, str3)}else {val num3: Int = strings(1).indexOf(" WARN ")val num4: Int = strings(1).indexOf(" ERROR ")if(num3!=(-1)&&num4==(-1)){val str1: String = strings(1).substring(0, num3)val str2: String = strings(1).substring(num3 + 5, num2)val str3: String = strings(1).substring(num2 + 1, strings(1).length)Row(strings(0), str1,"WARN", str2, str3)}else{val str1: String = strings(1).substring(0, num4)val str2: String = strings(1).substring(num4 + 6, num2)val str3: String = strings(1).substring(num2 + 1, strings(1).length)Row(strings(0), str1,"ERROR", str2, str3)}}})val schema: StructType = StructType(Array(StructField("event_time", StringType),StructField("number", StringType),StructField("status", StringType),StructField("util", StringType),StructField("info", StringType),))val frame: DataFrame = spark.createDataFrame(row, schema)frame.show(80,false)}}

清洗后的效果图:

 

3.2  创建jdbcUtils来将其数据导入到数据库:

object jdbcUtils {val url = "jdbc:mysql://192.168.61.141:3306/jsondemo?createDatabaseIfNotExist=true"val driver = "com.mysql.cj.jdbc.Driver"val user = "root"val password = "root"val table_access_logs: String = "access_logs"val table_full_access_logs: String = "full_access_logs"val table_day_active:String="table_day_active"val table_retention:String="retention"val table_loading_json="loading_json"val table_ad_json="ad_json"val table_notification_json="notification_json"val table_active_background_json="active_background_json"val table_comment_json="comment_json"val table_praise_json="praise_json"val table_teacher_json="teacher_json"val properties = new Properties()properties.setProperty("user", jdbcUtils.user)properties.setProperty("password", jdbcUtils.password)properties.setProperty("driver", jdbcUtils.driver)def dataFrameToMysql(df: DataFrame, table: String, op: Int = 1): Unit = {if (op == 0) {df.write.mode(SaveMode.Append).jdbc(jdbcUtils.url, table, properties)} else {df.write.mode(SaveMode.Overwrite).jdbc(jdbcUtils.url, table, properties)}}def getDataFtameByTableName(spark:SparkSession,table:String):DataFrame={val frame: DataFrame = spark.read.jdbc(jdbcUtils.url, table, jdbcUtils.properties)frame}}

3.3 数据导入

jdbcUtils.dataFrameToMysql(frame,jdbcUtils.table_day_active,1)

http://www.lbrq.cn/news/1421893.html

相关文章:

  • 天河建设网站企业/seo黑帽培训
  • 最佳线上网站制作模板/磁力链搜索引擎入口
  • 网站程序源码/线上营销推广方法
  • 用网站做的简历模板/品牌推广方案包括哪些
  • 兰州产品营销网站建设/唐山公司做网站
  • 杭州的设计网站大全/游戏推广合作平台
  • 网站推广怎么做2017/百度关键词排名查询接口
  • 上海做网站的公司/怎样做推广是免费的
  • wordpress没有找到站点/搜索排名
  • 阳谷县住房建设委网站/深圳广告策划公司
  • 网站创建方案怎么写/seo综合
  • 公司网站制作步骤/上海优化网站
  • 北京网站seo收费标准/新疆疫情最新情况
  • 仙居做网站的/电商运营怎么做如何从零开始
  • 网络宣传网站建设定制/网络营销的基本职能
  • 深圳网站官网建设方案/郑州网站营销推广
  • 商城网站上做内容冲突吗/短视频培训课程
  • 网站开发要/360免费建站教程
  • 靳刘高设计公司官网/seo建站系统
  • 山楼小院在哪家网站做宣传/北京网站sem、seo
  • wordpress类似头条主题/上海企业优化
  • 最新科技新闻消息/西安seo优化推广
  • 奉化网站建设/百度关键词排名优化工具
  • 做网站的职位/小红书推广策略
  • 怎么免费自己做网站/优化营商环境工作总结
  • 中国建设部官方网站证件查询/云建站
  • 直播网站的建设/郑州互联网公司排名
  • 美女直接做的网站/学企业管理培训班
  • 网站开发的理解/杭州百度推广代理商
  • BBS推广网站的步骤/百度总部投诉电话
  • 模式匹配自动机全面理论分析
  • Vue组件生命周期钩子:深入理解组件的生命周期阶段
  • 【C++】动态内存管理
  • Ubuntu2204server系统安装后的初始化配置报错
  • 数据结构——顺序表单链表oj详解
  • 大模型幻觉涉及的违约责任探讨