<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[T_Janey]]></title><description><![CDATA[丝瓜成长记]]></description><link>https://blog.youkuaiyun.com/anitinaj</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; anitinaj]]></copyright><item><title><![CDATA[Scala中文unicode互转]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/136299785</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/136299785</guid><author>anitinaj</author><pubDate>Mon, 26 Feb 2024 15:05:00 +0800</pubDate><description><![CDATA[val code = Integer.toHexString(c)   // 转unicode。val code = """ Aa,，《"test"》“悄中文""".map{c =>// 中文符号对应的十进制。// unicode转中文。]]></description><category></category></item><item><title><![CDATA[maven默认jdk指向/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/122492249</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/122492249</guid><author>anitinaj</author><pubDate>Fri, 14 Jan 2022 13:24:15 +0800</pubDate><description><![CDATA[mvn编译报错，/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home不是jdk环竟]]></description><category></category></item><item><title><![CDATA[spark kryo序列化问题]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/116529283</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/116529283</guid><author>anitinaj</author><pubDate>Sat, 08 May 2021 15:22:18 +0800</pubDate><description><![CDATA[背景

在使用kryo序列化时，发现部分数据有记录丢失现象，借此做下记录，以防再次踩坑

使用方式

** 多个key 自聚合

问题现象：有少量数据丢失

** 多个DataSet聚合

问题现象：有重复数据

