spark SQL学习(综合案例-日志分析)

大数据开发-Spark-RDD实操案例-http日志分析 1.在生产环境下,如何处理配置文件 && 表的数据处理 配置文件,或者配置表,一般是放在在线db,比如mysql等关系型数据库,或者后台rd直接丢给你一份文件,数据量比起整个离线数据仓库的大表来说算很小,所以这种情况下,一般的做法是将小表,或者小文件广播出去,那么下面一个例子来看,广播表的使用解决ip地址映射问题 数据地址:链接:https://pan.baidu.com/s/1FmFxSrPIynO3udernLU0yQ提取码:hell 2.日志分析案例1 2.1 数据说明 http.lo 阅读详情

 

日志分析


scala> import org.apache.spark.sql.types._
scala> import org.apache.spark.sql.Row


scala> val logRDD = sc.textFile("hdfs://master:9000/student/2016113012/data/log.txt").map(_.split("#"))
logRDD: org.apache.spark.rdd.RDD[Array[String]] = MapPartitionsRDD[2] at map at <console>:21


val schema = StructType(
    Array(
        StructField("ipAddress",StringType,true),
        StructField("clientIndentd",StringType,true),
        StructField("userId",StringType,true),
        StructField("dateTime",StringType,true),
        StructField("protocal",StringType,true),
        StructField("responseCode",StringType,true),
        StructField("contentSize",IntegerType,true)

    )

)


val rowRDD = logRDD.map(p => Row(p(0),p(1),p(2),p(3),p(4),p(5),p(6).toInt))
val logDF = sqlContext.createDataFrame(rowRDD,schema)
logDF.registerTempTable("logs")

//统计访问文件大小的平均值,最大值,最小值
scala> sqlContext.sql("select avg(contentSize),min(contentSize),max(contentSize) from logs").show()
17/03/07 17:04:20 INFO ParseDriver: Parsing command: select avg(contentSize),min(contentSize),max(contentSize) from logs
17/03/07 17:04:20 INFO ParseDriver: Parse Completed
17/03/07 17:04:21 INFO FileInputFormat: Total input paths to process : 1
17/03/07 17:04:22 INFO deprecation: mapred.tip.id is deprecated. Instead, use mapreduce.task.id
17/03/07 17:04:22 INFO deprecation: mapred.task.id is deprecated. Instead, use mapreduce.task.attempt.id
17/03/07 17:04:22 INFO deprecation: mapred.task.is.map is deprecated. Instead, use mapreduce.task.ismap
17/03/07 17:04:22 INFO deprecation: mapred.task.partition is deprecated. Instead, use mapreduce.task.partition
17/03/07 17:04:22 INFO deprecation: mapred.job.id is deprecated. Instead, use mapreduce.job.id
+------+----+----+
|   _c0| _c1| _c2|
+------+----+----+
|3506.0|2000|5554|
+------+----+----+

//统计响应代码的数量
scala> sqlContext.sql("select responseCode,count(*) from logs group by responseCode").show()
17/03/07 17:52:26 INFO ParseDriver: Parsing command: select responseCode,count(*) from logs group by responseCode
17/03/07 17:52:26 INFO ParseDriver: Parse Completed
+------------+---+                                                              
|responseCode|_c1|
+------------+---+
|         304|  1|
|         200|  2|
+------------+---+

//统计大于1次的ip地址
scala> sqlContext.sql("select ipAddress,count(1) as total  from logs group by ipAddress having total > 1").show()
17/03/07 17:55:20 INFO ParseDriver: Parsing command: select ipAddress,count(1) as total  from logs group by ipAddress having total > 1
17/03/07 17:55:20 INFO ParseDriver: Parse Completed
+----------+-----+                                                              
| ipAddress|total|
+----------+-----+
|10.0.0.153|    3|
+----------+-----+


问题:如何将p(4)里面的继续切分

使用Apache Spark在Java中进行日志分析 Apache Spark 是一个分布式计算框架,适用于单机或集群环境。它通过内存计算和优化执行图显著提高了数据处理速度。Spark SQL:用于结构化数据处理和 SQL 查询。MLlib:用于机器学习。GraphX:用于图处理。:用于流数据处理。RDD(弹性分布式数据集):底层的分布式数据集,提供了容错性和并行性。Dataset 和 DataFrame:更高层次的 API,适合结构化数据处理。在本文中,我们将使用 Dataset API 处理文本数据,展示 Spark 在日志分析中的应用。 阅读详情

相关推荐

Hadoop+Spark构建大数据日志分析平台的完整指南

随着互联网的快速发展,各类系统产生的日志数据量呈爆炸式增长。这些日志数据蕴含着丰富的信息,如用户行为、系统运行状态等。对这些日志数据进行有效的分析,可以帮助企业做出更明智的决策,提升系统性能和用户体验。本指南的目的是帮助读者利用Hadoop和Spark构建一个高效、可扩展的大数据日志分析平台,涵盖从数据采集、存储、处理到分析的全过程。

AI天才研究院 1396

Spark SQL 下DateFrame的初步认识(2)

1,使用Java和Scala实战RDD和DataFrame1,Java 方式实战RDD与DataFrame的转换

