自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

T_Janey

丝瓜成长记

  • 博客(51)
  • 收藏
  • 关注

原创 Spark-core-问题记录:join shuffle

1、partitionBy:当hashCode为负时,抛异常:java.lang.ArrayIndexOutOfBoundsException, at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:151)2、rdd.part...

2018-07-03 17:54:58 854

原创 Spark 日志错误信息分析及解决方案:log4j、SLF4j

Spark 日志错误信息异常信息:(解决了好久的问题)1、log4j错误类「org.apache.log4j.Appender」被加载,「org.apache.log4j.ConsoleAppender」不能分配给「org.apache.log4j.Appender」,导致sparkContext初始化失败log4j:ERROR A "org.apache.log4j.ConsoleAppende...

2018-07-03 17:50:08 4058 1

原创 Scala解析Json格式

Scala 解析 json 格式的字符串,获取一级,二级key的值

2017-08-02 15:23:10 8888

原创 String replaceAll-正则匹配-截取以指定字符开头,以指定字符结尾的字符串

string replace 替换过个字符或符号

2017-07-28 18:33:49 7807

原创 Scala中文unicode互转

val code = Integer.toHexString(c) // 转unicode。val code = """ Aa,,《"test"》“悄中文""".map{c =>// 中文符号对应的十进制。// unicode转中文。

2024-02-26 15:05:00 470

原创 maven默认jdk指向/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

mvn编译报错,/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home不是jdk环竟

2022-01-14 13:24:15 4887 3

原创 spark kryo序列化问题

背景在使用kryo序列化时,发现部分数据有记录丢失现象,借此做下记录,以防再次踩坑使用方式** 多个key 自聚合问题现象:有少量数据丢失** 多个DataSet聚合问题现象:有重复数据参数配置 SparkSession.builder(). appName(name). config("spark.speculation", value=true). config("spark.speculation.interval","...

2021-05-08 15:22:18 422

原创 maven编译scala-及打包

打包命令mvn clean package编译插件 - java <!-- the Maven compiler plugin will compile Java source files --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifac...

2021-01-20 11:06:20 1949

原创 本地提交Spark任务到yarn集群

一、本地环境配置配置本地环境前,先下载相关压缩包:[jdk1.8.0_74.tar.gz],[hadoop-3.1.2.tar.gz],[spark-2.3.1.tar.gz],然后根据本地环境选择mac或windows配置mac环境配置配置jdk1.8可参考https://jingyan.baidu.com/article/7f766daffd99354101e1d095.html配置hadoop3.0(1)下载并解压 hadoop-3.1.2.tar.gz(2)添加环境变量HADO

2020-10-12 17:56:59 828

原创 Idea提交任务到集群

cluster模式1、打jar包将程序编译打包2、idea参数配置找到debug配置信息:Run → Edit Configurations,如图所示:或者直接点击,如下图打开如下配置信息页1. 参数配置main classorg.apache.spark.deploy.SparkSubmitprogram arguments1)指定class2)指定jar包的位置如下所示--class com.talkingdata.dmp.etl.Test --name Spar

2020-10-12 17:33:29 286

原创 Spark on Yarn 自定义日志打印及级别

Spark on Yarn自定义日志输出及级别spark 自定义日志打印及级别日志打印定义spark 自定义日志打印及级别在处理spark任务的时候,我们需要经常查看日志,那么日志的级别对我们来说就很重要。但有时候,我们还需要输出一些业务日志,那它就会被spark的大量日志给覆盖掉,但调日志级别,又会使查找问题变的比较困难,今天,我们来解决下这个问题。日志打印定义我们首先需要日志配置文件,并在任务提交的脚本中设置成我们自定义的日志文件。这里将分别对两种日志进行配置对比,分别是java自带日志和spa

2020-09-16 15:19:27 2956

原创 Airflow 介绍

