1 准备数据源

文件格式: 
访问时间\t用户ID\t[查询词]\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击URL 
数据文件越大越好,至少100万行

2 启动任务

./spark-shell --master spark://shulaibao2:7077 --executor-memory 512m --driver-memory 4540m

内存根据服务器内存大小

3 执行任务

  • 加载hdfs数据源到SparkContext->HaddopRDD
val rdd1 = sc.textFile("hdfs://shulaibao2:9010/home/hadoop/upload/test/sougou/SogouQ1.txt")
  • MappedRDD->FilterRdd
val rdd1 = sc.textFile("hdfs://shulaibao2:9010/home/hadoop/upload/test/sougou/SogouQ1.txt")
val rdd2=rdd1.map(_.split("\t")).filter(_.length==6)

数据结构: Array[Array[String]] = Array(Array(20111230000005, 57375476989eea12893c0c3811607bcf, wolf, 1, 1, http://www.qiyi.com/), Array(20111230000005, 66c5bb7774e31d0a22278249b26bc83a, json, 3, 1, http://www.booksky.org/BookDetail.aspx?BookID=1050804&Level=1))

  • Shuffle
val rdd3 = rdd2.map(x=>(x(1),1))

**数据结构:**Array([(String, Int)]),数组从0开始索引,Tupple从1开始索引 
Array:array(0)元素同类型 元素值可变 
List:list(1) 元素同类型 元素值不可变 
Tupple:t._1 元素可不同类型 元素值不可变

Val rdd4 = rdd3.reduceByKey(_+_).map(x=>(x._2,x._1)). sortByKey(false).map(x=>(x._2,x._1))
  • 保存结果
rdd4.saveAsTextFile("hdfs://shulaibao2:9010/home/hadoop/upload/test/sougou/result1.out")
hadoop fs -ls /home/hadoop/upload/test/sougou
  • 合并节点
hdfs dfs -getmerge hdfs://shulaibao2:9010/home/hadoop/upload/test/sougou/result1.out /home/hadoop/result1.out

3 大数据实战系列-spark shell分析日志的更多相关文章

  1. 《OD大数据实战》Spark入门实例

    一.环境搭建 1. 编译spark 1.3.0 1)安装apache-maven-3.0.5 2)下载并解压 spark-1.3.0.tgz 3)修改make-distribution.sh  VER ...

  2. 入门大数据---通过Flume、Sqoop分析日志

    一.Flume安装 参考:Flume 简介及基本使用 二.Sqoop安装 参考:Sqoop简介与安装 三.Flume和Sqoop结合使用案例 日志分析系统整体架构图: 3.1配置nginx环境 请参考 ...

  3. 大数据学习系列之九---- Hive整合Spark和HBase以及相关测试

    前言 在之前的大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 中介绍了集群的环境搭建,但是在使用hive进行数据查询的时候会非常的慢,因为h ...

  4. 大数据学习系列之六 ----- Hadoop+Spark环境搭建

    引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...

  5. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  6. 《OD大数据实战》驴妈妈旅游网大型离线数据电商分析平台

    一.环境搭建 1. <OD大数据实战>Hadoop伪分布式环境搭建 2. <OD大数据实战>Hive环境搭建 3. <OD大数据实战>Sqoop入门实例 4. &l ...

  7. 大数据计算新贵Spark在腾讯雅虎优酷成功应用解析

    http://www.csdn.net/article/2014-06-05/2820089 摘要:MapReduce在实时查询和迭代计算上仍有较大的不足,目前,Spark由于其可伸缩.基于内存计算等 ...

  8. 成都大数据Hadoop与Spark技术培训班

    成都大数据Hadoop与Spark技术培训班   中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师 ...

  9. 大数据实时处理-基于Spark的大数据实时处理及应用技术培训

    随着互联网.移动互联网和物联网的发展,我们已经切实地迎来了一个大数据 的时代.大数据是指无法在一定时间内用常规软件工具对其内容进行抓取.管理和处理的数据集合,对大数据的分析已经成为一个非常重要且紧迫的 ...

  10. SparkSQL大数据实战:揭开Join的神秘面纱

    本文来自 网易云社区 . Join操作是数据库和大数据计算中的高级特性,大多数场景都需要进行复杂的Join操作,本文从原理层面介绍了SparkSQL支持的常见Join算法及其适用场景. Join背景介 ...

随机推荐

  1. 升级二进制kubernetes集群

    升级二进制kubernetes集群 背景介绍 最近由于时间不足,暂时无法对小版本更新第一时间出新的文档.若需要升级集群版本,可以参考此文档进行操作,每个节点一个一个地更新.大版本更新请各位持续关注我的 ...

  2. pandas之sorting排序

    Pands 提供了两种排序方法,分别是按标签排序和按数值排序.本节讲解 Pandas 的排序操作.下面创建一组 DataFrame 数据,如下所示: import pandas as pd impor ...

  3. [Linux/CentOS]通过yum获取rpm安装包

    1 yum获取rpm安装包 有时候你需要一个软件包在离线linux系统上安装,如果自己找软件包麻烦,可以linux yum下载需要的软件包. 准备工作是找一台能够联网的linux,并准备好了yum及y ...

  4. [Linux]U盘启动盘安装CentOS7系统(LiveGNOME版)

    1 准备:工具 U盘 容量:视CentOS具体版本需要而定.推荐4G+ UltraISO(软碟通) ISO制作工具 / U盘启动盘刻录工具 2 制作:U盘启动盘 step1 下载CentOS镜像 Ce ...

  5. java LocalDateTime的使用

    1.LocalDateTime的基本使用 //获取当前时间 LocalDateTime localDateTime = LocalDateTime.now(); System.out.println( ...

  6. Shell脚本编程(二)

    Shell脚本编程(二) shell脚本编程中if.if else的使用以及一些常用到的操作符 if.if else使用方式:      1) if条件          if [ condition ...

  7. 深度学习03-(图像梯度处理、图像轮廓、图像预处理在AI中的应用)

    深度学习03-计算机视觉基本理论2 深度学习03-(计算机视觉基本理论2) 图像梯度处理 什么是图像梯度 模板运算 均值滤波 高斯滤波 中值滤波 边沿检测 锐化 图像轮廓 什么是图像轮廓 查找和绘制轮 ...

  8. 数据分析02-(pandas介绍、jupyter notebook)

    数据分析-02 数据分析-02 pandas pandas介绍 pandas核心数据结构 Series DataFrame 核心数据结构操作 复合索引 Jupyter notebook 数据加载 处理 ...

  9. 如何用 KMP 偏序 Z 函数

    KMP 算法求解字符串匹配的过程中 \(next\) 数组有着繁多的应用,主要是可以帮我们求 border. 然而用 \(s\) 串匹配 \(t\) 串产生的 \(f\) 数组应用相对较少. \(f\ ...

  10. 2021-06-17:生成长度为size的达标数组,什么叫达标?达标:对于任意的 i<k<j,满足 [i] + [j] != [k] * 2。给定一个正数size,返回长度为size的达标数组。

    2021-06-17:生成长度为size的达标数组,什么叫达标?达标:对于任意的 i<k<j,满足 [i] + [j] != [k] * 2.给定一个正数size,返回长度为size的达标 ...