热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

利用SparkStreaming来实现实时的数据管道服务

2019独角兽企业重金招聘Python工程师标准现在需要搜集用户的行为记录,之前我们打算采用AWS提供的服务,大致架构是这样的:建立

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

现在需要搜集用户的行为记录,之前我们打算采用AWS提供的服务,大致架构是这样的:

建立一个rest来收集来自服务器或者是终端的(从手机端,网页)的数据,之后将这些数据放到 Kinesis Streaming之中,然后通过AWS的firehose将数据放到S3或者RedShift中。但是现在有两个问题,Amazon中国 目前还没有firehose这个service,二是可能打算将获取到的数据流放到HDFS或者其他地方,并且可能需要做一些比较简单的运算。考虑到效率以及拓展性,我们采用了Spark Streaming来代替firehose(关于Spark Streaming效率问题,可以参考这里)

为什么不自己写呢?我想用这句话回答会比较好-"You can spend more time focusing on your application and less time on your infrastructure."。看你关心的层面了,做数据分析,应该把更多精力放在核心业务上。

关于Spark Streaming以及如何做集成Kinesis,可以参看官方文档:

1.Spark Streaming Programming Guide

2.Spark Streaming + Kinesis Integration

关于spark-streaming-kinesis-asl_2.10, 和spark-core会有版本冲突,下面给出我的依赖关系,供大家参考:

scalaVersion := "2.10.4"libraryDependencies ++= Seq("com.amazonaws" % "aws-java-sdk-kinesis" % "1.10.4","com.amazonaws" % "amazon-kinesis-client" % "1.4.0","org.apache.spark" % "spark-core_2.10" % "1.4.1" % "provided","org.apache.hadoop" % "hadoop-client" % "2.6.0","org.apache.hbase" % "hbase-client" % "1.0.0","org.apache.hbase" % "hbase-common" % "1.0.0","org.apache.spark" % "spark-streaming_2.10" % "1.4.1","org.apache.spark" % "spark-streaming-kinesis-asl_2.10" %  "1.4.1"
)



转:https://my.oschina.net/u/1450520/blog/624931



推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • AI行业的下一个风口是医疗?创业者们这样说
    ▼点击上方蓝字关注网易智能为你解读AI领域大公司大事件,新观点新应用编者按:4月10日,鲸准AI产业价值峰会在北京举行。本次大会除了邀请A ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
  • 还记得这首是什么歌吗?
    作词:MahmoudJaff,作曲:MahmoudJaff,Timeisthecurrencyofyourlife,spenditwiselyÿ ... [详细]
  • 对于开源的东东,尤其是刚出来不久,我认为最好的学习方式就是能够看源代码和doc,測试它的样例为了方便查看源代码,关联导入源代 ... [详细]
author-avatar
怪物-pp_912
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有