官网http://airflow.apache.org/关健概念:http://airflow.apache.org/concepts.htmlBashOperator:- 执行bash命令(executes a bash command)BranchPythonOperator:- 跟据条件执行下游任务,如果条件不符合,则不执行下游PythonOperator:- 执行任意pytho...

2019-07-23 17:41:24 2629

原创 序列化问题 - spark scala

在使用scala 时,给我们带来了很多便利,但同时,也有很多我们没注意到的坑。 我是从 Java 转过来的,所使用上多少会给两者做下比较,本文不做过多的比较,主要是为了记录下,在 spark 中使用 scala - Map - 序列化时遇到的一些坑。打包方式为 maven - fat jarmutable Map,序列化使用的对象,为应用程序(spark_yarn_cache_files)...

2019-06-20 16:28:49 1406 2

原创 hadoop-yarn 排查集群docker 升级导致 container dead 原因

一、升级原因在Docker 17.0.6版本中,由于docker hang死的bug,导致该物理机上的容器都有问题,以及hang 死后unknow host 异常 减少任务分配不上资源的现象基于以上两个问题,做了以下升级:Docker 版本升级 17.0.6 -> 18.0.3二、升级中遇到的问题container 物理内存超 被kill 掉 连接异常三、问题分析...

2019-05-24 11:26:32 335

原创 Spark core 记录-persist原数据操作

Spark core 记录-persist原数据操作1、在同一个rdd上,做不同转换的操作时,并不会改变这个rdd上的值,也不会影响其他rdd上使用原数据的结果测试结果:2、`但是` 如果有persist或caches时,这个rdd的下游操作的是同一份原数据,并且后面的操作会受前面的影响测试结果:1、在同一个rdd上,做不同转换的操作时,并不会改变这个rdd上的值,也不会影响其他rdd上使用原数...

2019-03-14 15:20:14 291

原创 升级 spark 2.3问题:Spark Streaming日志级别设置,最小堆内存设置

一、内存问题    1、旧集群            spark 1.6.1            jdk 1.7 或 1.8            jvm 堆内存分配,直接分配的为driver申请的内存(最大、最小堆内存相等)    2、新集群            spark 2.3.            jdk 1.8            jvm 堆内存分...

2018-12-03 17:10:52 1445

原创 Hadoop 3.1.0 ErasureCodingPolicy导致spark streaming的任务失败问题分析

一、ErasureCodePolicy问题,导致streaming任务退出1、任务失败的原因,当执行block时有uncaught 异常时,stop sparkcontext,如下具体源码错误路径,感兴趣的,可以根据错误日志跟踪一下,这里就不具体跟踪了,只显示比较重要的源码信息AsyncEventQueue private val dispatchThread = new Thre...

2018-12-03 12:18:10 2066 1

转载 聊聊同步、异步、阻塞与非阻塞

近来遇到了一些常见的概念,尤其是网络编程方面的概念,如:阻塞、非阻塞、异步I/O等等,对于这些概念自己也没有太清晰的认识,只是很模糊的概念,说了解吧也了解,但是要让自己准确的描述概念方面的具体细节,却说的不那么准确,这也是自己在这几个方面也没有细细考究过的原因吧。经过看了些这几个概念的资料,发现同步、异步、阻塞、非阻塞的概念其实也并不难以理解,在此写下此文,欢迎拍砖,希望多多交流。1 同步与异...

2018-11-24 22:25:01 97

转载 聊聊Linux 五种IO模型

上一篇《聊聊同步、异步、阻塞与非阻塞》已经通俗的讲解了,要理解同步、异步、阻塞与非阻塞重要的两个概念点了,没有看过的,建议先看这篇博文理解这两个概念点。在认知上,建立统一的模型。这样,大家在继续看本篇时,才不会理解有偏差。那么,在正式开始讲Linux IO模型前,比如:同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下...

2018-11-24 22:23:50 146

原创 三角定位算法

