<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wangshuxing的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wangshuxing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangshuxing]]></copyright><item><title><![CDATA[elasticsearch 查询（match和term）]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84807988</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84807988</guid><author>wangshuxing</author><pubDate>Tue, 28 Jun 2016 16:45:19 +0800</pubDate><description><![CDATA[
es中的查询请求有两种方式，一种是简易版的查询，另外一种是使用JSON完整的请求体，叫做结构化查询（DSL）。由于DSL查询更为直观也更为简易，所以大都使用这种方式。DSL查询是POST过去一个json，由于post的请求是json格式的，所以存在很多灵活性，也有很多形式。这里有一个地方注意的是官方文档里面给的例子的json结构只是一部分，并不是可以直接黏贴复制进去使用的。一般要在外面加个que...]]></description><category></category></item><item><title><![CDATA[[Elasticsearch] 聚合中的重要概念 - Buckets(桶)及Metrics(指标)]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84807980</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84807980</guid><author>wangshuxing</author><pubDate>Tue, 28 Jun 2016 16:14:38 +0800</pubDate><description><![CDATA[
本章翻译自Elasticsearch官方指南的Aggregations-High-level Concepts一章。
 
 

高层概念(High-Level Concepts)
 
和查询DSL一样，聚合(Aggregations)也拥有一种可组合(Composable)的语法：独立的功能单元可以被混合在一起来满足你的需求。这意味着需要学习的基本概念虽然不多，但是它们的组合方式是几近...]]></description><category></category></item><item><title><![CDATA[Maven实战——打包的技巧]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84807553</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84807553</guid><author>wangshuxing</author><pubDate>Fri, 24 Jun 2016 14:52:37 +0800</pubDate><description><![CDATA[
“打包“这个词听起来比较土，比较正式的说法应该是”构建项目软件包“，具体说就是将项目中的各种文件，比如源代码、编译生成的字节码、配置文件、文档，按照规范的格式生成归档，最常见的当然就是JAR包和WAR包了，复杂点的例子是Maven官方下载页面的分发包， 它有自定义的格式，方便用户直接解压后就在命令行使用。作为一款”打包工具“，Maven自然有义务帮助用户创建各种各样的包，规范的JAR包和WAR包...]]></description><category></category></item><item><title><![CDATA[Hive SQL的优化(转)]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84771084</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84771084</guid><author>wangshuxing</author><pubDate>Thu, 17 Mar 2016 15:37:28 +0800</pubDate><description><![CDATA[
本章只是从HQL层面介绍一下，日常开发HQL中需要注意的一些优化点，不涉及Hadoop层面的参数、配置等优化。
其中大部分是我之前发过的博客文章，这里整理了下。
11.1 使用分区剪裁、列剪裁
在SELECT中，只拿需要的列，如果有，尽量使用分区过滤，少用SELECT *。
在分区剪裁中，当使用外关联时，如果将副表的过滤条件写在Where后面，那么就会先全表关联，之后再过滤，比如：
S...]]></description><category></category></item><item><title><![CDATA[Hive的元数据表结构详解（转自lxw1234）]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84770616</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84770616</guid><author>wangshuxing</author><pubDate>Tue, 15 Mar 2016 18:16:38 +0800</pubDate><description><![CDATA[
本文介绍一下Hive元数据中重要的一些表结构及用途，以Hive0.13为例。
文章最后面，会以一个示例来全面了解一下，Hive的元数据是怎么生成和存储的。
13.1 存储Hive版本的元数据表（VERSION）
该表比较简单，但很重要。


VER_ID
SCHEMA_VERSION
VERSION_COMMENT


ID主键
Hive版本
版本说明


1
0.13.0...]]></description><category></category></item><item><title><![CDATA[RDD详解]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84770282</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84770282</guid><author>wangshuxing</author><pubDate>Mon, 14 Mar 2016 14:30:48 +0800</pubDate><description><![CDATA[
Job 逻辑执行图

General logical plan

典型的 Job 逻辑执行图如上所示，经过下面四个步骤可以得到最终执行结果：

从数据源（可以是本地 file，内存数据结构， HDFS，HBase 等）读取数据创建最初的 RDD。上一章例子中的 parallelize() 相当于 createRDD()。
对 RDD 进行一系列的 transformation() 操作...]]></description><category></category></item><item><title><![CDATA[数据仓库和数据集市的区别与联系（转）]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84751154</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84751154</guid><author>wangshuxing</author><pubDate>Thu, 19 Nov 2015 10:44:37 +0800</pubDate><description><![CDATA[
企业从事数据仓库项目时，往往会遇到多个数据仓库软件供应商。各供应商除了推销相关的软件工具外，同时会向企业灌输许多概念，其中，数据仓库和数据集市是最常见的。由于术语定义不统一，另外各个供应商销售策略不一样，往往会给企业带来很大的混淆。最典型的问题是：到底是先上一个企业级的数据仓库呢？还是先上一个部门级的数据集市？本文试图说明这两个概念之间的区别和联系，以期对具体的数据仓库项目有所裨益。1．为什么会...]]></description><category></category></item><item><title><![CDATA[HBase的compact分析]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84751152</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84751152</guid><author>wangshuxing</author><pubDate>Thu, 19 Nov 2015 10:41:31 +0800</pubDate><description><![CDATA[
  HBase是基于LSM树存储模型的分布式NoSQL数据库。LSM树对比普遍的B+树来说，能够获得较高随机写性能的同时，也能保持可靠的随机读性能（可参考这里）。在进行读请求的时候，LSM树要把多个子树（类似B+树结构）进行归并查询，对于HBase来说，这些子树就是HFile（还包括内存上的树结构MemStore）。因此归并查询的子树数越少，查询的性能就越高。
Compact的作用
    ...]]></description><category></category></item><item><title><![CDATA[Linux下查看文件和文件夹大小]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84739311</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84739311</guid><author>wangshuxing</author><pubDate>Thu, 27 Aug 2015 17:16:00 +0800</pubDate><description><![CDATA[
当磁盘大小超过标准时会有报警提示，这时如果掌握df和du命令是非常明智的选择。
    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点，但对文件却无能为力。    du可以查看文件及文件夹的大小。
    两者配合使用，非常有效。比如用df查看哪个一级目录过大，然后用df查看文件夹或文件的大小，如此便可迅速确定症结。
    下面分别简要介绍
    df命令可以显示目前所有文...]]></description><category></category></item><item><title><![CDATA[（转）Maven最佳实践：划分模块]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84739074</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84739074</guid><author>wangshuxing</author><pubDate>Wed, 26 Aug 2015 09:55:02 +0800</pubDate><description><![CDATA[
“分天下为三十六郡，郡置守，尉，监” —— 《史记·秦始皇本纪》
 
所有用Maven管理的真实的项目都应该是分模块的，每个模块都对应着一个pom.xml。它们之间通过继承和聚合（也称作多模块，multi-module）相互关联。那么，为什么要这么做呢？我们明明在开发一个项目，划分模块后，导入Eclipse变成了N个项目，这会带来复杂度，给开发带来不便。
 
为了解释原因，假设有这样一...]]></description><category></category></item><item><title><![CDATA[ hive中order by,sort by, distribute by, cluster by作用以及用法]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84736829</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84736829</guid><author>wangshuxing</author><pubDate>Mon, 10 Aug 2015 16:27:06 +0800</pubDate><description><![CDATA[
1. order by
    Hive中的order by跟传统的sql语言中的order by作用是一样的，会对查询的结果做一次全局排序，所以说，只有hive的sql中制定了order by所有的数据都会到同一个reducer进行处理（不管有多少map，也不管文件有多少的block只会启动一个reducer）。但是对于大量数据这将会消耗很长的时间去执行。
    这里跟传统的sql还有一...]]></description><category></category></item><item><title><![CDATA[大数据性能调优之HBase的RowKey设计]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84736509</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84736509</guid><author>wangshuxing</author><pubDate>Fri, 07 Aug 2015 16:48:30 +0800</pubDate><description><![CDATA[

1 概述

HBase是一个分布式的、面向列的数据库，它和一般关系型数据库的最大区别是：HBase很适合于存储非结构化的数据，还有就是它基于列的而不是基于行的模式。
既然HBase是采用KeyValue的列存储，那Rowkey就是KeyValue的Key了，表示唯一一行。Rowkey也是一段二进制码流，最大长度为64KB，内容可以由使用的用户自定义。数据加载时，一般也是根据Rowke...]]></description><category></category></item><item><title><![CDATA[(分析比较到位)NoSql 分析 hbase，mongodb，redis]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84733124</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84733124</guid><author>wangshuxing</author><pubDate>Thu, 16 Jul 2015 18:15:55 +0800</pubDate><description><![CDATA[
hbase，mongodb，redis都属于nosql型存储方案。在实际的项目实践上看，他们的系统存储及处理的数量由大到小。HBase基于列存储，提供&amp;lt;key, family:qualifier, timestamp&amp;gt;三项坐标方式定位数据，由于其qualifier的动态可扩展型（无需schema设计，可存储任意多的qualifier），特别适合存储稀疏表结构的数据（比如互联网网页类）...]]></description><category></category></item><item><title><![CDATA[(转)MapReduce:详解Shuffle过程]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84725667</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84725667</guid><author>wangshuxing</author><pubDate>Wed, 24 Jun 2015 11:21:28 +0800</pubDate><description><![CDATA[
  Shuffle过程是MapReduce的核心，也被称为奇迹发生的地方。要想理解MapReduce， Shuffle是必须要了解的。我看过很多相关的资料，但每次看完都云里雾里的绕着，很难理清大致的逻辑，反而越搅越混。前段时间在做MapReduce job 性能调优的工作，需要深入代码研究MapReduce的运行机制，这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火，所以...]]></description><category></category></item><item><title><![CDATA[(分享)数据库与数据仓库的区别]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84725634</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84725634</guid><author>wangshuxing</author><pubDate>Wed, 24 Jun 2015 10:07:12 +0800</pubDate><description><![CDATA[简而言之，数据库是面向事务的设计，数据仓库是面向主题设计的。 数据库一般存储在线交易数据，数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余，一般采用符合范式的规则来设计，数据仓库在设计是有意引入冗余，采用反范式的方式来设计。 数据库是为捕获数据而设计，数据仓库是为分析数据而设计，它的两个基本的元素是维表和事实表。维是看问题的角度，比如时间，部门，维表放的就是这些东西的定义，事实表里放着要查...]]></description><category></category></item><item><title><![CDATA[数据仓库数据模型之：极限存储--历史拉链表]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84724884</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84724884</guid><author>wangshuxing</author><pubDate>Wed, 17 Jun 2015 15:44:52 +0800</pubDate><description><![CDATA[
在数据仓库的数据模型设计过程中，经常会遇到这样的需求：
1. 数据量比较大;2. 表中的部分字段会被update,如用户的地址，产品的描述信息，订单的状态等等;3. 需要查看某一个时间点或者时间段的历史快照信息，比如，查看某一个订单在历史某一个时间点的状态，   比如，查看某一个用户在过去某一段时间内，更新过几次等等;4. 变化的比例和频率不是很大，比如，总共有1000万的会员，每天新增和发生...]]></description><category></category></item><item><title><![CDATA[map和reduce 个数的设定 （Hive优化）经典]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84724860</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84724860</guid><author>wangshuxing</author><pubDate>Wed, 17 Jun 2015 14:34:09 +0800</pubDate><description><![CDATA[
一、    控制hive任务中的map数: 1.    通常情况下，作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有： input的文件总个数，input的文件大小，集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到，该参数不能自定义修改)；2.    举例： a)    假设input目录下有1个文件a,大小为78...]]></description><category></category></item><item><title><![CDATA[数据库的范式及反范式]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84724138</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84724138</guid><author>wangshuxing</author><pubDate>Fri, 12 Jun 2015 15:10:03 +0800</pubDate><description><![CDATA[
范式：英文名称是 Normal Form，它是英国人 E.F.Codd（关系数据库的老祖宗）在上个世纪70年代提出关系数据库模型后总结出来的，范式是关系数据库理论的基础，也是我们在设计数据库结构过程中所要遵循的规则和指导方法。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式，才能设计出高效率、优雅的数据库，否则可能会设计出错误的数据库.目前有迹可寻的共有8种范式，依次是：...]]></description><category></category></item><item><title><![CDATA[Hive JOIN使用详解]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84724014</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84724014</guid><author>wangshuxing</author><pubDate>Thu, 11 Jun 2015 18:27:48 +0800</pubDate><description><![CDATA[
Hive是基于Hadoop平台的，它提供了类似SQL一样的查询语言HQL。有了Hive，如果使用过SQL语言，并且不理解Hadoop MapReduce运行原理，也就无法通过编程来实现MR，但是你仍然可以很容易地编写出特定查询分析的HQL语句，通过使用类似SQL的语法，将HQL查询语句提交Hive系统执行查询分析，最终Hive会帮你转换成底层Hadoop能够理解的MR Job。对于最基本的HQ...]]></description><category></category></item><item><title><![CDATA[(转)Dubbo与Zookeeper、SpringMVC整合和使用（负载均衡、容错）]]></title><link>https://blog.youkuaiyun.com/wangshuxing/article/details/84722502</link><guid>https://blog.youkuaiyun.com/wangshuxing/article/details/84722502</guid><author>wangshuxing</author><pubDate>Thu, 04 Jun 2015 16:49:30 +0800</pubDate><description><![CDATA[
互联网的发展，网站应用的规模不断扩大，常规的垂直应用架构已无法应对，分布式服务架构以及流动计算架构势在必行，Dubbo是一个分布式服务框架，在这种情况下诞生的。现在核心业务抽取出来，作为独立的服务，使前端应用能更快速和稳定的响应。
 
第一：介绍Dubbo背景
 
    
 
 
 
大规模服务化之前，应用可能只是通过RMI或Hessian等工具，简单的暴露和引用远程服务，通...]]></description><category></category></item></channel></rss>