<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[intersting的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/intersting</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; intersting]]></copyright><item><title><![CDATA[go 有向图遍历及回路判断]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/105757376</link><guid>https://blog.youkuaiyun.com/intersting/article/details/105757376</guid><author>intersting</author><pubDate>Sat, 25 Apr 2020 23:14:39 +0800</pubDate><description><![CDATA[图遍历
深度优先遍历
func depthFirst(m map[string][]string) []string {
    var order []string
    seen := make(map[string]bool)
    var visitAll func(items []string)
    visitAll = func(items []string) {
      ...]]></description><category></category></item><item><title><![CDATA[java执行cmd命令详解]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/97757069</link><guid>https://blog.youkuaiyun.com/intersting/article/details/97757069</guid><author>intersting</author><pubDate>Tue, 30 Jul 2019 11:13:37 +0800</pubDate><description><![CDATA[前言
Java应用程序主要是通过Runtime和Process两个类来执行cmd命令。
Runtime.exec方法创建本机进程并返回Process子类的实例，该实例可用于控制进程并获取有关它的信息。
Process类提供了从进程执行输入，执行输出到进程，等待进程完成，检查进程的退出状态以及销毁（杀死）进程的方法。
具体有哪些方法请查看相关文档：https://docs.oracle.com/ja...]]></description><category></category></item><item><title><![CDATA[mysql采坑之count distinct多列]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/97650559</link><guid>https://blog.youkuaiyun.com/intersting/article/details/97650559</guid><author>intersting</author><pubDate>Mon, 29 Jul 2019 16:22:51 +0800</pubDate><description><![CDATA[背景
有个小伙伴在用mysql做统计分析的时候发现有行数据凭空消失了。最近我刚好在学习相关内容，所以对这个问题比较感兴趣，就研究了一下。
复现的测试数据库如下所示：
CREATE TABLE `test_distinct` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `a` varchar(50) CHARACTER SET utf8 DEFAULT N...]]></description><category></category></item><item><title><![CDATA[mybatis枚举类型转换器详解]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/93768803</link><guid>https://blog.youkuaiyun.com/intersting/article/details/93768803</guid><author>intersting</author><pubDate>Wed, 26 Jun 2019 20:24:03 +0800</pubDate><description><![CDATA[1. 前言
刚入手spring-boot还不太熟练，先弄了个空的框架，然后写了个简单的用户查询，没啥挑战性。然后想起来之前一直对枚举不太了解，而用户的性别正好可以用枚举类型来表示(male, female)。于是就开始了自己的挖坑之旅。
本文主要分为三个部分：

mybatis自带枚举类型转换
自定义枚举类型转换
mybatis类型转换深入理解（将在下一篇介绍）


2. mybatis自带枚举类...]]></description><category></category></item><item><title><![CDATA[Java线程状态转换详解]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/90898312</link><guid>https://blog.youkuaiyun.com/intersting/article/details/90898312</guid><author>intersting</author><pubDate>Wed, 05 Jun 2019 11:21:26 +0800</pubDate><description><![CDATA[线程的状态转换图



线程状态类型

新建状态（New）

用new语句创建的线程对象处于新建状态，此时它和其他Java对象一样，仅仅在堆区被分配了内存。

就绪状态（Runnable）

当一个线程对象创建后，其他线程调用它的start()方法，该线程就进入就绪状态，Java虚拟机会为它创建方法调用栈和程序计数器。处于这个状态的线程位于可运行池中，等待获得CPU的使用权。

运行状态（Runn...]]></description><category></category></item><item><title><![CDATA[pyspark读取Oracle数据库并根据字段进行分区]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/84874869</link><guid>https://blog.youkuaiyun.com/intersting/article/details/84874869</guid><author>intersting</author><pubDate>Tue, 11 Dec 2018 16:34:16 +0800</pubDate><description><![CDATA[前一篇文章pyspark连接oracle中详细讲述了初步连接Oracle的方法，这种连接方式每次只使用一个RDD分区，即numPartitions默认为１．这种方式当表特别大的时候，很可能出现OOM．

pyspark提供两种对数据库进行分区读取的方式

方法一：指定数据库字段的范围

之前的方式是：


empDF = spark.read \
    .format(&quot;jdbc&quot;) \
   ...]]></description><category></category></item><item><title><![CDATA[Ubuntu server18.04输入ifconfig找不到IP地址]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/84954799</link><guid>https://blog.youkuaiyun.com/intersting/article/details/84954799</guid><author>intersting</author><pubDate>Tue, 11 Dec 2018 15:14:15 +0800</pubDate><description><![CDATA[记一次误删系统文件导致机器不能联网的经历

问题：

主机重启之后连不上网，输入ifconfig找不到IP地址，ping局域网的主机，bash显示network is unreachable

解决方式：

首先需要解决的第一个问题是让机器连上网

因为这台主机之前设计了静态IP，所以怀疑是静态IP的配置文件/etc/netplan/*.xml有问题。和网上配置静态IP的详细比对后，发现基本一致，...]]></description><category></category></item><item><title><![CDATA[pyspark dataframe将一行分成多行并标记序号(index)]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/84711723</link><guid>https://blog.youkuaiyun.com/intersting/article/details/84711723</guid><author>intersting</author><pubDate>Sun, 02 Dec 2018 14:27:55 +0800</pubDate><description><![CDATA[原始数据如下：

gid
			score
		a1
			90 80 79 80
		a2
			79 89 45 60
		a3
			57 56 89 75
		
from pyspark.sql.functions import udf, col
from pyspark.sql.types import MapType, IntegerType, StringType

def udf_...]]></description><category></category></item><item><title><![CDATA[pyspark dataframe列的合并与拆分]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/84500978</link><guid>https://blog.youkuaiyun.com/intersting/article/details/84500978</guid><author>intersting</author><pubDate>Sun, 25 Nov 2018 19:29:19 +0800</pubDate><description><![CDATA[使用Spark SQL在对数据进行处理的过程中，可能会遇到对一列数据拆分为多列，或者把多列数据合并为一列。这里记录一下目前想到的对DataFrame列数据进行合并和拆分的几种方法。


from pyspark.sql import SparkSession
spark = SparkSession.builder \
    .master(&quot;local&quot;) \
    .appName(&quot;da...]]></description><category></category></item><item><title><![CDATA[Spark应用程序第三方jar文件依赖解决方案]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/84494341</link><guid>https://blog.youkuaiyun.com/intersting/article/details/84494341</guid><author>intersting</author><pubDate>Sun, 25 Nov 2018 16:06:09 +0800</pubDate><description><![CDATA[第一种方式

操作：将第三方jar文件打包到最终形成的spark应用程序jar文件中

应用场景：第三方jar文件比较小，应用的地方比较少

第二种方式

操作：使用spark-submit提交命令的参数: --jars

要求：

1、使用spark-submit命令的机器上存在对应的jar文件

2、至于集群中其他机器上的服务需要该jar文件的时候，通过driver提供的一个http接口来获取...]]></description><category></category></item><item><title><![CDATA[linux下kill -9 不能强制杀掉spark-submit进程]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/84492999</link><guid>https://blog.youkuaiyun.com/intersting/article/details/84492999</guid><author>intersting</author><pubDate>Sun, 25 Nov 2018 15:57:13 +0800</pubDate><description><![CDATA[问题：

在python编辑器中运行spark程序时，忘记加spark.stop()停止spark，所以每提交一次程序就多一个spark-submit进程，而且sparkUI的端口号还被占用了。这时候用


kill -9 spark-submit_pid

无法杀死spark-submit进程

原因： 

kill -9发送SIGKILL信号将其终止，但是以下两种情况不起作用：

a、该进程处...]]></description><category></category></item><item><title><![CDATA[pyspark连接hbase]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/84402077</link><guid>https://blog.youkuaiyun.com/intersting/article/details/84402077</guid><author>intersting</author><pubDate>Fri, 23 Nov 2018 18:46:14 +0800</pubDate><description><![CDATA[在CentOS下用PySpark连接HBase

http://www.yanglajiao.com/article/otie99/79343984

Spark2.1.0+入门：读写HBase数据(Python版)

http://dblab.xmu.edu.cn/blog/1715-2/]]></description><category></category></item><item><title><![CDATA[pyspark连接oracle]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/84308519</link><guid>https://blog.youkuaiyun.com/intersting/article/details/84308519</guid><author>intersting</author><pubDate>Tue, 20 Nov 2018 20:02:26 +0800</pubDate><description><![CDATA[在本文中，我将Apache Spark连接到Oracle数据库，直接读取数据，并将其写入DataFrame。

随着我们日常生活中产生的数据量的快速增长，大数据技术已经很快进入我们的生活。 我们现在使用的工具能够快速有效地解决我们的业务，而不是传统的解决方案。 Apache Spark的使用是一种可以满足我们需求的常用技术。

Apache Spark基于一个可以非常快速和分布式地处理数据的框架。...]]></description><category></category></item><item><title><![CDATA[spark作业配置及spark-submit参数说明]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/84308372</link><guid>https://blog.youkuaiyun.com/intersting/article/details/84308372</guid><author>intersting</author><pubDate>Tue, 20 Nov 2018 19:27:54 +0800</pubDate><description><![CDATA[1.spark作业配置的三种方式

读取指定配置文件，默认为conf/spark-defaults.conf。
	在程序中的SparkConf中指定，如conf.setAppName(“myspark”)。
	spark-submit中使用参数。
	这三种方式的优先级为SparkConf&amp;gt;spark-submit&amp;gt;配置文件。可以在spark-submit中使用–verbos参数查看起作...]]></description><category></category></item><item><title><![CDATA[Hadoop的磁盘大小不一导致节点挂掉]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/84200773</link><guid>https://blog.youkuaiyun.com/intersting/article/details/84200773</guid><author>intersting</author><pubDate>Sun, 18 Nov 2018 16:15:01 +0800</pubDate><description><![CDATA[问题描述

DataNode挂载的磁盘或者DataNode节点挂载多个磁盘，如果存在一些磁盘大小不一样，数据在落盘时就可能会出现磁盘使用率不均匀的情况，容量较小的盘容易被写满，而容量大的盘还剩很多空间。磁盘写满后，影响Hadoop集群的正常工作。

建好集群后需要将历史记录导入到hbase中，而集群中有三台主机外接了磁盘阵列，主机磁盘阵列大小四十多G，磁盘阵列大概1.6个T。运行将数据写入hbas...]]></description><category></category></item><item><title><![CDATA[hadoop及spark集群搭建后续]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/83930424</link><guid>https://blog.youkuaiyun.com/intersting/article/details/83930424</guid><author>intersting</author><pubDate>Sat, 10 Nov 2018 16:57:14 +0800</pubDate><description><![CDATA[问题1：查看 jps，里面只有HQuorumPeer，没有 HRegionServer

查看logs，master rejected startup because clock is out of sync

原因：几台机器时间对不上

解决方法：将有问题机器的时间校正

date -s xx:xx:xx

然后重启regionserver 

hbase-daemon.sh --config ...]]></description><category></category></item><item><title><![CDATA[Hadoop及spark集群搭建踩过的坑]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/82979950</link><guid>https://blog.youkuaiyun.com/intersting/article/details/82979950</guid><author>intersting</author><pubDate>Fri, 12 Oct 2018 16:20:21 +0800</pubDate><description><![CDATA[本集群总共有三台主机，一台master，两台slave


	Hadoop有一个节点无法启动
	
在按照教程子雨大数据之Spark入门教程(Python版)搭建Hadoop集群时，运行jps命令，发现master和其中一个slave能正常工作，运行./bin/yarn node -list发现只有一个alive节点

再次申明：本文只是针对搭建集群中有一个节点无法启动，而不是所有的节点

进一步观...]]></description><category></category></item><item><title><![CDATA[Spark读取本地文件时报错：java.io.FileNotFountException:file doesn't exist]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/82979656</link><guid>https://blog.youkuaiyun.com/intersting/article/details/82979656</guid><author>intersting</author><pubDate>Tue, 09 Oct 2018 11:25:51 +0800</pubDate><description><![CDATA[在确认文件存在的情况下，出现这个问题的原因是：在集群中运行的pyspark。例如使用命令bin/pyspark --master yarn启动pyspark

解决方式1：让每个Worker节点的相应位置都有要读取的数据文件。

解决方式2：直接将数据文件上传到hdfs，达到数据共享。...]]></description><category></category></item><item><title><![CDATA[java HashMap插入重复Key值问题]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/72627353</link><guid>https://blog.youkuaiyun.com/intersting/article/details/72627353</guid><author>intersting</author><pubDate>Mon, 22 May 2017 16:14:04 +0800</pubDate><description><![CDATA[要在HashMap中插入重复的值，首先需要弄清楚HashMap里面是怎么存放元素的。 
put方法 
Map里面存放的每一个元素都是key-value这样的键值对，而且都是通过put方法进行添加的，而且相同的key在Map中只会有一个与之关联的value存在。put方法在Map中的定义如下。V put(K key, V value);它用来存放key-value这样的一个键值对，返回值是key在Ma]]></description><category></category></item><item><title><![CDATA[PHP实现Apriori算法——计算置信度]]></title><link>https://blog.youkuaiyun.com/intersting/article/details/64441068</link><guid>https://blog.youkuaiyun.com/intersting/article/details/64441068</guid><author>intersting</author><pubDate>Tue, 21 Mar 2017 14:09:49 +0800</pubDate><description><![CDATA[强规则定义 
对于一个频繁集L，找到所有的L的非空子集非空子集f，如果f -> L - f，的概率满足最小置信度，则这是一个强规则。 
如果{A,B,C,D}是一个频繁集，则它有如下候选规则 
ABC -> D,   ABD -> C,   ACD -> B,   BCD -> A, A -> BCD, B -> ACD,   C -> ABD,   D -> ABC，AB -> CD,  AC -]]></description><category></category></item></channel></rss>