
Spark
笔和墨
加班让我致富,睡觉阻碍进步
展开
-
Spark-Streaming updateStateByKey用法(计算累加值)、并与kafka集成使用
说明 Spark Streaming的updateStateByKey可以DStream中的数据进行按key做reduce操作,然后对各个批次的数据进行累加。计算word count所有批次的累加值。import org.apache.log4j.{Level, Logger}import org.apache.spark.SparkConfimport org.apache.spark....原创 2018-05-04 14:53:16 · 1608 阅读 · 0 评论 -
读取kafka数据通过SparkStreaming处理,数据零丢失--使用jdbc存储offset
1.MySQL创建存储offset的表格 mysql> use hxh mysql> create table hxh_offset( topic varchar(32), groupid varchar(50), partitions int, fromoffset bigint, untilof...转载 2019-04-15 17:38:56 · 613 阅读 · 0 评论 -
spark rdd分区与任务的关系
spark rdd分区与任务关系 rdd是弹性分布式数据集,分区是对rdd数据的划分。分区之后,job并行度增大。一个分区对应一个任务。 什么是任务,任务是job的执行逻辑单元。task会在excutor中执行。 当Spark读取这些文件作为输入时,会根据具体数据格式对应的InputFormat进行解析,一般是将若干个Block合并成一...原创 2019-01-08 09:15:01 · 2981 阅读 · 1 评论 -
spark性能优化以及问题解决方式
内存/GC优化 程序的稳定性有所提升,但是让我们完全跑通的最后一根救命稻草是内存、GC相关的优化。Direct Memory我们使用的spark版本是1.5.2(更准确的说是1.5.3-shapshot),shuffle过程中block的传输使用netty(spark.shuffle.blockTransferService)。基于netty的shuffle,使用direc...原创 2018-12-25 18:24:17 · 650 阅读 · 0 评论 -
SparkStreamingj集成Kafka的几个重要参数
因为首次启动JOB的时候,由于冷启动会造成内存使用太大,为了防止这种情况出现,限制首次处理的数据量spark.streaming.backpressure.enabled=truespark.streaming.backpressure.initialRate=200spark.streaming.kafka.maxRatePerPartition这个参数是控制吞吐量的,一般和spar...原创 2018-12-28 13:03:11 · 257 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: org/apache/kafka/common/security/JaasUtils
SparkStreaming通过实时获取kafka数据的时候,提示: java.lang.NoClassDefFoundError: org/apache/kafka/common/security/JaasUtils; 通过排查,发现moven的依赖包版本与自己的版本不一致,导致包冲突现象;18/12/14 09:58:33 ERROR E...原创 2018-12-14 10:08:32 · 6934 阅读 · 2 评论 -
Spark 监控后台:javax.servlet.http.HttpServletRequest.isAsyncStarted()Z
本地idea运行spark时,可通过http://20.3.7.114:4040 访问spark监控后台(端口4040为默认,可配置)报错信息:java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.isAsyncStarted()Zat org.spark_project.jetty.servlets....原创 2018-12-19 18:00:46 · 533 阅读 · 0 评论 -
spark优化策略
一、常见问题1、org.apache.spark.shuffle.FetchFailedException当前的配置为每个 executor 使用 1cpu,5GRAM,启动了 20 个 executor, 这种问题一般发生在有大量 shuffle 操作的时候,task 不断的 failed,然后又重执行,一直循环下去,非常的耗时。解决方案:一般遇到这种问题提高 ex...原创 2018-07-25 23:18:58 · 414 阅读 · 0 评论 -
利用Spark sql操作Hdfs数据与Mysql数据,sql窗口函数的使用
需求说明:根据商品的点击数据,统计出各个区域的销量排行TOPK 产品输入:开始时间与结束时间输出:每个城市的销量排行TOP K 产品地区级别 地区名称 产品名称 点击量 产品类型 A 西南片区 雾霾口罩 1000000 第三方 A 西南片区 雾霾口罩 1000000 第三方 A 西南片区 雾霾口罩 1000000 第三方 B 华中地区 苹果 1000 自营 ...原创 2018-05-15 17:35:15 · 3284 阅读 · 0 评论 -
spark sql集成hive步骤
SPARK ON HIVE:让spark sql通过sql的方式去读取hive当中的数据HIVE ON SPARK:让hive的计算引擎由MapReduce改为SPARK1、 先按官网的参考代码,构建val conf = new SparkConf().setMaster("local[*]").setAppName("hotCount") val sc = new SparkContext...原创 2018-05-13 16:06:55 · 2613 阅读 · 0 评论 -
用IDEA开发spark应用,发生java.lang.ClassNotFoundException的解决
用IDEA开发spark应用的配置方法。在完成集群配置之后,我写了下面的demo进行测试 如果把“spark://master:7077”变为local[2]就能正常运行,但是修改为spark集群就报错demo案例如下:package com.keduoximport org.apache.spark.{SparkConf, SparkContext}object Spark...原创 2018-05-06 03:03:52 · 6986 阅读 · 0 评论 -
比reduceByWindow更高效的reduceByKeyAndWindow()的实现版本
reduceByKeyAndWindow这个算子也是lazy的,它用来计算一个区间里面的数据,如下图:实现代码如下:import org.apache.log4j.{Level, Logger}import org.apache.spark.SparkConfimport org.apache.spark.streaming.{Seconds, StreamingContext}import...原创 2018-05-04 16:18:17 · 4668 阅读 · 1 评论 -
spark读取Hive出错: Database 'hxh' not found;
提示spark读取hive找不到库Exception in thread "main" org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException: Database 'hxh' not found; at org.apache.spark.sql.catalyst.catalog.ExternalCatalog.requi...原创 2019-07-03 20:00:42 · 2298 阅读 · 1 评论