- 博客(15)
- 资源 (5)
- 收藏
- 关注
原创 spark2.0 用socket接收数据并处理
假如你想监听一个数据服务器上的TCP Socket来获取源源不断的数据流,同时你想要实时的计算单词的数量。object SocketComplete { def main(args: Array[String]) { Logger.getLogger("org").setLevel(Level.WARN) //首先,我们需要导入必要的classes,并且创建一个本地
2017-07-31 14:33:02 1596
原创 scala读取HDFS上的文件,每次读取一行
用scala读取一个只有字符的文件,该文件是已经清洗完的数据,有规律,一行是一条数据。现在的需求是一次读取文件中的一部分,依次读取完。之前用字节流偶尔出现乱码,最后改成一次读取一行了。import java.io.{BufferedReader, InputStreamReader}import org.apache.hadoop.fs.FSDataInputStream/**
2017-07-26 11:14:55 8014 3
原创 scala读取HDFS文件,每次读取一定的字节数
用scala读取一个只有字符的文件,该文件是已经清洗完的数据,有规律,一行是一条数据。现在的需求是一次读取文件中的一部分,依次读取完。如果有疑问,或者找出错误的解决方案,请和我联系。一起研究讨论
2017-07-26 11:00:22 4290 2
原创 linux配置java环境变量(详细)
一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到 任何一个目录下。 二. 需要配置的环境变量 1. PATH环境变量。
2017-07-24 15:50:23 435
原创 Spark-Streaming之transform操作,实时黑名单过滤案例
Transform操作,应用在DStream上时,可以用于执行任意的RDD到RDD的转换操作。它可以用于实现,DStream API中所没有提供的操作。比如说,DStream API中,并没有提供将一个DStream中的每个batch,与一个特定的RDD进行join的操作。但是我们自己就可以使用transform操作来实现该功能。DStream.join(),只能join其他DStream。在
2017-07-24 15:47:44 1047 1
原创 groupByKey 和reduceByKey 的区别
他们都是要经过shuffle的,groupByKey在方法shuffle之间不会合并原样进行shuffle,。reduceByKey进行shuffle之前会先做合并,这样就减少了shuffle的io传送,所以效率高一点。案例:object GroupyKeyAndReduceByKeyDemo { def main(args: Array[String]): Unit = {
2017-07-14 10:53:28 5137 1
原创 Spark-Streaming的window滑动窗口及热点搜索词统计案例
Spark Streaming提供了滑动窗口操作的支持,从而让我们可以对一个滑动窗口内的数据执行计算操作。每次掉落在窗口内的RDD的数据,会被聚合起来执行计算操作,然后生成的RDD,会作为window DStream的一个RDD。比如下图中,就是对每三秒钟的数据执行一次滑动窗口计算,这3秒内的3个RDD会被聚合起来进行处理,然后过了两秒钟,又会对最近三秒内的数据执行滑动窗口计算。所以每个滑动窗口操
2017-07-14 10:51:30 1016
原创 Spark Streaming和Flume的结合使用
首先在IDEA里面导入依赖包org.apache.sparkspark-streaming-flume_2.10${spark.version}在linux下安装flume,减压flume包,然后到conf里面复制flume-env.sh,修改里面的JavaHOME安装目录就好了1、 Flume主动向Streaming推送数据object Flume
2017-07-14 10:22:55 694
原创 基于HDFS的实时计算和wordcount程序
基于HDFS文件的实时计算,其实就是,监控一个HDFS目录,只要其中有新文件出现,就实时处理。相当于处理实时的文件流。streamingContext.fileStream(dataDirectory)streamingContext.fileStream[KeyClass, ValueClass, InputFormatClass](dataDirectory)Spa
2017-07-14 10:13:52 674
原创 Spark-Streaming及其工作原理
1.Spark-Streaming及其工作原理Spark Streaming是Spark Core API的一种扩展,它可以用于进行大规模、高吞吐量、容错的实时数据流的处理。它支持从很多种数据源中读取数据,比如Kafka、Flume、Twitter、ZeroMQ、Kinesis或者是TCP Socket。并且能够使用类似高阶函数的复杂算法来进行数据处理,比如map、reduce、join和wi
2017-07-14 10:10:12 767
原创 Spark Streaming如何使用checkpoint容错
最近在做一个实时流计算的项目,采用的是Spark Steaming,主要是对接Spark方便,一个 Streaming Application 往往需要7*24不间断的跑,所以需要有抵御意外的能力(比如机器或者系统挂掉,JVM crash等)。为了让这成为可能,Spark Streaming需要 checkpoint 足够多信息至一个具有容错设计的存储系统才能让 Application 从失败
2017-07-13 13:30:49 866 1
原创 Spark Streaming 将数据保存在msyql中
Spark Streaming持久化设计模式DStreams输出操作print:打印driver结点上每个Dstream中的前10个batch元素,常用于开发和调试saveAsTextFiles(prefix, [suffix]):将当前Dstream保存为文件,每个interval batch的文件名命名规则基于prefix和suffix:"prefix-TIME_IN_MS[.
2017-07-12 13:41:20 522
原创 Spark Streaming 实时监控一个HDFS的文件夹,当新的文件进来(名字不能重复),将对新文件进行处理。
import org.apache.log4j.{Level, Logger}import org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.DStreamimport org.apache.spark.streaming.{Seconds, StreamingContext}/** * Spark
2017-07-11 14:07:18 2375 1
原创 Spark计算结果继续追加在HDFS目录下,不会覆盖之前的文件
由于工作需要,我用scala实现在已将有的目录下面继续写入文件。需要重写MultipleTextOutputFormat这个类,具体的请看下面代码,需要交流可以联系我import java.text.SimpleDateFormatimport java.util.Dateimport org.apache.hadoop.fs.{FileSystem, Path}import or
2017-07-11 13:50:33 6980 3
原创 elasticsearch 之Aggregation聚合
我想做一个按某列字段进行分组统计个数,上网查询推介用Facet,但是在导包的时候,死活找不到,查询资料可知。在es的1.0版本有Facet这个,2.0只有的版本换成了aggregation。所用我们现在用aggregation现实这个功能。
2017-07-06 10:29:24 474
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人