<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Aries1Chan的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Aries1Chan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Aries1Chan]]></copyright><item><title><![CDATA[python搭建虚拟环境]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/127759199</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/127759199</guid><author>Aries1Chan</author><pubDate>Tue, 08 Nov 2022 21:20:37 +0800</pubDate><description><![CDATA[python搭建虚拟环境]]></description><category></category></item><item><title><![CDATA[GeoPandas安装保姆级教程]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/124659444</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/124659444</guid><author>Aries1Chan</author><pubDate>Mon, 09 May 2022 09:33:16 +0800</pubDate><description><![CDATA[一、简介

geopandas是建立在GEOS、GDAL、PROJ等开源地理空间计算相关框架之上的，类似pandas 语法风格的空间数据分析 Python 库，其目标是尽可能地简化 Python 中的地理空间数据处理，减少对 Arcgis 、 PostGIS 等工具的依赖，使得处理地理空间数据变得更加高效简洁，打造纯 Python 式的空间数据处理工作流。本系列文章就将围绕 geopandas 及其使用过程中涉及到的其他包进行系统性的介绍说明，每一篇将尽可能全面具体地介绍 geopandas 对应.....]]></description><category></category></item><item><title><![CDATA[arcpy结合GDAL使用之环境搭配]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/121706610</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/121706610</guid><author>Aries1Chan</author><pubDate>Fri, 03 Dec 2021 20:42:23 +0800</pubDate><description><![CDATA[一、引言

最近需要利用pycharm进行arcpy与GDAL的python开发，期间遇到了几个小问题，查了很多教程都没有解决。最主要的问题有两个，一是arcpy使用的是python2.7，因此需要安装与python2.7相对应的GDAL版本；另一个就是安装完GDAL后，发现numpy版本又不匹配，因此也需要重新安装numpy。以下是对问题与解决办法的总结。

二、问题与总结


...]]></description><category></category></item><item><title><![CDATA[【学习历程】21 HBase表的热点]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/120264010</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/120264010</guid><author>Aries1Chan</author><pubDate>Mon, 13 Sep 2021 11:43:14 +0800</pubDate><description><![CDATA[1.1 什么是热点

检索habse的记录首先要通过rowkey来定位数据行。
当大量的client访问hbase集群的一个或少数几个节点，造成少数region server的读/写请求过多、负载过大，而其他region server负载却很小，就造成了“热点”现象。

1.2 热点的解决方案
1.2.1 预分区

预分区的目的让表的数据可以均衡的分散在集群中，而不是默认只有一个region分布在集群的一个节点上。

1.2.2 加盐

这里所说的加盐不是密码学中的加盐，而是在rowkey的前面增加随机数，]]></description><category></category></item><item><title><![CDATA[【学习历程】20 HBase集成Hive]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/120263386</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/120263386</guid><author>Aries1Chan</author><pubDate>Mon, 13 Sep 2021 11:37:01 +0800</pubDate><description><![CDATA[文章目录1.1 HBase与Hive的对比1.1.1 Hive1.1.2 HBase1.1.3 总结：Hive与HBase1.2 整合配置1.2.1 拷贝jar包1.2.2 修改hive的配置文件1.2.3 修改hive-env.sh配置文件
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hive提供了与HBase的集成，使得能够在HBase表上使用hive sql语句进行查询、插入操作以及进行Join和Union等复杂查询，同时也可以将hive表中的数据映射到Hbase中
1.1 HBase]]></description><category></category></item><item><title><![CDATA[【学习历程】19 HBase表的预分区]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/120262955</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/120262955</guid><author>Aries1Chan</author><pubDate>Mon, 13 Sep 2021 11:05:28 +0800</pubDate><description><![CDATA[一、前言

当一个table刚被创建的时候，Hbase默认的分配一个region给table。也就是说这个时候，所有的读写请求都会访问到同一个regionServer的同一个region中，这个时候就达不到负载均衡的效果了，集群中的其他regionServer就可能会处于比较空闲的状态。
解决这个问题可以用pre-splitting,在创建table的时候就配置好，生成多个region。

二、为何要预分区？

增加数据读写效率
负载均衡，防止数据倾斜
方便集群容灾调度region
优化Map数量

三、预]]></description><category></category></item><item><title><![CDATA[【学习历程】18 HBase读写数据流程]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/120262222</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/120262222</guid><author>Aries1Chan</author><pubDate>Mon, 13 Sep 2021 10:51:20 +0800</pubDate><description><![CDATA[一、HBase读数据流程


说明：HBase集群，只有一张meta表，此表只有一个region，该region数据保存在一个HRegionServer上

1.1 客户端首先与zk进行连接

从zk找到meta表的region位置，即meta表的数据存储在某一HRegionServer上
客户端与此HRegionServer建立连接，然后读取meta表中的数据；meta表中存储了所有用户表的region信息，我们可以通过scan 'hbase:meta'来查看meta表信息

1.2 根据要查询的name]]></description><category></category></item><item><title><![CDATA[【学习历程】17 HBase的数据存储原理]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/120261724</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/120261724</guid><author>Aries1Chan</author><pubDate>Mon, 13 Sep 2021 10:28:55 +0800</pubDate><description><![CDATA[1、 一个HRegionServer会负责管理很多个region
2、 一个 region 包含很多个 store

一个 列族 就划分成一个 store
如果一个表中只有1个列族，那么每一个region中只有一个store
如果一个表中有N个列族，那么每一个region中有N个store

3、 一个store里面只有一个memstore

memstore是一块内存区域，写入的数据会先写入memstore进行缓冲，然后再把数据刷到磁盘

4、一个store里面有很多个 StoreFile, 最后数据是.]]></description><category></category></item><item><title><![CDATA[【学习历程】16 Hive的四种表模型]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/120142183</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/120142183</guid><author>Aries1Chan</author><pubDate>Mon, 06 Sep 2021 19:55:53 +0800</pubDate><description><![CDATA[文章目录一、内部表与外部表1.1 内部表与外部表的区别1.2 内部表与外部表的使用时机二、分区表与分桶表2.1 分区表2.2 分桶表
一、内部表与外部表
1.1 内部表与外部表的区别
1、建表语法的区别

外部表在创建的时候需要加上external关键字

2、删除表之后的区别

内部表删除后，表的元数据和真实数据都被删除了
外部表删除后，仅仅只是把该表的元数据删除了，真实数据还在，后期还是可以恢复出来

1.2 内部表与外部表的使用时机

内部表由于删除表的时候会同步删除HDFS的数据文件，所以确定如果一]]></description><category></category></item><item><title><![CDATA[【学习历程】15 Hadoop性能调优]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/119986921</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/119986921</guid><author>Aries1Chan</author><pubDate>Sun, 29 Aug 2021 22:43:08 +0800</pubDate><description><![CDATA[文章目录一、HDFS参数调优hdfs-site.xml二、YARN参数调优yarn-site.xml三、mapreduce的优化方法
一、HDFS参数调优hdfs-site.xml
1、调整namenode处理客户端的线程数
dfs.namenode.handler.count=20 * log2(Cluster Size)

2、编辑日志存储路径dfs.namenode.edits.dir设置与镜像文件存储路径dfs.namenode.name.dir尽量分开，达到最低写入延迟
3、元数据信息fsimag]]></description><category></category></item><item><title><![CDATA[【学习历程】14 Yarn之yarn的工作机制]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/119986652</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/119986652</guid><author>Aries1Chan</author><pubDate>Sun, 29 Aug 2021 22:11:17 +0800</pubDate><description><![CDATA[一、yarn的架构
&nbsp;&nbsp;&nbsp;&nbsp;类似HDFS，Yarn也是经典的主从（master/slave）架构，Yarn服务由一个ResourceManager（RM）和多个NodeManager（NM）构成，ResourceManager为主节点（master），NodeManager为从节点（slave）。
二、yarn的工作机制


MR程序提交到客户端所在的节点
YarnRunner向ResourceManager申请一个Application
RM将该应用程序的资源路径返]]></description><category></category></item><item><title><![CDATA[【学习历程】13 MapReduce之自定义outputFormat]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/119986067</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/119986067</guid><author>Aries1Chan</author><pubDate>Sun, 29 Aug 2021 21:37:28 +0800</pubDate><description><![CDATA[一、需求
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;现在有一些订单的评论数据，需要将订单的好评与其他评论（中评、差评）进行区分开来，将最终的数据分开到不同的文件夹下面去，数据内容如下图，其中数据第九个字段表示好评，中评，差评。0：好评，1：中评，2：差评

二、分析
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;关键点是要在一个mapreduce程序中根据数据的不同，输出两类结果到不同目录，这类灵活的输出需求可以通过自定义outputformat来实现]]></description><category></category></item><item><title><![CDATA[【学习历程】12 MapReduce之GroupingComparator分组详解]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/119982426</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/119982426</guid><author>Aries1Chan</author><pubDate>Sun, 29 Aug 2021 17:17:16 +0800</pubDate><description><![CDATA[一、前言
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GroupingComparator是mapreduce当中reduce端的一个功能组件，主要的作用是决定哪些数据作为一组，调用一次reduce的逻辑；默认是相同的key，作为同一组，每个组调用一次reduce逻辑；我们可以自定义GroupingComparator实现不同的key作为同一个组，调用一次reduce逻辑。
分组排序属于mr中第六步，自定义一个分组类，细节如下：

自定义类继承WritableComparato]]></description><category></category></item><item><title><![CDATA[【学习历程】11 MapReduce之InputFormat详解]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/119981438</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/119981438</guid><author>Aries1Chan</author><pubDate>Sun, 29 Aug 2021 16:06:28 +0800</pubDate><description><![CDATA[一、前言
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputFormat是mapreduce当中用于处理数据输入的一个组件，是最顶级的一个抽象父类，主要用于解决各个地方的数据源的数据输入问题。FileInputFormat类是InputFormat的一个子类，如果需要操作hdfs上面的文件，基本上都是通过FileInputFormat类来实现的，我们可以通过FileInputFormat来实现各种格式的文件操作。
二、自定义InputFormat
&nbsp;&nbsp;&n]]></description><category></category></item><item><title><![CDATA[【学习历程】10 MapReduce之mapreduce核心思想]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/119974754</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/119974754</guid><author>Aries1Chan</author><pubDate>Sat, 28 Aug 2021 23:01:05 +0800</pubDate><description><![CDATA[一、mapreduce核心思想
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MapReduce的思想核心是**“分而治之”**，适用于大量复杂的任务处理场景（大规模数据处理场景）。Map负责“分”，即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小任务可以并行计算，彼此间几乎没有依赖关系。Reduce负责“合”，即对map阶段的结果进行全局汇总。
二、mapReduce编程模型
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MapReduce的开发一]]></description><category></category></item><item><title><![CDATA[【学习历程】09 Hadoop之Java API的使用]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/119974329</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/119974329</guid><author>Aries1Chan</author><pubDate>Sat, 28 Aug 2021 22:37:58 +0800</pubDate><description><![CDATA[前言
&nbsp;&nbsp;&nbsp;&nbsp; 分布式集群除了可以利用简单的shell命令进行操作外，还可以使用Java API的方式进行操作，下面是操作流程与代码分享。
HDFS的JavaAPI操作
首先，创建maven工程，并导入jar包
&lt;repositories&gt;
    &lt;repository&gt;
        &lt;id&gt;cloudera&lt;/id&gt;
        &lt;url&gt;https://repository.cloudera.c]]></description><category></category></item><item><title><![CDATA[【学习历程】08 Hadoop之namenode与secondaryNameNode解析]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/119961570</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/119961570</guid><author>Aries1Chan</author><pubDate>Fri, 27 Aug 2021 22:56:53 +0800</pubDate><description><![CDATA[问题引入：
&nbsp;&nbsp;&nbsp;&nbsp;NameNode在集群当中主要负责元数据信息的管理，由于元数据信息需要经常随机访问，因此元数据信息必须可以高效的检索，那么如何保证namenode快速检索呢？元数据信息保存在哪里能够快速检索呢？如何保证元数据的持久安全呢？ 
解决方案：
&nbsp;&nbsp;&nbsp;&nbsp;为了保证元数据信息的快速检索，那么我们就必须将元数据存放在内存 当中，因为在内存当中元数据信息能够最快速的检索。
&nbsp;&nbsp;&nbsp;&nbsp;但是]]></description><category></category></item><item><title><![CDATA[【学习历程】07 Hadoop之HDFS读写流程]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/119960221</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/119960221</guid><author>Aries1Chan</author><pubDate>Fri, 27 Aug 2021 21:26:03 +0800</pubDate><description><![CDATA[一、hdfs的写入流程
文件上传流程如下:

创建文件：

HDFS client向HDFS写入数据，先调用DistributedFileSystem. create()
RPC调用namenode的create()，会在HDFS目录树中指定的路径，添加新文件，并将操作记录在edits.log中。namenode.create()方法执行完后，返回一-个FSDataOutputStream，它是DFSOutputStream的包装类。

建立数据流管道pipeline:

client调用DFSOutput]]></description><category></category></item><item><title><![CDATA[【常见问题】03 开虚拟机导致电脑蓝屏]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/119876981</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/119876981</guid><author>Aries1Chan</author><pubDate>Mon, 23 Aug 2021 20:36:03 +0800</pubDate><description><![CDATA[解决办法
1、控制面板—程序—程序与功能—启用或关闭windows功能
首先，检查Hyper-v是否关闭，如下图即可

然后，启用Windows虚拟机监控平台与虚拟机平台，我第一次没有启用虚拟机平台，导致总是失败。如下图

2、此电脑—右键—管理—服务与应用程序—服务，禁用下列服务，如图

3、win+R，输入gpedit.msc
计算机配置—管理模板—系统—Device Guard–打开基于虚拟化的安全—禁用

4、打开win+X（Windows PowerShell选择管理员）
输入 bcdedit /]]></description><category></category></item><item><title><![CDATA[【学习历程】06 Hadoop集群的安装]]></title><link>https://blog.youkuaiyun.com/Aries1Chan/article/details/119874187</link><guid>https://blog.youkuaiyun.com/Aries1Chan/article/details/119874187</guid><author>Aries1Chan</author><pubDate>Mon, 23 Aug 2021 17:46:06 +0800</pubDate><description><![CDATA[文章目录1、上传压缩包并解压2、查看hadoop支持的压缩方式以及本地库3、修改配置文件4、创建文件存放目录5、安装包的分发scp6、配置hadoop的环境变量7、集群启动8、浏览器查看启动页面
1、上传压缩包并解压
将hadoop包上传到第一台服务器并解压；
第一台机器执行以下命令
cd /zzz/soft/
tar -xzvf hadoop-2.6.0-cdh5.14.2_after_compile.tar.gz -C /zzz/install/

2、查看hadoop支持的压缩方式以及本地库
第一台机]]></description><category></category></item></channel></rss>