Spark
lvtula
这个作者很懒,什么都没留下…
展开
-
Spark写入elasticsearch报错Could not write all entries for bulk operation以及Connection error
问题:org.elasticsearch.hadoop.EsHadoopException: Could not write all entries for bulk operation以及Connection error解决方法:添加参数val conf = new SparkConf();conf.set("es.nodes", elasticsearch_nodes);con...原创 2019-12-10 15:59:31 · 1757 阅读 · 0 评论 -
使用spark对输入目录的文件进行过滤
使用spark进行文件过滤在使用spark的很多情形下, 我们需要计算某个目录的数据.但这个文件夹下面并不是所有的文件都是我们想要计算的比如 : 对于某一天的数据,我们只想计算其中的几个小时,这个时候就需要把剩下的数据过滤掉更坏的一种情形 : 对于那些正在copy(还没有完成),或者是.tmp临时文件,程序在读取的过程中,文件发生变化已经复制完成或者被删除,都会导致程序出错而停掉...转载 2019-11-07 13:57:37 · 1195 阅读 · 0 评论 -
Spark Streaming消费Kafka Direct保存offset到Redis,实现数据零丢失和exactly once
一、概述 上次写这篇文章文章的时候,Spark还是1.x,kafka还是0.8x版本,转眼间spark到了2.x,kafka也到了2.x,存储offset的方式也发生了改变,笔者根据上篇文章和网上文章,将offset存储到Redis,既保证了并发也保证了数据不丢失,经过测试,有效。二、使用场景Spark Streaming实时消费kafka数据的时候,程序停止或者Kafka节点挂掉...转载 2019-10-22 10:59:07 · 236 阅读 · 0 评论 -
SparkStreaming踩坑之Kafka重复消费
1.问题描述使用SparkStreaming连接Kafka的demo程序每次重启,都会从Kafka队列里第一条数据开始消费。修改enable.auto.commit相关参数都无效。2.原因分析demo程序使用"KafkaUtils.createDirectStream"创建Kafka输入流,此API内部使用了Kafka客户端低阶API,不支持offset自动提交(提交到zookeepe...转载 2019-10-22 10:49:43 · 605 阅读 · 0 评论 -
Spark Streaming消费Kafka Direct方式数据零丢失实现
使用场景Spark Streaming实时消费kafka数据的时候,程序停止或者Kafka节点挂掉会导致数据丢失,Spark Streaming也没有设置CheckPoint(据说比较鸡肋,虽然可以保存Direct方式的offset,但是可能会导致频繁写HDFS占用IO),所以每次出现问题的时候,重启程序,而程序的消费方式是Direct,所以在程序down掉的这段时间Kafka上的数据是消费不...转载 2019-10-22 10:35:01 · 300 阅读 · 0 评论 -
Spark Streaming时间间隔性能测试
SparkStreaming能支持的最短时间间隔取决于数据源产生的速度,及对RDD的操作。本文针对同一数据源(日志由spark实时收集),测试RDD几种操作对应的合适的时间间隔。时间间隔time以如下形式作用于spark streaming:new StreamingContext(sparkConf, Milliseconds(time.toLong))测试数据源: log data w...原创 2019-08-01 10:42:56 · 2188 阅读 · 0 评论 -
Spark Streaming性能调优详解
SparkStreaming提供了高效便捷的流式处理模式,但是在有些场景下,使用默认的配置达不到最优,甚至无法实时处理来自外部的数据,这时候我们就需要对默认的配置进行相关的修改。由于现实中场景和数据量不一样,所以我们无法设置一些通用的配置(要不然SparkStreaming开发者就不会弄那么多参数,直接写死不得了),我们需要根据数据量,场景的不同设置不一样的配置,这里只是给出建议,这些调优不一...转载 2019-08-01 10:51:37 · 394 阅读 · 0 评论 -
ERROR yarn.ApplicationMaster: Promise already completed.
使用sparkStreaming读取kafka数据时,再需要借助hdfs存储路径下的文件可借助streamingContext,不使用spark.sparkSession即可原创 2019-08-09 17:06:28 · 557 阅读 · 0 评论 -
Spark读取MySQL数据
import java.util.{Properties, UUID} import org.apache.spark.sql.{SaveMode, SparkSession} import org.apache.spark.SparkConf object SparkReadMySQL { def main(args:Array[String]):Unit = { val appNameSuff...转载 2019-08-21 11:43:38 · 856 阅读 · 0 评论 -
ERROR SparkContext:无法指定请求的地址: bind: Service 'sparkDriver' failed after 16 retries!
18/10/25 13:07:58 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.18/10/25 13:07:58 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.18/10/...原创 2019-08-22 16:51:34 · 983 阅读 · 0 评论 -
查看spark yarn日志
yarn logs -applicationId xxx原创 2019-08-29 16:07:01 · 674 阅读 · 0 评论 -
spark-submit 提交yarn-client yarn-cluster两种模式的差别
spark-submit提交给yarn的两种方式总结与区分:spark-submit提交给yarn有两种方式, 1为yarn-cluster, 2为yarn-client两种方式的区别yarn-client主要是用于测试,因为driver运行在本地客户端,负责调度application,会与yarn集群产生大量的网络通信,会导致网卡流量激增!!好处在于直接执行时,本地可以看到所有的lo...转载 2019-09-04 17:49:19 · 2715 阅读 · 1 评论 -
spark写入tidb的坑
1、tidb中定义的字段是json,但计算完的数据不是json2、spark解析json的字段不一致,需加入判断json.contains(key)再去getString,否则可能空指针异常3、tidb定义的是json,但计算完的数据可能为\N(空值在hdfs的底层默认存储方式)...原创 2019-07-17 15:40:24 · 1801 阅读 · 1 评论 -
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Invalid JSON text: invalid character '\\' looki
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Invalid JSON text: invalid character '\\' looking for beginning of value拿出部分数据定位查看原来hdfs的空值在底层默认以\N存储,在mysql中建表时成json字段,需要把这种\N的换成[]即可,同时替换""也换成[...原创 2019-07-16 13:47:40 · 5479 阅读 · 0 评论 -
CDH5.X添加spark服务
http://www.cnblogs.com/yinzhengjie/p/9882293.htmlhttps://blog.csdn.net/lin443514407lin/article/details/84650963http://www.mamicode.com/info-detail-2451695.htmlhttps://www.cnblogs.com/students/p/...原创 2019-03-22 14:39:36 · 1191 阅读 · 0 评论 -
Cloudera Manager启动Spark报内存超出限制的错误:Required executor memory (1024+384 MB) is above the max threshold
启动Spark-Shell报错:java.lang.IllegalArgumentException: Required executor memory (1024+384 MB) is above the max threshold (1024 MB) of this cluster! Please check the values of ‘yarn.scheduler.maximum-all...原创 2019-03-22 14:55:58 · 1103 阅读 · 0 评论 -
CDH5.15集成spark2
参考:https://blog.csdn.net/Johnzhc/article/details/81698525https://blog.csdn.net/lin443514407lin/article/details/84650963https://blog.csdn.net/huhaiyang9180/article/details/83212996http://www.sk...原创 2019-03-22 16:56:45 · 435 阅读 · 0 评论 -
cdh跑任务spark on yarn
参考https://www.cnblogs.com/ptbx/p/5853106.htmlhttps://www.cnblogs.com/fastzhe/p/7444439.html均切换到hdfs用户才行总结: su hdfsspark1.xspark-shellspark-submit --class org.apache.spark.examples.Spark...原创 2019-03-22 17:34:59 · 1411 阅读 · 0 评论 -
spark on yarn 的那些坑
spark on yarn 的那些坑https://blog.csdn.net/kimyoungvon/article/details/51615047原创 2019-03-29 10:58:00 · 195 阅读 · 0 评论 -
spark操作列表
Action 操作1、 collect() ,返回值是一个数组,返回dataframe集合所有的行2、 collectAsList() 返回值是一个java类型的数组,返回dataframe集合所有的行3、 count() 返回一个number类型的,返回dataframe集合的行数4、 describe(cols: String*) 返回一个通过数学计算的类表值(count, mean,...原创 2019-04-28 22:28:03 · 761 阅读 · 0 评论 -
写好spark程序提交cdh集群运行
spark2-submit --master yarn --deploy-mode cluster --class cn.chuangxin.scala.WordCount /root/original-SparkTestMe-1.0-SNAPSHOT.jar hdfs://xxx:8020/wc hdfs://xxx:8020/wcout0616spark2-submit --conf sp...原创 2019-06-16 16:13:07 · 1421 阅读 · 0 评论 -
Scala 字符替换 特殊字符 引号 中括号
ss=ss.replaceAll("\"","") // 引号替换为空ss=ss.replaceAll("\\[","") // [替换为空ss=ss.replaceAll("\\]","") // ]替换为空原创 2019-07-02 10:22:39 · 1289 阅读 · 0 评论 -
Spark RDD关联操作小结
前言Spark的rdd之间的关系需要通过一些特定的操作来实现,操作比较多也,特别是一堆JOIN也挺容易让人产生混乱的。因此做了下小结梳理一下。准备数据var rdd1 = sc.makeRDD(Array(("A","a1"),("C","c1"),("D","d1"),("F","f1"),("F","f2")),2)var rdd2 = sc.makeRDD(Array...原创 2019-06-24 12:56:07 · 1160 阅读 · 0 评论 -
spark选择去重
在spark计算当中,我们日常有些简单需求,比如去重,比如有四列(appid、date、type、platform),我们只需要对appid,date进行去重,另外两列不关注。在spark中,distinct会对所有列执行去重操作,两行比较,只要有个一列有差异,就不算重复。要解决,只对某几列进行去重,可以使用Top N 的思路,也就是先分组,分组后,我们只取row_num=1第...转载 2019-06-27 10:21:03 · 4352 阅读 · 0 评论 -
Spark RDD转换为DataFrame
#构造case class,利用反射机制隐式转换scala>importspark.implicits._scala> val rdd= sc.textFile("input/textdata.txt")scala>caseclass Person(id:Int,name:String)scala> valdf= rdd.map(_.split(...原创 2019-06-27 10:22:21 · 1998 阅读 · 0 评论 -
Spark之 RDD转换成DataFrame的Scala实现
依赖<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>2.1.3</version></dependency>RDD转化成...原创 2019-06-27 10:24:18 · 1357 阅读 · 0 评论 -
Spark连接Hive 创建表提示"Specified key was too long; max key length is 767 bytes"解决办法
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : S...原创 2018-09-28 15:42:19 · 844 阅读 · 0 评论