Spark
文章平均质量分 55
xueba207
这个作者很懒,什么都没留下…
展开
-
spark job 独立的log4j配置方法
spark中提供了log4j的方式记录日志。可以在$SPARK_HOME/conf/下,将 log4j.properties.template 文件copy为 log4j.properties 来启用log4j配置。但这个配置为全局配置, 不能单独配置某个job的运行日志。本文介绍spark (streaming) job独立配置的log4j的方法。设置方法spark job提交时可以在 --co原创 2015-12-30 18:35:14 · 12644 阅读 · 0 评论 -
spark createDirectStream保存kafka offset(JAVA实现)
问题描述最近使用spark streaming处理kafka的数据,业务数据量比较大,使用了kafkaUtils的createDirectStream()方式,此方式跳过了zookeeper,并且没有receiver,能保证消息恰好一次语意。但是此种方式因为没有经过zk,topic不能自动保存offset,本文讨论在使用createDirectStream时如何保存kafka topic offset。原创 2015-12-22 19:17:03 · 15520 阅读 · 8 评论 -
Spark 广播变量(broadcast)更新方法
Spark 广播变量(broadcast)更新方法更新方法spark 广播变量可以通过unpersist方法删除,然后重新广播 val map = sc.textFile("/test.txt").map(line => { val arr = line.split(",") (arr(0), arr(2).toInt)}).distinctvar mapBC = sc.broa原创 2017-06-05 11:19:15 · 11693 阅读 · 0 评论 -
spark streaming kafka OffsetOutOfRangeException 异常分析与解决
job中使用Kafka DirectStream 读取topic中数据,然后做处理。其中有个测试job,停止了几天,再次启动时爆出了**kafka.common.OffsetOutOfRangeException**。下文记录下异常分析与解决过程。原创 2016-04-17 19:39:58 · 30395 阅读 · 12 评论 -
zeppelin spark interpreter异常 com.fasterxml.jackson.databind.JsonMappingException
异常部署zeppelin时,使用spark interpreter报错: com.fasterxml.jackson.databind.JsonMappingException: Could not find creator property with name ‘id’ (in class org.apache.spark.rdd.RDDOperationScope)原因jackson版本冲突,原创 2016-08-19 11:52:53 · 2407 阅读 · 0 评论 -
zeppelin打包失败 'Failed to execute goal com.github.eirslett:frontend-maven-plugin'
zeppelin 官网提供的binary包不支持yarn,需要自己打包。问题zeppelin打包: ~/apache-maven-3.3.1/bin/mvn clean install -DskipTests一直build failure: [ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:0.0.2原创 2016-08-18 14:21:49 · 14952 阅读 · 1 评论 -
减少spark job jar包的大小
利用java写spark job,工程结构为maven,每次生成的jar都比较大。 spark job 包过大带来以下缺点:打包时间长、jar包上传慢、job启动比较慢。 本文介绍jar包瘦身方法: 观察臃肿的jar包,发现大部分都是spark相关的jar比较大,因此打包时去掉即可。首先,缓存spark-assembly 包到hdfs,方法见本文。然后, 修改代码工程的pom文件,将spa原创 2016-05-06 18:13:29 · 2948 阅读 · 0 评论 -
缓存jar包来提升spark on Yarn job的提交速度
之前一直使用Spark standalone方式提交job,最近team换成了yarn方式,但发现在yarn上,提交job的速度比standalone慢的多;看提交的日志,发现其中有个很明显的东西,yarn会将spark-assembly-1.3.0-hadoop2.4.0.jar 上传到hdfs中,这个jar包有130M+,花费了好几秒的时间,其实可以将其缓存在hdfs上的,每次job提交时不再需原创 2015-12-31 11:33:35 · 3685 阅读 · 0 评论 -
spark streaming 输出数据到kafka
一般都使用spark streaming从kafka 中消费数据,然后写到其他存储;项目中需要从kafka topic中读数据然后经过 spark streaming 处理后回写到kafka 另一个topic,此处记录下实现方法。环境:spark:1.6.1 stremaing-kafka: spark-streaming-kafka_2.10,1.6.1本例中,每个executor上存在一个单例原创 2016-04-28 16:12:46 · 11944 阅读 · 0 评论 -
spark.streaming.concurrentJobs参数分析
最近,在spark streaming 调优时,发现个增加job并行度的参数spark.streaming.concurrentJobs,spark 默认值为1,当增加为2时(在spark-default中配置),如遇到处理速度慢 streaming application UI 中会有两个Active Jobs(默认值时为1),也就是在同一时刻可以执行两个批次的streaming job,下文分析原创 2016-04-14 16:30:40 · 11280 阅读 · 1 评论 -
Spark Streaming 'numRecords must not be negative'问题解决
问题描述笔者使用spark streaming读取Kakfa中的数据,做进一步处理,用到了KafkaUtil的createDirectStream()方法;该方法不会自动保存topic partition的offset到zk,需要在代码中编写提交逻辑,此处介绍了保存offset的方法。 当删除已经使用过的kafka topic,然后新建同名topic,使用该方式时出现了"numRecords mu原创 2016-04-12 17:28:29 · 21458 阅读 · 4 评论 -
Spark Streaming job 远程debug方法
记录下spark job的运程调试方法。原创 2016-02-23 15:17:08 · 2706 阅读 · 0 评论 -
spark streaming job数据输出数目不准确问题排查记录
详细描述2015-12-18日提交测试,发现spark streaming job数据进入条数与输出的条数不一致: 发200条数据,streaming job 接收200,处理后输出250。问题分析排查了job代码,以及数据输出逻辑,均无发现问题。在查看job执行情况时发现一个很奇怪的task状态,见下图:发现index-0的task产生了 speculative状态的task,因此猜测 s原创 2015-12-21 12:29:58 · 1301 阅读 · 0 评论 -
Spark Job (thrift-server) 动态分配资源
项目中使用spark 自带的thrift-server做hdfs数据查询统计服务。当数据过多时,thrift-server 需要分配大量的资源,当不需要查询时分配当量的资源又显得非常浪费,因此想到是否有可能动态分配资源。 (thrift-server也是一个job(yarn app),因此这种方法同样适用于一般的spark job)。 目前动态资源分配只适合spark on yarn,配置方式如原创 2016-01-20 10:44:40 · 3203 阅读 · 0 评论 -
zeppelin出现ConnectException: Connection refused解决方法
zeppelin出现ConnectException: Connection refused问题一直用zeppelin做分析工作台,最近想把现用的环境整体打包复制到另一个集群,在新的集群启动spark interpreter时出现了ConnectException,详细出错信息如下:ERROR [2018-03-05 17:33:01,109] ({Thread-31} Rem...原创 2018-03-06 09:08:51 · 3468 阅读 · 0 评论