<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Cruise的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/StromCruise</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; StromCruise]]></copyright><item><title><![CDATA[交互式查询工具impala]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/118665670</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/118665670</guid><author>StromCruise</author><pubDate>Mon, 12 Jul 2021 02:16:47 +0800</pubDate><description><![CDATA[交互式查询工具impala
主要内容
第 1 部分 Impala概述（Impala是什么，优势，劣势，与Hive对⽐）
第 2 部分 Impala的安装(制作本地Yum源⽅式安装)
第 3 部分 Impala的架构原理(有哪些组件，组件的作⽤，查询流程，查询计划)
第 4 部分 Impala的使⽤（使⽤与Hive类似，编写sql⽅式；Impala的DDL,查询语法，导⼊数据）
第 5 部分 Impala的Java 开发(Java+C++,使⽤JDBC⽅式查询Impala)
第 6 部分 Impala的优化(]]></description><category></category></item><item><title><![CDATA[自定义分区]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/118397030</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/118397030</guid><author>StromCruise</author><pubDate>Thu, 01 Jul 2021 20:21:09 +0800</pubDate><description><![CDATA[自定义分区
需求说明
场景：实际生产中需求变化多端，默认分区规则往往不能满足需求，需要结合业务逻辑来灵活控制分区规则以及分区数量。
如何定制自己需要的分区规则？
具体步骤：

自定义类继承Partitioner，重写getPartition()方法
在Driver驱动中，指定使用自定义Partitioner
在Driver驱动中，要根据自定义Partitioner的逻辑设置相应数量的ReduceTask数量。

需求： 按照不同的appkey把记录输出到不同的分区中
原始日志格式
001 001577c3 ]]></description><category></category></item><item><title><![CDATA[序列化Writable接口]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/118397003</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/118397003</guid><author>StromCruise</author><pubDate>Thu, 01 Jul 2021 20:20:21 +0800</pubDate><description><![CDATA[序列化Writable接口
基本的序列化类型往往不能满足所有需求，比如在Hadoop框架内部传递一个自定义bean对象，那么对该对象就要实现Writable序列化接口。

编写套路

必须实现Writable接口
反序列化时，需要反射调用空参构造函数，所以必须有空参构造

public CustomBean() {
	super();
}


重写序列化方法

@Override
public void write(DataOutput out) throws IOException {
	....
}

]]></description><category></category></item><item><title><![CDATA[大数据简介]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/118396971</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/118396971</guid><author>StromCruise</author><pubDate>Thu, 01 Jul 2021 20:19:44 +0800</pubDate><description><![CDATA[大数据简介
大数据的定义
大数据是指无法在一定时间范围内用常规软件工具进行捕捉，管理和处理的数据集合，是需要新处理模式才能具有更强的决策力，洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据的特点
大数据的特点可以用“5V”来描述，

大量 Volume :

采集、存储和计算的数据量都非常大。


高速 Velocity（低延迟）：

在大数据时代，数据的创建、存储、分析都要求被高速处理，比如电商网站的个性化推荐尽 可能要求实时完成推荐，这也是大数据区别于传统数据挖掘的显著特征。


多]]></description><category></category></item><item><title><![CDATA[工厂模式介绍]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/117635624</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/117635624</guid><author>StromCruise</author><pubDate>Sun, 06 Jun 2021 19:51:33 +0800</pubDate><description><![CDATA[简单工厂模式
看一个披萨的项目：要便于披萨种类的扩展，要便于维护


披萨的种类很多(比如 GreekPizz、 CheesePizz 等)


披萨的制作有 prepare， bake, cut, box


完成披萨店订购功能。


传统的代码

//将Pizza 类做成抽象
public abstract class Pizza {
	protected String name; //名字

	//准备原材料, 不同的披萨不一样，因此，我们做成抽象方法
	public abstract void pr]]></description><category></category></item><item><title><![CDATA[基于Netty的WebSocket开发网页版聊天室]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/117620615</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/117620615</guid><author>StromCruise</author><pubDate>Sun, 06 Jun 2021 10:31:00 +0800</pubDate><description><![CDATA[基于Netty的WebSocket开发网页版聊天室
WebSocket简介
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单，允许服务端主动向客户端推送数据。在WebSocket API中，客户端和服务器只需要完成一次握手，两者之间就直接可以创建持久性的连接，并进行双向数据传输。
应用场景十分广泛:

社交订阅
协同编辑/编程
股票基金报价
体育实况更新
多媒体聊天
在线教育
实时地图位置
实时数据流的拉取与推送

WebSock]]></description><category></category></item><item><title><![CDATA[Netty案例-群聊天室]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/117616980</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/117616980</guid><author>StromCruise</author><pubDate>Sun, 06 Jun 2021 08:01:45 +0800</pubDate><description><![CDATA[Netty案例-群聊天室
案例要求:

编写一个Netty群聊系统，实现服务器端和客户端之间的数据简单通讯。
实现多人群聊
服务器端: 可以监测用户上线，离线，并实现消息转发功能。
客户端：可以发消息给其它所有用户，同时可以接受其它用户发送的消息。

聊天室服务端编写
NettyChatServer
package com.my.chat;

import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.*;
import io.net]]></description><category></category></item><item><title><![CDATA[Netty编解码器]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/117608070</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/117608070</guid><author>StromCruise</author><pubDate>Sat, 05 Jun 2021 23:56:38 +0800</pubDate><description><![CDATA[Netty编解码器
java的编解码

编码（Encode）称为序列化， 它将对象序列化为字节数组，用于网络传输、数据持久化或者其它 用途。
解码（Decode）称为反序列化，它把从网络、磁盘等读取的字节数组还原成原始对象（通常是原 始对象的拷贝），以方便后续的业务逻辑操作。


java序列化对象只需要实现java.io.Serializable接口并生成序列化ID，这个类就能够通过 java.io.ObjectInput和java.io.ObjectOutput序列化和反序列化。
java序列化对象只需]]></description><category></category></item><item><title><![CDATA[netty核心原理]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/117606997</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/117606997</guid><author>StromCruise</author><pubDate>Sat, 05 Jun 2021 22:31:48 +0800</pubDate><description><![CDATA[Netty核心原理
Netty介绍
原生 NIO 存在的问题

NIO 的类库和 API 繁杂，使用麻烦：需要熟练掌握 Selector、ServerSocketChannel、 SocketChannel、ByteBuffer等。
需要具备其他的额外技能：要熟悉 Java 多线程编程，因为 NIO 编程涉及到 Reactor 模式，你必须 对多线程和网络编程非常熟悉，才能编写出高质量的 NIO 程序。
开发工作量和难度都非常大：例如客户端面临断连重连、网络闪断、半包读写、失败缓存、网络拥 塞和异常流的处理]]></description><category></category></item><item><title><![CDATA[netty入门案例]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/117606944</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/117606944</guid><author>StromCruise</author><pubDate>Sat, 05 Jun 2021 22:27:57 +0800</pubDate><description><![CDATA[netty案例入门案例
Netty 是由 JBOSS 提供的一个 Java 开源框架,所以在使用得时候首先得导入Netty的maven坐标
&lt;dependency&gt;
    &lt;groupId&gt;io.netty&lt;/groupId&gt;
    &lt;artifactId&gt;netty-all&lt;/artifactId&gt;
    &lt;version&gt;4.1.42.Final&lt;/version&gt;
&lt;/dependency&gt;

Net]]></description><category></category></item><item><title><![CDATA[Win10下 Mysql root用户密码忘记如何解决]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/80135262</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/80135262</guid><author>StromCruise</author><pubDate>Sat, 28 Apr 2018 15:15:38 +0800</pubDate><description><![CDATA[mysql root 用户密码忘记解决方案（Win10）


按下电脑键盘上的win+R快捷键打开电脑的运行窗口，之后，直接在运行窗口中输入services.msc并单击回车。
在进入到电脑的服务窗口之后，找到右侧窗口中的“MySQL”，选定，将其“停止”即可，这样，MySQL Server服务就停止。
接下来，需要找到MySQL在电脑中的安装位置，找到之后，会看到其文件夹中有一个ini格式的文件...]]></description><category></category></item><item><title><![CDATA[numpy.newaxis]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/78750017</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/78750017</guid><author>StromCruise</author><pubDate>Fri, 08 Dec 2017 11:46:10 +0800</pubDate><description><![CDATA[从字面上是插入新的维度的意思import  numpy as npb = np.array([1, 2, 3, 4, 5, 6])
print("b.shape:",b.shape)
print("b[np.newaxis]:",b[np.newaxis])
print("b[:,np.newaxis]:",b[:,np.newaxis])
print("b[:,np.newaxis].shape:]]></description><category></category></item><item><title><![CDATA[人脸关键点检测]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/78749940</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/78749940</guid><author>StromCruise</author><pubDate>Fri, 08 Dec 2017 11:38:30 +0800</pubDate><description><![CDATA[一：目标 
      人脸关键点检测是在人脸检测的基础上，对人脸上的特征点例如眼睛、鼻子、嘴巴等进行定位。本例是使用caffe框架实现的结果，效果如下： 
            二：数据源的制作 
           因为lmdb不支持多标签，所以这里使用的是hdf5格式，支持多标签。 
           卷积神经网络可以用于分类和回归任务，做分类任务时最后一个全连接层的输出维度为类别数，]]></description><category></category></item><item><title><![CDATA[以root权限在pycharm 中运行python 文件]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/78711647</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/78711647</guid><author>StromCruise</author><pubDate>Mon, 04 Dec 2017 17:14:26 +0800</pubDate><description><![CDATA[pycharm 中Permission denied问题 解决方案 
系统：ubuntu16.4 
1、在/usr/bin/目录下新建文件 python2.7_sudo.sh ：sudo gedit /usr/bin/python2.7_sudo.sh 在文件中写入下列代码：#! /bin/bash   
sudo python $* 2、给sh文件赋予权限：cd /usr/bin/  
sudo]]></description><category></category></item><item><title><![CDATA[ubuntu16.04 安装caffe  无GPU]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/78644491</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/78644491</guid><author>StromCruise</author><pubDate>Mon, 27 Nov 2017 14:10:11 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/go-better/p/7160615.html 
此版本注意之后要将path 路径导出 export PYTHONPATH=/home/tom/caffe/python:$PYTHONPATH/home/tom/caffe/python为自己安装 caffe下的python 文件夹所在的路径安装时遇到问题解决方案： 
http://blog.csdn]]></description><category></category></item><item><title><![CDATA[ubuntu下中文文件名乱码]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/78590644</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/78590644</guid><author>StromCruise</author><pubDate>Tue, 21 Nov 2017 11:26:21 +0800</pubDate><description><![CDATA[windows下的中文文件名拷贝到ubuntu下面以后，文件名直接变成乱码，原因为windows下的文件名以GBK编码，而Ubuntu下的文件 名为utf-8编码。ubuntu下有一个工具可以用来转换文件名的编码，这个工具是convmv 。安装方法： apt-get install convmv使用方法： convmv -f GBK -t utf-8  –notest *如此可以把当前目录下的所有中]]></description><category></category></item><item><title><![CDATA[centos7  cdh5.8使用python 的 pysh2连接hiveServer2]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/78327086</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/78327086</guid><author>StromCruise</author><pubDate>Tue, 24 Oct 2017 10:47:52 +0800</pubDate><description><![CDATA[1.可以使用CDH自带的pip  /opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p0.2/lib/hue/build/env/bin/pip install pyhs22.复制cdh的hive包py到指定目录： 
scp -r /opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p0.2/lib/hive/lib/py/*/u]]></description><category></category></item><item><title><![CDATA[基于python impyla，pyhs2的hive客户端]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/78321313</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/78321313</guid><author>StromCruise</author><pubDate>Mon, 23 Oct 2017 17:46:32 +0800</pubDate><description><![CDATA[文章写的不错，再而参照官网 
http://blog.youkuaiyun.com/gamer_gyt/article/details/52564335]]></description><category></category></item><item><title><![CDATA[Hive修改表语句]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/78286390</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/78286390</guid><author>StromCruise</author><pubDate>Thu, 19 Oct 2017 16:26:20 +0800</pubDate><description><![CDATA[重命名表
ALTER TABLE table_name RENAME TO new_table_name;上面这个命令可以重命名表，数据所在的位置和分区都没有改变。
改变列名/类型/位置/注释
ALTER TABLE table_name CHANGE
[CLOUMN] col_old_name col_new_name column_type
[CONMMENT col_conmment]
[FI]]></description><category></category></item><item><title><![CDATA[k-近邻算法  手写识别系统]]></title><link>https://blog.youkuaiyun.com/StromCruise/article/details/78253542</link><guid>https://blog.youkuaiyun.com/StromCruise/article/details/78253542</guid><author>StromCruise</author><pubDate>Mon, 16 Oct 2017 20:03:12 +0800</pubDate><description><![CDATA[机器学习习实战示例：使用k-邻近算法的手写识别系统
  手机数据：提供文本文件 
  准备数据：编写函数img2vector(),将图像格式转化为分类器使用的向量格式 
  分析数据：在Python命令提示符中检查数据，确保它符合要求。 
  训练算法：不适合k-邻近算法 
  测试算法：编写函数使用提供的部分数据集作为测试样本，测试样本与非测试样本的区别在于测试样本是已经分类好的数据，如果预测分类]]></description><category></category></item></channel></rss>