spark
天街小雨入江南
简单的,诚实的享受平凡。让数据回归本质
展开
-
Spark通过receiver方式消费kafka数据时数据积压问题
Receiver方式消费kafka数据积压问题1.问题在通过receiver方式接受kafka消息时,发现有大量消息在队列中阻塞最终导致spark任务执行失败。 经过排查发现,利用receiver方式来消费kafka的数据时可能会因为zk的group是首次创建或者有一段时间未消费,在程序启动的时候一次性读取进来大量的数据导致数据积压严重报错oom或者yarn资源不够而崩溃,可...原创 2018-05-10 15:24:46 · 2459 阅读 · 0 评论 -
Spark本地化策略导致的任务执行时间异常
本地化执行时间异常这两天遇到一个很奇怪的问题,利用receiver和direct两种方式来消费kafka中的数据,官网说direct形式的效率更高但是实际效果却不是很好没有那么快。 这是因为经过查看运行时间表发现,每个批次都等待了3秒的时间。因此联想到spark.locally.wait的默认等待时间是三秒因此可能是为了等待数据的本地化导致的时间延长,因此把时间调低来解决。本地化策略是为了减...原创 2018-05-10 15:58:28 · 578 阅读 · 0 评论 -
Scala单例对象Object简介
Scala单例对象ObjectScala没有单例静态属性的说法,不过提供了单例对象object。 单独的object并不能算是类型定义(从抽象层面来说) Object是无参的(不通过new 关键字来创建没有机会来传参) Scala的单例对象不能简单的只通过一个object实现。最好是用半生类来实现。因为单独的object在spark集群模式提交的时候容易出错(spark集群模式提交,如果...原创 2018-08-27 11:05:06 · 919 阅读 · 0 评论 -
SparkStreaming读取kafka两种方式对比
SparkStreaming读取kafka两种方式对比Direct方式连接kafka数据不同于receiver方式,direct方式与kafka的partition一一对应,有多少个partition就有多少个rdd分区,offset以长整形变量的形式存在,不同应用各自维护自己的offset,默认是从最新数据开始读取。一,receiver方式读取这种方式使用Receiver来获取数...原创 2018-08-27 11:08:37 · 1161 阅读 · 0 评论 -
如何准确计算Spark On Yarn资源消耗 - spark On Yarn内存计算
spark on yarn 内存计算摘要:相信每个写spark 的 sparker 都有过 spark on yarn 的任务提交经历,或许在你集群资源够多的情况下,我们只关注分配的资源是否能另任务顺畅的跑起来,而不会去关注生成一个spark任务最终在yarn上面消耗了多少的资源。不过如果你的集群资源并没有多到任你挥霍的程度,这篇文章可以教你如何把集群资源了如指掌。1.Continer数量计...原创 2019-03-13 15:21:55 · 4948 阅读 · 2 评论