Spark
文章平均质量分 77
守猫de人
这个作者很懒,什么都没留下…
展开
-
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 log4j 日志配置详解
一、spark job日志介绍 spark中提供了log4j的方式记录日志。可以在$SPARK_HOME/conf/下,将 log4j.properties.template 文件copy为 log4j.properties 来启用log4j配置。但这个配置为全局配置,不能单独配置某个job的运行日志。 在Spark的conf目录下,把log4j.properties.template...原创 2018-05-08 14:10:43 · 15591 阅读 · 5 评论 -
Spark性能优化合理设置并行度
1 Hadoop文件和block的关系,split与block的关系,一个map对应一个split分片吗?1.1 Hadoop文件和block的关系 在介绍hadoop写文件的时候我们经常会说首先分割文件为多个块;那么是怎么分割的呢?这里其实不要有过的纠结,这里的块是block,是hdfs中切块的大小,属于物理划分,默认128M,在hadoop-default.xml配置中有体现,也可以修改...原创 2018-05-11 13:06:22 · 5286 阅读 · 0 评论 -
如何停止SparkStreaming服务
网上的怎么关闭SparkStreaming的文章一大堆,可我还是费了很大的力气才解决了我的问题。 我们都知道SparkStreaming程序是一个长服务,一旦运转起来不会轻易停掉,那么如果我们想要停掉正在运行的程序应该怎么做呢? 如果运行的是spark on yarn模式直接使用 # yarn application -kill taskId 暴力...原创 2018-05-17 15:27:44 · 5973 阅读 · 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 · 5138 阅读 · 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 · 6981 阅读 · 3 评论 -
解决 Error:Unable to find encoder for type stored in a Dataset
Error: Unable to find encoder for type stored in a Dataset. Primitive types (Int, String, etc) and Product types (case classes) are supported by importing spark.implicits._ Support for serializing o原创 2017-08-10 14:58:42 · 10023 阅读 · 2 评论 -
通过maven-shade-plugin 解决Elasticsearch与spark的jar包冲突问题
最近由于公司的spark版本升级使用spark2.1.1版本,个人感觉spark2.1.1确实好用些。我写的代码上需要连接elasticsearch,去es查询然后返回结果,这个时候在使用maven打包然后运行就会报下面的错之前在使用spark1.6的就没有出现过这个情况。查看错误发现是无法创建ES的客户端,上网查看质料原因是guava18个和包和spark自带的冲突了。然原创 2017-08-16 09:58:47 · 1407 阅读 · 0 评论 -
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 评论 -
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 阅读 · 0 评论 -
Spark-Streaming的window滑动窗口及热点搜索词统计案例
Spark Streaming提供了滑动窗口操作的支持,从而让我们可以对一个滑动窗口内的数据执行计算操作。每次掉落在窗口内的RDD的数据,会被聚合起来执行计算操作,然后生成的RDD,会作为window DStream的一个RDD。比如下图中,就是对每三秒钟的数据执行一次滑动窗口计算,这3秒内的3个RDD会被聚合起来进行处理,然后过了两秒钟,又会对最近三秒内的数据执行滑动窗口计算。所以每个滑动窗口操原创 2017-07-14 10:51:30 · 1017 阅读 · 0 评论 -
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 阅读 · 0 评论 -
基于HDFS的实时计算和wordcount程序
基于HDFS文件的实时计算,其实就是,监控一个HDFS目录,只要其中有新文件出现,就实时处理。相当于处理实时的文件流。streamingContext.fileStream(dataDirectory)streamingContext.fileStream[KeyClass, ValueClass, InputFormatClass](dataDirectory)Spa原创 2017-07-14 10:13:52 · 675 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Stack trace: ExitCodeException exitCode=15 OR File does not exist: hdfs:/spark2-history
spark on yarn集群运行程序报错:Stack trace: ExitCodeException exitCode=15:查看yarn的聚合日志,将日志下载下来查看。yarn logs -applicationId application_1522668922644_40211 -out ./info发现日志内的错误如下java.io.FileNotFoundException: File...原创 2018-05-16 16:14:34 · 8859 阅读 · 0 评论