`
文章列表
前两天一直在忙本职工作, 最近才有时间闲下来看了一下SparkSql的执行过程, 记录一下。 主要是通过sqlContext.sql() 这个方法作为一个入口。 在这之前先得知道一句SQL传到 sql()这个方法里面后要经历好几次转换, 最终生成一个e ...
前面一片文章介绍了SocketTextStream 是如何从blockmanager里面获取block组成blockRDD的, 地址: http://humingminghz.iteye.com/admin/blogs/2310003 那么接下来关注一下block是怎么存到blockmanager里面的。 还是从receiverTracker.start() 入手, 会执行ReceiverTracker的start方法: def start(): Unit = synchronized { if (isTrackerStarted) { throw new Spa ...
前面一篇文章介绍了SparkStreaming是如何不停的循环submitJob的, 连接: http://humingminghz.iteye.com/admin/blogs/2308711 既然已经知道了Spark Streaming如何循环处理, 那么我们就要看一下处理过程中是怎么获取到Dstream的, 用简单的socketTextStream 来做一个列子, 入口: val lines = scc.socketTextStream(args(1), args(2).toInt, StorageLevel.MEMORY_AND_DISK) 在socketTextStream ...
前两天开始研究SparkSQL, 其主要分为HiveContext以及SQLContext 目前打算先学习SQLContent, 因为Hive环境还没搭好,    一步一步来 先把spark的原理弄明白后再去研究hadoop的组件。 这篇文章主要是讲如何使用SQLContext去读取csv文件, 然后根据表头注册表, 进行数据分析 要通过SQLContext去操作csv文件, 那么我们需要用到spark-csv_xxx.jar sbt地址为: // https://mvnrepository.com/artifact/com.databricks/spark-csv_2.10 libr ...
一直很好奇Sparkstreaming的ssc.start是怎么做到不停的一直定时循环处理数据的, 看了一下源码, 大致明白了整个过程, 记录分享一下。 入口为StreamingContext的start方法: 在构造StreamingContext的时候 state就初始化为INITIALIZED , 并且定义了一个JobScheduler scheduler 代码里面很明白, 在初始化的时候, 执行了JobScheduler的start方法。 def start(): Unit = synchronized { state match { case ...
在sparkstreaming中对窗口范围进行reduce主要有下面四个方法, 其他方法都是直接或者间接调用下面的方法来获取结果 在这之前, 最好了解我之前一篇博客内容: http://humingminghz.iteye.com/blog/2308138 对非(K,V)形式的RDD 窗口化reduce: 1.r ...
林林总总玩了Spark快一个月了, 打算试一下kafka的消息系统加上Spark Streaming 进行实时推送数据的处理。 简单的写了一个类作为kafka的producer, 然后SparkStreaming的类作为consumer Producer 的run方法产生数据: public void run() { KafkaProducer<Integer, String> producer = getProducer(); int messageNum = 0; Random rd = new Random(); ...
Global site tag (gtag.js) - Google Analytics