这是一种常见的定位算法 平面上有三个不共线的基站 A,B,C,和一个未知终端 D,并已测出三个基站到终端D的距离分别为R1,R2,R3,则以三个基站坐标为圆心,三基站到未知终端距离为半径可以画出三个相交的圆,如图下图所示,未知节点坐标即为三圆相交点 在实际测量中,往往由于测量的误差,使三个圆并不交于一点,而相交于一块区域,如下图所示。在此种情况下,便需用其他算法进行估计,这...

2018-11-23 16:02:55 38028 14

原创 Geohash算法

1. 引言 GeoHash本质上是空间索引的一种方式,其基本原理是将地球理解为一个二维平面,将平面递归分解成更小的子块,每个子块在一定经纬度范围内拥有相同的编码。以GeoHash方式建立空间索引,可以提高对空间poi数据进行经纬度检索的效率。2. 认识Geohash GeoHash将二维的经纬度转换成字符串,比如下图展示了北京9个区域的GeoHash字符串,分别是WX...

2018-11-23 15:54:08 1648

原创 R树

引言 R树的索引的思想其实就是先找一个大的空间,再逐步缩小所要查找的空间,最终在一个自己设定的最小不可分空间内找出满足要求的解。1.R树的数据结构 R树是B树在高维空间的扩展,是一棵平衡树。每个R树的叶子结点包含了多个指向不同数据的指针,这些数据可以是存放在硬盘中的,也可以是存在内存中。根据R树的这种数据结构,当我们需要进行一个高维空间查询时,我们只需...

2018-11-23 15:51:00 515

原创 Scala隐式转换

