<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SmellyKitty]]></title><description><![CDATA[nothing is impossible~]]></description><link>https://blog.youkuaiyun.com/SmellyKitty</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SmellyKitty]]></copyright><item><title><![CDATA[cdh+dolphinscheduler开启kerberos]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/128792355</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/128792355</guid><author>SmellyKitty</author><pubDate>Mon, 30 Jan 2023 16:47:50 +0800</pubDate><description><![CDATA[CDH 6.3.2 (Parcel)版本+dolphinscheduler 1.3.2版本开启kerberos服务流程]]></description><category></category></item><item><title><![CDATA[【Cloudera Manager】cdh集群ntp时钟同步问题]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/128789262</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/128789262</guid><author>SmellyKitty</author><pubDate>Sun, 29 Jan 2023 15:12:44 +0800</pubDate><description><![CDATA[cdh集群ntp时钟同步问题]]></description><category></category></item><item><title><![CDATA[【hive】 rollup的空值过滤]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/122665589</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/122665589</guid><author>SmellyKitty</author><pubDate>Mon, 24 Jan 2022 13:37:56 +0800</pubDate><description><![CDATA[rollup
rollup 用于hive在group by的顺序分组聚合，举例如下：
select  mac, stat_date,
        avg(cast(cpuOccupancyRate as int)) cpu_avg
from bidata.t_ods_pp_uplink_status_id
where stat_date&gt;=20220119 and stat_date&lt;=20220119
group by rollup(mac,stat_date)

输出结果：