吾心光明 1316

基于Spark Streaming的实时日志分析系统实践 Spark Streaming 在数据平台日志解析功能的应用

前言 目前业界基于 Hadoop 技术栈的底层计算平台越发稳定成熟,计算能力不再成为主要瓶颈。 多样化的数据、复杂的业务分析需求、系统稳定性、数据可靠性, 这些软性要求, 逐渐成为日志分析系统面对的主要问题。2018 年线上线下融合已成大势,苏宁易购提出并践行双线融合模式,提出了智慧零售的大战略,其本质是数据驱动,为消费者提供更好的服务, 苏宁日志分析系统作为数据分析的第一环节,为数据运营打下了坚实基础。 数据分析流程与架构介绍业务背景 苏宁线上、线下运营人员,对数据分析需求多样化、时效性要求越来越高

bcdk1188的博客 2459

使用Spark进行CDN日志分析

本节主要讲解【CDN日志分析】这个实例,讲解2018大数据行业发展趋势,重点领域应用。同时以【CDN日志分析】为案例出发讲解了Spark开发流程及实践。从多角度完善分享大数据开发流程。

Spark SQL 与 DataFrame 应用案例

Spark SQL是 Spark 处理结构化和半结构化数据的组件;提供了SQL 查询和两种编程方式;支持多种数据源:Hive、Parquet、JSON、JDBC、CSV 等;底层基于Catalyst 优化器和Tungsten 执行引擎,性能远优于传统 MapReduce + Hive。DataFrame是一个分布式的数据集合,类似于数据库中的表;每一列有名称和类型;支持 SQL 查询与函数式编程操作。Spark SQL提供 SQL 查询接口,适合数据分析师和 BI 应用;

X2829352498的博客 214

电商日志分析项目:Hadoop + Hive + Spark SQL

通过的技术栈,电商平台可以高效存储与处理海量日志,进行多维度数据分析,从而实现数据驱动的精细化运营。还可以结合Flink 实时流处理,实现实时大屏与实时推荐。

X2829352498的博客 1068

Spark日志分析案例

文章目录绪论1、原理2、生成数据3、PV和UV4、代码 绪论   学大数据的初衷就是在海量的数据中挑选出我们需要的有价值的数据。今天这个例子就是模仿这个场景。海量数据下如何筛选并计算出我们需要的数据???   前提:500w条记录环境下(可以更多,视计算机性能而定),统计每天最热门的top3板块。 1、原理 2、生成数据   我模仿的数据结构是:UUID  用户id  时间戳  页面id   模...

背着梦的幸存者 4190

SparkSQL日志分析用户行为日志

以慕课网日志分析为例 进入大数据 Spark SQL 的世界用户行为日志加浏览器用户行为日志

5个Spark应用实例

Spark简介: Spark是UC Berkeley AMP lab开发的一个集群计算的框架,类似于Hadoop,但有很多的区别。最大的优化是让计算任务的中间结果可以存储在内存中,不需要每次都写入HDFS,更适用于需要迭代的MapReduce算法场景中,可以获得更好的性能提升。 例如一次排序测试中,对100TB数据进行排序,Spark比Hadoop快三倍,并且只需要十分之一的机器。Spa...

alss13237的博客 1575

Spark SQL 日志处理实战,日志文件20000行

Spark SQL 日志处理实战,日志文件20000行;Spark SQL 日志处理实战,日志文件20000行;

【Solidworks学习使用(1)__2022版本保姆级安装方法】

Solidworks 2020安装

coder-kimbell的博客 6272

Spark SQL实战:大数据分析的必备技能

在当今数字化时代,大数据的规模呈爆炸式增长,如何高效地处理和分析这些海量数据成为了企业和研究机构面临的重要挑战。Spark SQL作为Apache Spark生态系统中的一个重要组件,为大数据分析提供了一种简单、高效的方式。本文的目的在于详细介绍Spark SQL的原理、使用方法和实际应用,帮助读者掌握这一大数据分析的必备技能。范围涵盖了Spark SQL的核心概念、算法原理、数学模型、项目实战、应用场景等多个方面。本文将按照以下结构进行组织:首先介绍Spark SQL的核心概念与联系,包括其原理和架构;

专注搜索引擎技术 1204

aubo i5 + realsense D435i识别抓取实践二

aubo i5 + realsense D435i识别抓取实践二前言一、手眼标定是什么?二、标定软件安装1.aruco_ros安装2.vision_visp安装3.easy_handeye安装4.realsense驱动安装5.安装realsense ROS软件包三、配置1.launch文件修改2.打印二维码四、手眼标定1.启动launch文件2.标定步骤3.发布tf关系 前言 前面配置好了aubo机械臂的ROS软件包,机械臂可以正常运行后,接下来我们进行机械臂与相机的手眼标定。手眼标定分为eye_on_ha

转角 6377

滚雪球学MySQL[11.2讲]:MySQL未来学习方向:大数据、云计算与迁移路径