隐式转换是Scala的强大特性之一,使得静态类型动态化,可以动态为现有类库添加定制化的功能。隐式转换分四种:隐式转换函数 隐式类 隐式参数 隐式值隐式转换的规则:如果代码无需隐式转换即可通过编译,则不会引入隐式转换,即便引入了也不会起作用(idea中显示为灰色); 不可存在二义性,如存在两个相同类型的隐式值时编译会报错 隐式操作不能嵌套使用(如 convert1(conve...

2018-11-23 15:47:49 254

原创 spark core 记录-persist对元数据的操作的影响

1、在同一个rdd上,做不同转换的操作时,并不会改变这个rdd上的值,也不会影响其他rdd上使用原数据的结果case class Name(var name: String, var age: Int, sex: Int)object DateTest {    def main(args: Array[String]): Unit = {        val conf = ne...

2018-11-14 17:25:30 213

原创 机器学习笔记-基础知识-01

内容概要:1. 人大统计学的知识点2. BitTiger第一周课程的一部分。主要以记录知识点为主,最终目的,是想把自己所学的零碎知识点串起来,使其明白,每个知识点在实际中的应用。 ...

2018-08-09 18:10:18 180

转载 HashMap实现原理分析

1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。      数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。哈希表那么我们能不能综...

2018-07-09 17:47:43 110

转载 Java内存模型

Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理想,因此Ja...

2018-07-04 18:04:12 181

转载 Java 内存区域和GC机制

Java系列笔记(3) - Java 内存区域和GC机制目录Java垃圾回收概况Java内存区域Java对象的访问方式Java内存分配机制Java GC机制垃圾收集器Java垃圾回收概况  Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需...

2018-07-04 17:39:33 193

原创 Lost executor 原因分析及解决方案-记录

Lost executornode丢失原因:        1、有时候是物理机导致的node暂时丢失,物理机恢复后  容器也自己恢复。如io过高        2、另一种就是物理机故障了  容器真丢了异常信息: 1、ERROR cluster.YarnScheduler: Lost executor 2、ERROR client.TransportClient: Failed to send RP...

2018-07-03 17:47:22 8241 1

原创 spark streaming 踩过的那些坑

系统背景spark streaming + Kafka高级API receiver 目前资源分配(现在系统比较稳定的资源分配),独立集群 --driver-memory 50G --executor-memory 8G --num-executors 11 --executor-cores 5广播变量1. 广播变量的初始化 1.1.executor...

2018-07-03 17:24:40 2375

原创 spark streaming基于Kafka的开发

spark streaming使用Kafka数据源进行数据处理,本文侧重讲述实践使用。一、基于receiver的方式在使用receiver的时候,如果receiver和partition分配不当,很容易造成数据倾斜,使个别executor工作繁重,拖累整体处理速度。receiver线程分配和partition的关系:假如topic A,分配了3个receiver,topic A有5个partiti...

2018-07-03 17:20:26 225

原创 Linux备份-删除指定日期内文件

#!/usr/bin/env bashsource /etc/profileecho " *************** start filter ***************  "# get befor six month last day#m0=$(date -d "$(date -d 'month' +%Y%m01) -1 day" +%Y%m%d)#echo ${m0}#m1=$(dat...

2018-07-03 17:17:35 993

原创 Linux笔记:定时任务和文件操作

查看定时任务crontab -l注册定时任务 crontab -e然后就像 vim 一样编辑自己的定时任务。如: * * * * * . /home/hadoop/timer/check_job.sh &gt;&gt; /home/hadoop/timer/logs/check_job.log定时任务解析 *和*之间的空格,是必须的 *分别代表:分,时,日...

2018-07-03 17:12:53 743

原创 Spark 静态内存管理

Spark 静态内存管理详解一、 内容简介 spark从1.6开始引入了动态内存管理模式,即执行内存和存储内存之间可以互相抢占。spark提供两种内存分配模式,即:静态内存管理和动态内存管理。该系列文章分别对这两种内存管理模式的优缺点以及设计原理进行了分析。该篇文章主要针对spark1.6静态内存管理进行了分析与说明。动态内存管理以及其他的调优文章后期会陆续...

2018-07-03 17:08:58 3511

原创 Spark 动态(统一)内存管理模型

一.回顾在前面的一篇文章中我们介绍了spark静态内存管理模式以及相关知识https://blog.csdn.net/anitinaj/article/details/80901328在上一篇文章末尾,我们陈述了传统spark静态内存管理模式的局限性:(1) 没有适用于所有应用的默认配置,通常需要开发人员针对不同的应用进行不同的参数配置。比如根据任务的执行逻辑,调整shuffle和stor...

2018-07-03 17:03:04 1527

转载 序列化和反序列化的底层实现原理是什么

序列化和反序列化作为Java里一个较为基础的知识点,大家心里也有那么几句要说的,但我相信很多小伙伴掌握的也就是那么几句而已,如果再深究问一下Java如何实现序列化和反序列化的,就可能不知所措了!遥记当年也被问了这一个问题,自信满满的说了一大堆,什么是序列化、什么是反序列化、什么场景的时候才会用到等,然后面试官说:那你能说一下序列化和反序列化底层是如何实现的吗?一脸懵逼,然后回家等通知!一、基本概念...

2018-07-02 14:37:03 3819

转载 机器学习中用来防止过拟合的方法有哪些?

机器学习中用来防止过拟合的方法有哪些

2018-03-27 10:48:58 1366

原创 Bloom Filter

哈希 hash原理Hash (哈希,或者散列)函数在计算机领域,尤其是数据快速查找领域,加密领域用的极广。其作用是将一个大的数据集映射到一个小的数据集上面(这些小的数据集叫做哈希值,或者散列值)。一个应用是Hash table(散列表,也叫哈希表),是根据哈希值 (Key value) 而直接进行访问的数据结构。也就是说,它通过把哈希值映射到表中一个位置来访问记录,以加快查找的速度。下面是一个典型...

2018-03-27 10:30:00 147

转载 kafka数据可靠性深度解读

1 概述Kakfa起初是由LinkedIn公司开发的一个分布式的消息系统,后成为Apache的一部分,它使用Scala编写,以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark等都支持与Kafka集成。Kafka凭借着自身的优势,越来越受到互联网企业的青睐,唯品会也采用Kafka作为其内部核心消息引擎之一。Kafka作为一个商...

2018-03-22 11:58:13 224

转载 记录-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...

2018-03-22 11:56:40 116

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除