参数配置


			SparkSession.builder().

			appName(name).

			config("spark.speculation", value=true).

			config("spark.speculation.interval","...]]></description><category></category></item><item><title><![CDATA[maven编译scala-及打包]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/112860144</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/112860144</guid><author>anitinaj</author><pubDate>Wed, 20 Jan 2021 11:06:20 +0800</pubDate><description><![CDATA[打包命令

mvn clean package

编译插件 - java


			&lt;!-- the Maven compiler plugin will compile Java source files --&gt;

			&lt;plugin&gt;

			&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;

			&lt;artifactId&gt;maven-compiler-plugin&lt;/artifac...]]></description><category></category></item><item><title><![CDATA[本地提交Spark任务到yarn集群]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/109032788</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/109032788</guid><author>anitinaj</author><pubDate>Mon, 12 Oct 2020 17:56:59 +0800</pubDate><description><![CDATA[一、本地环境配置
配置本地环境前，先下载相关压缩包：[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]]></description><category></category></item><item><title><![CDATA[Idea提交任务到集群]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/109032251</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/109032251</guid><author>anitinaj</author><pubDate>Mon, 12 Oct 2020 17:33:29 +0800</pubDate><description><![CDATA[cluster模式
1、打jar包
将程序编译打包
2、idea参数配置

找到debug配置信息：Run → Edit Configurations，如图所示：

或者直接点击，如下图

打开如下配置信息页


1. 参数配置
main class
org.apache.spark.deploy.SparkSubmit

program arguments
1）指定class
2）指定jar包的位置
如下所示
--class com.talkingdata.dmp.etl.Test --name Spar]]></description><category></category></item><item><title><![CDATA[Spark on Yarn 自定义日志打印及级别]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/108619722</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/108619722</guid><author>anitinaj</author><pubDate>Wed, 16 Sep 2020 15:19:27 +0800</pubDate><description><![CDATA[Spark on Yarn自定义日志输出及级别spark 自定义日志打印及级别日志打印定义
spark 自定义日志打印及级别
在处理spark任务的时候，我们需要经常查看日志，那么日志的级别对我们来说就很重要。但有时候，我们还需要输出一些业务日志，那它就会被spark的大量日志给覆盖掉，但调日志级别，又会使查找问题变的比较困难，今天，我们来解决下这个问题。
日志打印定义
我们首先需要日志配置文件，并在任务提交的脚本中设置成我们自定义的日志文件。这里将分别对两种日志进行配置对比，分别是java自带日志和spa]]></description><category></category></item><item><title><![CDATA[Airflow 介绍]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/96995224</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/96995224</guid><author>anitinaj</author><pubDate>Tue, 23 Jul 2019 17:41:24 +0800</pubDate><description><![CDATA[官网
http://airflow.apache.org/
关健概念：http://airflow.apache.org/concepts.html
BashOperator：- 执行bash命令（executes a bash command）
BranchPythonOperator：- 跟据条件执行下游任务，如果条件不符合，则不执行下游
PythonOperator：- 执行任意pytho...]]></description><category></category></item><item><title><![CDATA[序列化问题 - spark scala]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/93055525</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/93055525</guid><author>anitinaj</author><pubDate>Thu, 20 Jun 2019 16:28:49 +0800</pubDate><description><![CDATA[在使用scala 时，给我们带来了很多便利，但同时，也有很多我们没注意到的坑。 我是从 Java 转过来的，所使用上多少会给两者做下比较，本文不做过多的比较，主要是为了记录下，在 spark 中使用 scala - Map - 序列化时遇到的一些坑。

打包方式为 maven - fat jar

mutable Map，序列化使用的对象，为应用程序（spark_yarn_cache_files）...]]></description><category></category></item><item><title><![CDATA[hadoop-yarn 排查集群docker 升级导致 container  dead 原因]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/90511822</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/90511822</guid><author>anitinaj</author><pubDate>Fri, 24 May 2019 11:26:32 +0800</pubDate><description><![CDATA[一、升级原因

在Docker 17.0.6版本中，由于docker hang死的bug，导致该物理机上的容器都有问题，以及hang 死后unknow host 异常
	减少任务分配不上资源的现象
基于以上两个问题，做了以下升级：Docker 版本升级 17.0.6 -&gt; 18.0.3

二、升级中遇到的问题

container 物理内存超 被kill 掉
	连接异常
三、问题分析...]]></description><category></category></item><item><title><![CDATA[Spark core 记录-persist原数据操作]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/88553609</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/88553609</guid><author>anitinaj</author><pubDate>Thu, 14 Mar 2019 15:20:14 +0800</pubDate><description><![CDATA[Spark core 记录-persist原数据操作1、在同一个rdd上，做不同转换的操作时，并不会改变这个rdd上的值，也不会影响其他rdd上使用原数据的结果测试结果：2、`但是` 如果有persist或caches时，这个rdd的下游操作的是同一份原数据，并且后面的操作会受前面的影响测试结果：
1、在同一个rdd上，做不同转换的操作时，并不会改变这个rdd上的值，也不会影响其他rdd上使用原数...]]></description><category></category></item><item><title><![CDATA[升级 spark 2.3问题：Spark Streaming日志级别设置，最小堆内存设置]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/84773423</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/84773423</guid><author>anitinaj</author><pubDate>Mon, 03 Dec 2018 17:10:52 +0800</pubDate><description><![CDATA[一、内存问题

    1、旧集群

            spark 1.6.1

            jdk 1.7 或 1.8

            jvm 堆内存分配，直接分配的为driver申请的内存（最大、最小堆内存相等）

    2、新集群

            spark 2.3.

            jdk 1.8

            jvm 堆内存分...]]></description><category></category></item><item><title><![CDATA[Hadoop 3.1.0 ErasureCodingPolicy导致spark streaming的任务失败问题分析]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/84754413</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/84754413</guid><author>anitinaj</author><pubDate>Mon, 03 Dec 2018 12:18:10 +0800</pubDate><description><![CDATA[一、ErasureCodePolicy问题，导致streaming任务退出

1、任务失败的原因，当执行block时有uncaught 异常时，stop sparkcontext，如下

具体源码错误路径，感兴趣的，可以根据错误日志跟踪一下，这里就不具体跟踪了，只显示比较重要的源码信息AsyncEventQueue


  private val dispatchThread = new Thre...]]></description><category></category></item><item><title><![CDATA[聊聊同步、异步、阻塞与非阻塞]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/84454429</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/84454429</guid><author>anitinaj</author><pubDate>Sat, 24 Nov 2018 22:25:01 +0800</pubDate><description><![CDATA[近来遇到了一些常见的概念，尤其是网络编程方面的概念，如：阻塞、非阻塞、异步I/O等等，对于这些概念自己也没有太清晰的认识，只是很模糊的概念，说了解吧也了解，但是要让自己准确的描述概念方面的具体细节，却说的不那么准确，这也是自己在这几个方面也没有细细考究过的原因吧。经过看了些这几个概念的资料，发现同步、异步、阻塞、非阻塞的概念其实也并不难以理解，在此写下此文，欢迎拍砖，希望多多交流。

1 同步与异...]]></description><category></category></item><item><title><![CDATA[聊聊Linux 五种IO模型]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/84454386</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/84454386</guid><author>anitinaj</author><pubDate>Sat, 24 Nov 2018 22:23:50 +0800</pubDate><description><![CDATA[上一篇《聊聊同步、异步、阻塞与非阻塞》已经通俗的讲解了，要理解同步、异步、阻塞与非阻塞重要的两个概念点了，没有看过的，建议先看这篇博文理解这两个概念点。在认知上，建立统一的模型。这样，大家在继续看本篇时，才不会理解有偏差。

那么，在正式开始讲Linux IO模型前，比如：同步IO和异步IO，阻塞IO和非阻塞IO分别是什么，到底有什么区别？不同的人在不同的上下文下给出的答案是不同的。所以先限定一下...]]></description><category></category></item><item><title><![CDATA[三角定位算法]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/84396532</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/84396532</guid><author>anitinaj</author><pubDate>Fri, 23 Nov 2018 16:02:55 +0800</pubDate><description><![CDATA[这是一种常见的定位算法



 平面上有三个不共线的基站 A,B,C，和一个未知终端 D，并已测出三个基站到终端D的距离分别为R1，R2，R3，则以三个基站坐标为圆心，三基站到未知终端距离为半径可以画出三个相交的圆，如图下图所示，未知节点坐标即为三圆相交点



 在实际测量中，往往由于测量的误差，使三个圆并不交于一点，而相交于一块区域，如下图所示。在此种情况下，便需用其他算法进行估计，这...]]></description><category></category></item><item><title><![CDATA[Geohash算法]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/84395956</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/84395956</guid><author>anitinaj</author><pubDate>Fri, 23 Nov 2018 15:54:08 +0800</pubDate><description><![CDATA[1. 引言

  GeoHash本质上是空间索引的一种方式，其基本原理是将地球理解为一个二维平面，将平面递归分解成更小的子块，每个子块在一定经纬度范围内拥有相同的编码。以GeoHash方式建立空间索引，可以提高对空间poi数据进行经纬度检索的效率。

2. 认识Geohash

  GeoHash将二维的经纬度转换成字符串，比如下图展示了北京9个区域的GeoHash字符串，分别是WX...]]></description><category></category></item><item><title><![CDATA[R树]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/84395713</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/84395713</guid><author>anitinaj</author><pubDate>Fri, 23 Nov 2018 15:51:00 +0800</pubDate><description><![CDATA[引言

   R树的索引的思想其实就是先找一个大的空间，再逐步缩小所要查找的空间，最终在一个自己设定的最小不可分空间内找出满足要求的解。

1.R树的数据结构  

   R树是B树在高维空间的扩展，是一棵平衡树。每个R树的叶子结点包含了多个指向不同数据的指针，这些数据可以是存放在硬盘中的，也可以是存在内存中。根据R树的这种数据结构，当我们需要进行一个高维空间查询时，我们只需...]]></description><category></category></item><item><title><![CDATA[Scala隐式转换]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/84395498</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/84395498</guid><author>anitinaj</author><pubDate>Fri, 23 Nov 2018 15:47:49 +0800</pubDate><description><![CDATA[隐式转换是Scala的强大特性之一，使得静态类型动态化，可以动态为现有类库添加定制化的功能。

隐式转换分四种：

隐式转换函数
	隐式类
	隐式参数
	隐式值
隐式转换的规则：

如果代码无需隐式转换即可通过编译，则不会引入隐式转换，即便引入了也不会起作用（idea中显示为灰色）；
	不可存在二义性，如存在两个相同类型的隐式值时编译会报错
	隐式操作不能嵌套使用（如 convert1(conve...]]></description><category></category></item><item><title><![CDATA[spark core 记录-persist对元数据的操作的影响]]></title><link>https://blog.youkuaiyun.com/anitinaj/article/details/84070329</link><guid>https://blog.youkuaiyun.com/anitinaj/article/details/84070329</guid><author>anitinaj</author><pubDate>Wed, 14 Nov 2018 17:25:30 +0800</pubDate><description><![CDATA[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...]]></description><category></category></item></channel></rss>