文章来自:http://www.cnblogs.com/hark0623/p/4172462.html   转发请注明

object LogicHandle {
def main(args: Array[String]) {
//添加这个不会报执行错误
val path = new File(".").getCanonicalPath()
System.getProperties().put("hadoop.home.dir", path);
new File("./bin").mkdirs();
new File("./bin/winutils.exe").createNewFile(); //val sparkConf = new SparkConf().setAppName("SensorRealTime").setMaster("local[2]")
val sparkConf = new SparkConf().setAppName("SensorRealTime") val ssc = new StreamingContext(sparkConf, Seconds(20)) val hostname = "localhost"
val port = 2345
val storageLevel = StorageLevel.MEMORY_ONLY
val flumeStream = FlumeUtils.createStream(ssc, hostname, port, storageLevel) val lhc = new LogicHandleClass(); //日志格式化模板
val sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
val sdfHour = new SimpleDateFormat("HH");
val sdfMinute = new SimpleDateFormat("mm") //存储数据的hash对象 key/value存储 根据文档规则,使用各统计指标的key/value
var redisMap = new HashMap[String, String]

  
    
flumeStream.foreachRDD(rdd => {
val events = rdd.collect()
//println("event count:" + events.length)
var i = 1
for (event <- events) {
val sensorInfo = new String(event.event.getBody.array()) //单行记录
//单行记录格式化
val arrayFileds = sensorInfo.split(",")
if (arrayFileds.length == 6) {
val shopId = arrayFileds(0) //店内编号 val floorId = shopId.substring(0, 5) //楼层编号
val mac = arrayFileds(1)
val ts = arrayFileds(2).toLong //时间戳
val time = sdf.format(ts * 1000)
var hour = sdfHour.format(ts * 1000)
var minute = sdfMinute.format(ts * 1000)
var allMinute = hour.toInt * 60 + minute.toInt val x = arrayFileds(3)
val y = arrayFileds(4)
val level = arrayFileds(5) //后边就是我的业务代码了,省略了
}
} //存储至redis中
lhc.SetAll(redisMap)
}) ssc.start()
ssc.awaitTermination()
}
}

分享一下spark streaming与flume集成的scala代码。的更多相关文章

  1. Spark Streaming与Kafka集成

    Spark Streaming与Kafka集成 1.介绍 kafka是一个发布订阅消息系统,具有分布式.分区化.多副本提交日志特点.kafka项目在0.8和0.10之间引入了一种新型消费者API,注意 ...

  2. Spark Streaming之四:Spark Streaming 与 Kafka 集成分析

    前言 Spark Streaming 诞生于2013年,成为Spark平台上流式处理的解决方案,同时也给大家提供除Storm 以外的另一个选择.这篇内容主要介绍Spark Streaming 数据接收 ...

  3. Spark学习之路(十五)—— Spark Streaming 整合 Flume

    一.简介 Apache Flume是一个分布式,高可用的数据收集系统,可以从不同的数据源收集数据,经过聚合后发送到分布式计算框架或者存储系统中.Spark Straming提供了以下两种方式用于Flu ...

  4. Spark 系列(十五)—— Spark Streaming 整合 Flume

    一.简介 Apache Flume 是一个分布式,高可用的数据收集系统,可以从不同的数据源收集数据,经过聚合后发送到分布式计算框架或者存储系统中.Spark Straming 提供了以下两种方式用于 ...

  5. Spark Streaming 整合 Flume

    Spark Streaming 整合 Flume ​ 一.简介二.推送式方法        2.1 配置日志收集Flume        2.2 项目依赖        2.3 Spark Strea ...

  6. cdh环境下,spark streaming与flume的集成问题总结

    文章发自:http://www.cnblogs.com/hark0623/p/4170156.html  转发请注明 如何做集成,其实特别简单,网上其实就是教程. http://blog.csdn.n ...

  7. Spark Streaming和Kafka集成深入浅出

    写在前面 本文主要介绍Spark Streaming基本概念.kafka集成.Offset管理 本文主要介绍Spark Streaming基本概念.kafka集成.Offset管理 一.概述 Spar ...

  8. Spark Streaming从Flume Poll数据案例实战和内幕源码解密

    本节课分成二部分讲解: 一.Spark Streaming on Polling from Flume实战 二.Spark Streaming on Polling from Flume源码 第一部分 ...

  9. Spark Streaming处理Flume数据练习

    把Flume Source(netcat类型),从终端上不断给Flume Source发送消息,Flume把消息汇集到Sink(avro类型),由Sink把消息推送给Spark Streaming并处 ...

随机推荐

  1. Python ===if while for语句 以及一个小小网络爬虫实例

    if分支语句 >>> count=89 >>> if count==89: print count 89                          #单分支 ...

  2. [BZOJ2423][HAOI2010]最长公共子序列

    [BZOJ2423][HAOI2010]最长公共子序列 试题描述 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X=“x ...

  3. 跟着百度学PHP[1]-if条件嵌套

    权当自己的学习笔记.望大牛们切勿参考.如若发现错误,万望指出!  慕课任务 假设在发工资的时候,不仅判定性别,还要判定男性是否有房,没有房,可以发放住房补贴,对于女性,判定是否怀孕,怀孕还有怀孕补贴. ...

  4. HDU3345广搜 (P,E,T,#)

    War chess is hh's favorite game:In this game, there is an N * M battle map, and every player has his ...

  5. 基于Matlab的MMSE的语音增强算法的研究

    本课题隶属于学校的创新性课题研究项目.2012年就已经做完了,今天一并拿来发表.   目录: --基于谱减法的语音信号增强算法..................................... ...

  6. Remove Nth Node From End of List

    Given a linked list, remove the nth node from the end of list and return its head. Notice The minimu ...

  7. 查看别人的css

    ie工具栏的“文件”选项选“另存为”到你本地电脑,存下来有两个文件 一个是空间名称命名的文件夹和html网页,文件加里有三个扩展名为.css的文件

  8. css+div绝对定位

    <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" ...

  9. Java for LeetCode 149 Max Points on a Line

    Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...

  10. Java for LeetCode 030 Substring with Concatenation of All Words【HARD】

    You are given a string, s, and a list of words, words, that are all of the same length. Find all sta ...