在上一期内容中,我们进行了课程回顾,系统整理了前几期中所学习的MySQL管理和优化的各项知识。从数据库设计、优化到性能调优,我们已经建立起了对MySQL系统管理的全面理解。然而,随着科技的发展和应用场景的变化,数据库的未来发展方向也逐渐延伸到了更广阔的领域,尤其是在大数据、云计算的快速普及下,MySQL也在不断演变以应对新的挑战。本期我们将重点探讨未来的学习方向,深入分析MySQL在大数据、云计算中的应用,以及在某些场景下从MySQL迁移到其他数据库系统的替代方案。

**My Coding Family** 2611

3dsMax高效导入OSGB倾斜模型的3个关键步骤与插件应用

本文详细解析了在3dsMax中高效导入OSGB倾斜模型的三个核心步骤:建立索引、处理贴图路径以及选择合适的插件。针对导入过程中常见的模型崩溃、贴图丢失和操作卡顿问题,提供了从数据结构理解到插件选型的实战解决方案,帮助用户实现大规模实景模型在3dsMax中的流畅导入与编辑。

weixin_29238147的博客 472

SIMetrix教程-001.SIMetrix软件简介与安装

  由于某些原因需要用到SIMetrix仿真软件,然而网上的资料并不是特别多,故在此记录一下这款仿真软件的学习过程,也给有需要的人提供一些参考,免走弯路。如果使用过Pspice或者LTspice软件,学习SIMetrix会很容易入门,仿真软件都是大同小异的,会一样后都可以快速入门其他软件。   SIMetrix是一款以SPICE模型为基础的仿真软件,集成了SIMetrix和SIMPLIS两款内核,为工程师提供了可靠的、易于使用的、并完美结合了速度与精度的电路仿真方式。官方的话不多说,和LTspice一样,优

gaoyong_wang的博客 2万+

Spark助力大数据领域的日志分析

在数字化时代,日志数据作为系统运行状态的“数字指纹”,承载着用户行为、系统性能、安全事件等关键信息。面对日均TB级甚至PB级的日志规模,传统单机处理工具已无法满足实时性与扩展性需求。Apache Spark凭借其分布式内存计算框架和丰富的生态组件,成为大数据日志分析的首选技术栈。日志数据的分布式采集与预处理结构化/非结构化日志的高效解析与清洗实时流处理与离线批量分析的融合应用基于日志数据的统计分析与机器学习建模系统性能优化与资源调度策略。

专注搜索引擎技术 826

Figma汉化教程

Figma汉化教程

cc蒲公英的博客 1万+

大数据实战手册-开发篇之spark实战案例:实时日志分析

2.6 spark实战案例:实时日志分析 2.6.1 交互流程图 2.6.2 客户端监听器(java) @SuppressWarnings("static-access") private void handleSocket() { lock.lock(); Writer writer = null; RandomAccessFile ...

Y1551880的博客 621

ANSYS MAXWELL内置式永磁同步电机(IPMSM)转矩最大时输入电流相位的确定

1.在转子转速为零时看一个周期内的转矩变化

qq_41752507的博客 6519

Anaconda镜像源切换全攻略:从清华源到恢复默认设置的完整流程

本文详细介绍了Anaconda镜像源的管理与优化,重点讲解了如何配置清华源以提升国内下载速度。内容涵盖镜像源工作原理、清华源详细配置步骤、多源管理策略、常见问题排查以及如何安全恢复默认设置,帮助用户构建完整的镜像源管理体系。

weixin_28828243的博客 1022

Spark学习五:spark sql

Spark学习五:spark sql标签(空格分隔): SparkSpark学习五spark sql 一概述 二Spark的发展历史 三Spark sql和hive对比 四spark sql 架构 五sprk sql访问hive数据 六catalyst 七thriftserver 八Dataframe 九加载外部数据源 Spark SQL强大诞生了 一,概述:二,Spark的发展历史三,Spark

youfashion的博客 3824

仿真学习系列(二):ADS仿真直观理解方波与频谱分量的关系

在高速电路设计中,我们常常听到一句话:“信号其实不是电压在传输,而是频率在传播。” 这句话看似抽象,却揭示了信号世界的核心本质——任何时域波形,都可以被拆解为一系列不同频率的正弦波。 那么,一个看似简单的方波,究竟由哪些频率成分组成?为什么在示波器上,有的方波上升沿又快又“方”,而有的却“圆润”得多?这些差异背后,隐藏的正是高频分量的力量。 本文将通过使用 Keysight ADS,从零搭建仿真电路,直观地观察方波与其谐波成分之间的关系。

案例文章,高速信号 815

5分钟上手Spark日志分析:reference-apps快速运行你的第一个程序

想快速体验**Spark日志分析**却不知道从哪开始?本文为你带来一份零基础**Spark日志分析入门**指南,手把手教你利用开源项目 **reference-apps** 中的日志分析示例(Logs Analyzer),在5分钟内编译、运行你的第一个**Spark日志分析程序**,实时监控 Apache 访问日志并自动生成统计报表。 [![Spark日志分析应用架构图:日志数据流入分析应用并输

gitblog_00345的博客 957

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: spark SQL学习(案例-统计每日uv)
下一篇: OpenTSDB使用/ API / query进行数据查询的java实现
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值