日志分析


scala> import org.apache.spark.sql.types._
scala> import org.apache.spark.sql.Rowscala> 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>:21val 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)里面的继续切分

转载于:https://www.cnblogs.com/wujiadong2014/p/6516658.html

spark SQL学习(综合案例-日志分析)相关推荐

  1. Spark学习笔记(7)---Spark SQL学习笔记

    Spark SQL学习笔记 Spark SQL学习笔记设计到很多代码操作,所以就放在github, https://github.com/yangtong123/RoadOfStudySpark/bl ...

  2. 左外连接Left-Outer-Join的基于SQL,MapReduce,sparkRDD,sparkDataFrame以及spark SQL的实现案例及对比

    提示:阅读本文需要部分java,scala,spark,sql的基础. 文章目录 前言 一.什么是join操作? 二.有那些常见的join的类型? 三.使用SQL实现左外连接: 1.数据准备 2.实现 ...

  3. Oracle数据库——PL/SQL程序设计综合案例

    一.程序设计方法 1.瀑布模型 2.SQL 语句 3.变量: 初始值是多少 最终值如何得到 二.综合案例 1.综合案例1 统计每年入职的员工人数 /*SQL语句select to_char(hired ...

  4. 【Elastic Stack学习】ELK日志分析平台(一)ELK简介、ElasticSearch集群

    * ELK简介: ELK是Elasticsearch . Logstash.Kibana三个开源软件的缩写.ELK Stack 5.0版本之后新增Beats工具,因此,ELK Stack也改名为Ela ...

  5. spark SQL学习(认识spark SQL)

    spark SQL初步认识 spark SQL是spark的一个模块,主要用于进行结构化数据的处理.它提供的最核心的编程抽象就是DataFrame. DataFrame:它可以根据很多源进行构建,包括 ...

  6. JVM学习笔记-GC日志分析(对象优先在Eden区分配)

    前言 在进行GC日志分析前,先了解一下JVM虚拟机运行时数据区的主要划分: Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域 有各自的用途,以及创建和销毁 ...

  7. spark代码连接hive_spark SQL学习(spark连接hive)

    spark 读取hive中的数据 scala> import org.apache.spark.sql.hive.HiveContext import org.apache.spark.sql. ...

  8. spark sql 本地调试_干货 | 如何成为大数据Spark高手

    Spark是发源于美国加州大学伯克利分校AMPLab的集群计算平台,它立足于内存计算,性能超过Hadoop百倍,从多迭代批量处理出发,兼收并蓄数据仓库.流处理和图计算等多种计算范式,是罕见的全能选手. ...

  9. MOOC网站访问日志分析

    阿里云开放实验室 https://edu.aliyun.com/lab/courses 选择一个日志分析项目为例: 实验详情: 实验概述:网站访问日志是用户在访问网站服务器时产生的日志,它包含了各种原 ...

最新文章

  1. JAVA中复制数组的方法
  2. Android--制作开场动画/MediaPlayer.OnCompletionListener
  3. leetcode算法题--环形链表 II★
  4. 一致性哈希算法的基本原理
  5. 【渝粤题库】国家开放大学2021春2108刑法学(2)答案
  6. 第一章:OpenCV入门
  7. React开发(215):React中的Fragments的动机
  8. Linux中fdisk对应的c函数,linux下fdisk命令实战案例之详解
  9. 交换机的质量害死人呀!
  10. c语言定义字符数组数码管,数组数码管
  11. 《Windows编程循序渐进》——对话框应用程序
  12. 使用jprobe建设镜面层叠的原则和见解
  13. Linux系统的镜像文件下载
  14. 13行列式02---余子式与代数余子式、行列式按行(列)展开法则、行列式计算、范德蒙行列式
  15. 基于深度学习的图像文字识别技术
  16. 驾驶机动车在高速公路上倒车、逆行、穿越中央分隔带掉头的一次记6分。
  17. 5M的开源桌面整理软件,麻雀虽小,功能十分强大
  18. docker镜像(第二天)
  19. iphone功率测试软件,iPhone原装5W充电头充电功率测试
  20. python装饰器带参数函数二阶导数公式_SICP Python 描述 1.6 高阶函数

热门文章

  1. 理解进化的五座“桥”
  2. CES 2020前瞻:一份最全的趋势预测报告
  3. 正面交锋!另类“竞赛”探索大脑的意识起源
  4. 小脑过度活跃,会引起整个大脑的问题
  5. DeepMind 综述深度强化学习:智能体和人类相似度竟然如此高!
  6. 白宫启动AI.GOV计划,呼吁各界携手共同推进AI发展
  7. 工业4.0进行时:未来协作方式的变革
  8. 上帝的指纹——分形与混沌
  9. 让机器听懂世界,触及人类梦想还有多远?
  10. 发明 AI 吵架神器?程序员对象这么厉害的吗?