ma]]></description><category></category></item><item><title><![CDATA[【jupyter】jupyter常用操作（持续更新）]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/121144706</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/121144706</guid><author>SmellyKitty</author><pubDate>Thu, 04 Nov 2021 16:04:47 +0800</pubDate><description><![CDATA[ipynb文件转py文件

在terminal，当前文件下，输入下面命令，会在同目录下生成load_json_params.py文件
jupyter nbconvert --to script load_json_params.ipynb



删除当前cell的快捷键
首先要鼠标选定当前cell框，选定后左侧标识会变蓝（记得不是点击cell内的内容，编辑当前cell时左侧标识时绿色）双击D按键，即可完成删除


在当前cell下新增一个cell
与删除cell类似，鼠标选定当前cell，按字母B即可在下.]]></description><category></category></item><item><title><![CDATA[【linux】shell常用命令]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/121122808</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/121122808</guid><author>SmellyKitty</author><pubDate>Wed, 03 Nov 2021 15:43:05 +0800</pubDate><description><![CDATA[[toc]
日期 date命令
最快速的掌握方式，就是通过help命令，查看date的命令
$ date --help
Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.

Mandatory arguments to long opti]]></description><category></category></item><item><title><![CDATA[【python】windows安装python 与 jupyter]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/121116921</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/121116921</guid><author>SmellyKitty</author><pubDate>Wed, 03 Nov 2021 11:06:41 +0800</pubDate><description><![CDATA[文章目录windows安装python流程机器学习包安装通过pip安装
windows安装python流程

安装conda

安装流程见官网：
https://conda.io/projects/conda/en/latest/user-guide/getting-started.html
并按照教程说明开启虚拟空间，安装好python3环境，后续所有操作均在此环境下进行。
#windows环境打开conda环境，安装好conda后，windows搜索minicoda即可，打开ataconda promp]]></description><category></category></item><item><title><![CDATA[【hive】hive常用命令与常用功能实践（持续更新）]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/121116698</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/121116698</guid><author>SmellyKitty</author><pubDate>Wed, 03 Nov 2021 10:57:55 +0800</pubDate><description><![CDATA[常用命令


输出表头 &nbsp;
set hive.cli.print.header=true; &nbsp;
set hive.resultset.use.unique.column.names=false;


使用正则表达式 &nbsp;
set hive.support.quoted.identifiers=none; &nbsp;
比如select时候想过滤某些列名，在列很多的时候很有用，通过以下实现：


select a.`(stat_date)?+.+` from table_name
]]></description><category></category></item><item><title><![CDATA[java抽象类与接口]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/51085186</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/51085186</guid><author>SmellyKitty</author><pubDate>Thu, 07 Apr 2016 13:35:30 +0800</pubDate><description><![CDATA[转自java抽象类与接口



接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。



      抽象类与接口是java语言中对抽象概念进行定义的两种机制，正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似，甚至可以互换，但是也有区别。

一、抽象类

      我们都知道在面向对象的领域一切都是对象，同时所有]]></description><category></category></item><item><title><![CDATA[【机器学习】先验概率、后验概率、贝叶斯公式、 似然函数]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/49130173</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/49130173</guid><author>SmellyKitty</author><pubDate>Wed, 14 Oct 2015 20:04:36 +0800</pubDate><description><![CDATA[一、先验概率、后验概率、贝叶斯公式、 似然函数 
在机器学习中，这些概念总会涉及到，但从来没有真正理解透彻他们之间的联系。下面打算好好从头捋一下这些概念，备忘。 
1、先验概率 
先验概率仅仅依赖于主观上的经验估计，也就是事先根据已有的知识的推断，先验概率就是没有经过实验验证的概率，根据已知进行的主观臆测。如抛一枚硬币，在抛之前，主观推断P（正面朝上） = 0.5。 
2、后验概率 
后验概率是指在]]></description><category></category></item><item><title><![CDATA[hbase常用shell命令]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/49096423</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/49096423</guid><author>SmellyKitty</author><pubDate>Tue, 13 Oct 2015 11:40:09 +0800</pubDate><description><![CDATA[1、进入hbase shell命令界面。

2、输入help出现命令帮助界面，所有命令分组：
COMMAND GROUPS:
 Group name: general
 Commands: status, version, whoami

 Group name: ddl
 Commands: alter, alter_async, alter_status, create]]></description><category></category></item><item><title><![CDATA[java与C++的区别]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/48544087</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/48544087</guid><author>SmellyKitty</author><pubDate>Fri, 18 Sep 2015 14:18:06 +0800</pubDate><description><![CDATA[由于先用C++，现在工作需要改用JAVA，两者有时容易混淆，为了理清两者的关系，做这个笔记，便于自己随时查阅，文档随时更新，想到什么就写些什么。
1、参数传递
C++：复制传递，参数是指针、引用时，形参与原参指向的是同一个地址，会改变原参数内容，参数不是指针、引用或数组（也算指针传递）时，不能改变原参内容。
Java:复制传递，基本数据类型进行参数传递时不能改变原参内容，其他类型传递时是指针]]></description><category></category></item><item><title><![CDATA[【java】查找树按序转双向链表]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/48470997</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/48470997</guid><author>SmellyKitty</author><pubDate>Tue, 15 Sep 2015 17:48:35 +0800</pubDate><description><![CDATA[1.把二元查找树转变成排序的双向链表 
 题目： 
输入一棵二元查找树，将该二元查找树转换成一个排序的双向链表。 
要求不能创建任何新的结点，只调整指针的指向。 
   10 
 / \ 
 6 14 
 / \ / \ 
4 8 12 16 
 转换成双向链表 
4=6=8=10=12=14=16 
解答：中序遍历，转为双向链表public ListNode linkList(BSTreeNode]]></description><category></category></item><item><title><![CDATA[【java】0到n中生成m个等概率随机数]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/48439273</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/48439273</guid><author>SmellyKitty</author><pubDate>Mon, 14 Sep 2015 15:02:20 +0800</pubDate><description><![CDATA[前言： 
java中Random类中的nextInt(n)可以等概率生成[0, n)间的随机整数。 
下面用Random来实现此算法： 
1、思想：给定一个HashSet集合，大小为m，不重复，用nextInt(n)方法产生[0, n)间的随机整数，如果出现重复，则HashSet不会添加。//给定n和m ,从n中产生m个随机数，概率相同，有序
    public HashSet<Integer>]]></description><category></category></item><item><title><![CDATA[java 实现atof函数]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/47976773</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/47976773</guid><author>SmellyKitty</author><pubDate>Tue, 25 Aug 2015 14:37:20 +0800</pubDate><description><![CDATA[atof函数将字符串转换为浮点数,此函数规则如下: 
它会扫描参数str字符串，跳过前面的空白字符（例如空格，tab缩进等，可以通过 isspace() 函数来检测），直到遇上数字或正负符号才开始做转换，而再遇到非数字或字符串结束时(‘\0’)才结束转换，并将结果返回。参数str 字符串可包含正负号、小数点或E(e)来表示指数部分，如123. 456 或123e-2。 
【返回值】返回转换后的浮点数]]></description><category></category></item><item><title><![CDATA[【C++】智能指针]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/45505005</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/45505005</guid><author>SmellyKitty</author><pubDate>Tue, 05 May 2015 17:12:07 +0800</pubDate><description><![CDATA[C++中没有内存管理机制，所以对于动态申请的内存，如果忘记delete或者程序崩溃导致未执行delete操作，则容易造成内存泄露，所以就出现了智能指针类，用于管理指针对象，使指针对象可以通过析构函数进行释放。下面我要说的是比较片面的一个，主要用于管理对指向同一指针对象的共享，方法是计数的方法。
思想：对于new的一个对象a，通过计数来统计有多少个指针对象指向它，析构一次，则计数次数减去1，那么进]]></description><category></category></item><item><title><![CDATA[【C++】指向函数的指针与返回指针的函数]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/45486513</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/45486513</guid><author>SmellyKitty</author><pubDate>Mon, 04 May 2015 21:42:16 +0800</pubDate><description><![CDATA[字面看就可以看出二者的区别，指向函数的指针即指针指向的地址为某个函数，而返回指针的函数为某个函数返回值是指针。
下面具体说：
1、指向函数的指针
bool (*ptr)(int a);
解析：声明指针ptr，指向的函数带有一个int形参，并返回bool型变量。注：*ptr两边的括号是必须的。否则如下：
bool *ptr(int a);

为返回指针的函数，函数名ptr，参数为int]]></description><category></category></item><item><title><![CDATA[HMM && GMM]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/45367801</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/45367801</guid><author>SmellyKitty</author><pubDate>Wed, 29 Apr 2015 15:58:02 +0800</pubDate><description><![CDATA[转载：
http://www.inf.ed.ac.uk/teaching/courses/asr/2012-13/asr03-hmmgmm-4up.pdf]]></description><category></category></item><item><title><![CDATA[【机器学习】K-means聚类]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/45317257</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/45317257</guid><author>SmellyKitty</author><pubDate>Mon, 27 Apr 2015 21:49:29 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006910.html
K-means聚类：这篇博客讲的很好，从聚类算法过程，到原理都讲的很清晰。
再增加一些自己的总结：
1、由于k-means是无监督聚类，也就是不知道样本的类别信息，那么如何确定当前分的K类是最优的？
确切的来说，没有特定的方法来确定K的最优值。那么如何让K]]></description><category></category></item><item><title><![CDATA[【C++】指针与引用]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/45286039</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/45286039</guid><author>SmellyKitty</author><pubDate>Sun, 26 Apr 2015 09:51:17 +0800</pubDate><description><![CDATA[用一句话总结的话，指针是指向对象地址的变量，而引用是对象的别名。详细点说就是，系统为指针变量分配了内存地址，存储的是指向的对象的地址；而引用是对象的别名，它的地址就是对象的地址，两个是一回事。
        int a = 0;
	int &b = a;
	int *p = &a;
	cout << &a << endl;
	cout << &b << endl;
	cout 

输出结果]]></description><category></category></item><item><title><![CDATA[【算法】多叉树寻找A\B节点的分支点]]></title><link>https://blog.youkuaiyun.com/SmellyKitty/article/details/45268821</link><guid>https://blog.youkuaiyun.com/SmellyKitty/article/details/45268821</guid><author>SmellyKitty</author><pubDate>Sat, 25 Apr 2015 11:24:11 +0800</pubDate><description><![CDATA[小米笔试中的一道题，题意是，多叉树，0为根节点，给定矩阵m， 
m[i][j]==1表示两点连接，给出A,B两个节点，寻找他们的最近分支节点。 
如题： "001001";
 "001100";
 "110010";
 "010000";
 "001000";
 "100000";
               0
             /    \
            2      5]]></description><category></category></item></channel></rss>