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. LLaMA:开放和高效的基础语言模型

    LLaMA:开放和高效的基础语言模型 论文:https://arxiv.org/pdf/2302.13971.pdf 代码:https://github.com/facebookresearch/ll ...

  2. sip消息拆包原理及组包流程

    操作系统 :CentOS 7.6_x64      freeswitch版本 :1.10.9 sofia-sip版本: sofia-sip-1.13.14   freeswitch使用sip协议进行通 ...

  3. 6.理解Jwt代码

    1.昨天主要是对Jwt的代码里面不熟悉的代码进行了简要的理解,发现其实有些流程并不是普通程序员自己写的,而是自己进行拓展,这些流程是开源程序员写的开发流程:我发现这些代码一般要么是父类的方法实现,要么 ...

  4. pandas技巧

    1. 计算月初.2022-05-03 得到2022-05-01 df['month']=df['purchase_date'].apply(lambda x : x.replace(day=1))

  5. 会使用ChatGPT写作业找工作会不会加分啊!!!代码问题直接问ChatGPT不比CSDN好多了吗

    1.使用reactnative写一个数字游戏 2.MySQL问题

  6. CSS页面布局方式

    css页面布局方式 1.标准流 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  7. 在Linux上安装redis7

    1.检测虚拟机环境 1.1 bit检测命令:getconf LONG_BIT(建议使用64bit做开发) 1.2 gcc环境检测:gcc -v 如果不具备gcc环境,则使用yum -y install ...

  8. [OpenCV-Python] 13 颜色空间转换

    文章目录 OpenCV-Python:IV OpenCV中的图像处理 13 颜色空间转换 13.1 转换颜色空间 13.2 物体跟踪 13.3 怎样找到要跟踪对象的 HSV 值? OpenCV-Pyt ...

  9. Windows下cygwin编译redis源码

    准备环境 安装cygwin64 下载地址:https://www.cygwin.com/运行安装程序,一直下一步选择阿里镜像,目前试过163,会比阿里慢需要选择的包有make.pkg-config.p ...

  10. #Python基础 pandas索引设置

    一:XMIND 二:设置索引 示例数据,假设我们有一个DataFrame对象,如下: import pandas as pd df = pd.DataFrame({ "name": ...