<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[囧芝麻的博客]]></title><description><![CDATA[欣若相遇，只为初见]]></description><link>https://blog.youkuaiyun.com/Full_Stack_delp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Full_Stack_delp]]></copyright><item><title><![CDATA[ElasticSearch核心概念]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/79612789</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/79612789</guid><author>Full_Stack_delp</author><pubDate>Mon, 19 Mar 2018 15:51:19 +0800</pubDate><description><![CDATA[1、lucene和elasticsearch的前世今生 
2、elasticsearch的核心概念 
3、elasticsearch核心概念 vs. 数据库核心概念



1、lucene和elasticsearch的前世今生

lucene，最先进、功能最强大的搜索库，直接基于lucene开发，非常复杂，api复杂（实现一些简单的功能，写大量的java代码），需要深入理解原理（各种索引结构）

...]]></description><category></category></item><item><title><![CDATA[Elasticsearch的功能、特点介绍]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/79612411</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/79612411</guid><author>Full_Stack_delp</author><pubDate>Mon, 19 Mar 2018 15:31:24 +0800</pubDate><description><![CDATA[1、Elasticsearch的功能，干什么的 
2、Elasticsearch的适用场景，能在什么地方发挥作用 
3、Elasticsearch的特点，跟其他类似的东西不同的地方在哪里



1、Elasticsearch的功能

（1）分布式的搜索引擎和数据分析引擎

搜索：百度，网站的站内搜索，IT系统的检索 
数据分析：电商网站，最近7天牙膏这种商品销量排名前10的商家有哪些；新闻网站，最...]]></description><category></category></item><item><title><![CDATA[Elasticsearch倒排索引]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/79612033</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/79612033</guid><author>Full_Stack_delp</author><pubDate>Mon, 19 Mar 2018 15:12:14 +0800</pubDate><description><![CDATA[Elasticsearch，分布式，高性能，高可用，可伸缩的搜索和分析系统

1、什么是搜索？ 
2、如果用数据库做搜索会怎么样？ 
3、什么是全文检索、倒排索引和Lucene？ 
4、什么是Elasticsearch？



1、什么是搜索？

百度：我们比如说想找寻任何的信息的时候，就会上百度去搜索一下，比如说找一部自己喜欢的电影，或者说找一本喜欢的书，或者找一条感兴趣的新闻（提到搜索的第一印...]]></description><category></category></item><item><title><![CDATA[企业大数据平台架构]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/76588573</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/76588573</guid><author>Full_Stack_delp</author><pubDate>Wed, 02 Aug 2017 17:30:41 +0800</pubDate><description><![CDATA[目录：

什么是大数据Hadoop介绍-HDFS、MR、Hbase大数据平台应用举例-腾讯公司的大数据平台架构

“就像望远镜让我们能够感受宇宙，显微镜让我们能够观测微生物一样，大数据正在改变我们的生活以及理解世界的方式……”。

大数据的4V特征-来源



公司的“大数据”

随着公司业务的增长，大量和流程、规则相关的非结构化数据也爆发式增长。比如：

1、业务系统]]></description><category></category></item><item><title><![CDATA[Spark SQL下Parquet内幕深度解密]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72973067</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72973067</guid><author>Full_Stack_delp</author><pubDate>Sat, 10 Jun 2017 00:12:22 +0800</pubDate><description><![CDATA[一．SparkSQL下的Parquet意义再思考Twitter用Parquet节省了70%存储费用。
如果HDFS是大数据时代分布式文件系统存储的事实标准的话，Parquet则是整个大数据时代文件存储格式的事实标准
速度更快：从使用SparkSQL操作普通文件CSV和Parquet文件的速度对比上来看，绝大多数情况下，使用Parquet会比使用CSV等普通文件速度提升10倍左右（在一些变通文件系统无]]></description><category></category></item><item><title><![CDATA[Spark SQL下的Parquet使用最佳实践和代码实战]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72973042</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72973042</guid><author>Full_Stack_delp</author><pubDate>Sat, 10 Jun 2017 00:03:08 +0800</pubDate><description><![CDATA[一：Spark SQL下的Parquet使用最佳实践1，过去整个业界对大数据的分析的技术栈的Pipeline一般分为一下两种方式：A）Data Source -> HDFS -> MR/Hive/Spark(相当于ETL) -> HDFS Parquet -> SparkSQL/impala -> Result Service(可以放在DB中，也有可能被通过JDBC/ODBC来作为数据服务使用)；B]]></description><category></category></item><item><title><![CDATA[SparkSQL下Parquet中PushDown的实现]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72972934</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72972934</guid><author>Full_Stack_delp</author><pubDate>Fri, 09 Jun 2017 23:34:20 +0800</pubDate><description><![CDATA[Hive中也有PushDown。PushDown可以极大减少数据输入，极大的提高处理效率。SparkSQL实现了PushDown，在Parquet文件中实现PushDown具有很重要的意义。PushDown是一种SQL优化方式，通常用在查询。应用场景：假设通过DataFrame，df.select(a,b,c).filter(by a).filter(by b).select(c).filter(b]]></description><category></category></item><item><title><![CDATA[使用Java和Scala在IDE中实战RDD和DataFrame动态转换操作]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72972258</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72972258</guid><author>Full_Stack_delp</author><pubDate>Fri, 09 Jun 2017 21:47:29 +0800</pubDate><description><![CDATA[什么是非动态转换？=> 提前已经知道了RDD具体数据的元数据信息，可以通过JavaBean或Case Class的方式提前创建DataFrame时，通过反射的方式获得元数据信息。什么是动态转换？=> 无法提前知道具体的RDD每个Record的列的个数及每列的类型只有在运行时才能知道。这种情况在生产环境下更常见。因为在生产环境下提前知道数据的元数据信息的可能性不大。另外，生产环境下业务会变化，业务变化]]></description><category></category></item><item><title><![CDATA[使用Java和Scala在IDE中实战RDD和DataFrame转换操作]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72965139</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72965139</guid><author>Full_Stack_delp</author><pubDate>Fri, 09 Jun 2017 17:05:28 +0800</pubDate><description><![CDATA[一． RDD与DataFrame转换的重大意义在Spark中RDD可以直接转换成DataFrame。SparkCore的核心是RDD，所有的调度都是基于RDD完成的，对RDD的操作都可以转换成基于DataFrame使用SparkSQL来操作。RDD可能接上数据库，接上NoSQL，其他文件系统等各种数据来源，然后将数据转换为DataFrame，极大简化了大数据的开发，原来写Scala\Java，现在只]]></description><category></category></item><item><title><![CDATA[使用Java和Scala在IDE中开发DataFrame]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72951806</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72951806</guid><author>Full_Stack_delp</author><pubDate>Fri, 09 Jun 2017 02:07:31 +0800</pubDate><description><![CDATA[Java版本代码如下：import org.apache.spark.SparkConf;
import org.apache.spark.SparkContext;
import org.apache.spark.sql.DataFrame;
import org.apache.spark.sql.SQLContext;/**
 * 使用Java的方式实战对DataFrame的操作
 */
pub]]></description><category></category></item><item><title><![CDATA[SparkSQL on Hive配置与实战]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72942932</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72942932</guid><author>Full_Stack_delp</author><pubDate>Thu, 08 Jun 2017 23:19:32 +0800</pubDate><description><![CDATA[首先要配置好hive，保存元数据到mysql中，这个大家自己查资料！然后配置Spark SQL,  
1.配置hive-site.xml  
在master1上的/usr/local/spark/spark-1.6.0-bin-hadoop2.6/conf目录创建hive-site.xml文件，内容如下： <configuration>  
<property>  
    <name>hive.m]]></description><category></category></item><item><title><![CDATA[Spark SQL和DataFrame的本质]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72917890</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72917890</guid><author>Full_Stack_delp</author><pubDate>Thu, 08 Jun 2017 14:52:36 +0800</pubDate><description><![CDATA[1，  Spark SQL和DataFrame（DataSet，还没有深度去使用）2，  DataFrame与RDD3，  企业级最佳实践一：Spark SQL和DataFrame1，  Spark SQL是除了Spark Core以外最大的和最受关注的组件。a)      其更加强大，可以操作各种数据来源和各种格式的数据；用户可以扩展Spark SQL的功能来支持更多类型的数据（例如Kudu）。b]]></description><category></category></item><item><title><![CDATA[60分钟内从零起步驾驭Hive实战学习笔记]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72917856</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72917856</guid><author>Full_Stack_delp</author><pubDate>Thu, 08 Jun 2017 14:49:16 +0800</pubDate><description><![CDATA[SparkSQL前身是Shark，Shark强烈依赖于Hive。Spark原来没有做SQL多维度数据查询工具，后来开发了Shark，Shark依赖于Hive的解释引擎，部分在Spark中运行，还有一部分在Hadoop中运行。所以讲SparkSQL必须讲Hive。一．Hive的本质:
Hive是分布式数据仓库，同时又是查询引擎，所以SparkSQL取代的只是Hives的查询引擎，在企业实际生产环境下，]]></description><category></category></item><item><title><![CDATA[Spark性能调优（十）之Spark统一内存管理]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72878236</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72878236</guid><author>Full_Stack_delp</author><pubDate>Tue, 06 Jun 2017 14:49:08 +0800</pubDate><description><![CDATA[一：Memory Manager在Spark 1.6 版本中，memoryManager 的选择是由spark.memory.useLegacyMode=false决定的。如果采用1.6之前的模型，这会使用StaticMemoryManager来管理，否则使用新的UnifiedMemoryManager，我们先看看1.6之前，对于一个Executor,内存都有哪些部分构成：1，ExecutionMe]]></description><category></category></item><item><title><![CDATA[Spark性能调优（九）之Spark Tungsten内存使用]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72877963</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72877963</guid><author>Full_Stack_delp</author><pubDate>Tue, 06 Jun 2017 14:33:05 +0800</pubDate><description><![CDATA[一：Tungsten中到底什么是Page？  
1.在Spark其实不存在Page这个类的。Page是一种数据结构(类似于Stack，List等)，从OS层面上讲，Page代表了一个内存块，在Page里面可以存放数据，在OS中会存放很多不同的Page，当要获得数据的时候首先要定位具体是哪个Page中的数据，找到该Page之后从Page中根据特定的规则(例如说数据的offset和length)取出数据]]></description><category></category></item><item><title><![CDATA[Spark性能调优（八）之Spark Tungsten-sort Based Shuffle]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72877892</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72877892</guid><author>Full_Stack_delp</author><pubDate>Tue, 06 Jun 2017 14:27:44 +0800</pubDate><description><![CDATA[一：使用Tungsten功能  
1， 如果想让您的程序使用Tungsten的功能，可以配置：  
Spark.Shuffle.Manager = tungsten-sort Tungsten中文blogTungsten英文blogSpark在钨丝计划下要管理两种类型的内存存储方式：堆内和堆外。为了管理他们，所以搞了一个Page。  
堆外：指针直接指向数据本身。  
堆内：指针首先指向Object]]></description><category></category></item><item><title><![CDATA[Spark性能调优（七）之钨丝计划]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72877792</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72877792</guid><author>Full_Stack_delp</author><pubDate>Tue, 06 Jun 2017 14:20:32 +0800</pubDate><description><![CDATA[一：“钨丝计划”产生的本质原因1，Spark作为一个一体化多元化的（大）数据处理通用平台，性能一直是其根本性的追求之一，Spark基于内存迭代（部分基于磁盘迭代）的模型极大的满足了人们对分布式系统处理性能的渴望，但是有Spark事采用Scala+Java语言编写的所以运行在JVM平台，当然JVM是一个绝对伟大的平台，因为JVM让整个离散的主机融为一体（网络即OS），但是JVM的死穴GC反过来限制了S]]></description><category></category></item><item><title><![CDATA[Spark性能调优（六）]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72877617</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72877617</guid><author>Full_Stack_delp</author><pubDate>Tue, 06 Jun 2017 14:05:45 +0800</pubDate><description><![CDATA[一：Shuffle性能调优1，问题：Shuffle output file lost？真正的原因是GC导致的！！！如果GC尤其是Full GC产生通常会导致线程停止工作，这个时候下一个Stage的Task在默认情况下就会尝试重试来获取数据，一般重试3次每次重试的时间为5s，也就是说默认情况下15s内如果还是无法抓到数据的话，就会出现Shuffle output file lost等情况，进而会导致T]]></description><category></category></item><item><title><![CDATA[Spark性能调优（五）]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72877597</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72877597</guid><author>Full_Stack_delp</author><pubDate>Tue, 06 Jun 2017 14:04:15 +0800</pubDate><description><![CDATA[一：性能优化之数据本地性1，数据本地性对分布式系统的性能而言是一件最为重要的事情（之一），程序运行本身包含代码和数据两部分，单机版本一般情况下很少数据本地性的问题（因为数据在本地），但是对于单机版本的程序由于数据本地性有PROCESS_LOCAL和NODE_LOCAL之分，所以我们还是尽量的让数据处于PROCESS_LOCAL；Spark作为分布式系统更加注意数据本地性，在Spark中数据本地性分为]]></description><category></category></item><item><title><![CDATA[Spark性能调优（四）]]></title><link>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72873597</link><guid>https://blog.youkuaiyun.com/Full_Stack_delp/article/details/72873597</guid><author>Full_Stack_delp</author><pubDate>Tue, 06 Jun 2017 01:08:19 +0800</pubDate><description><![CDATA[一：Spark性能调优之序列化1，之所以进行序列化，最重要的原因是内存空间有限（减少GC的压力，最大化的避免Full GC的产生，因为一旦产生Full GC则整个Task处于停止状态！！！）、减少磁盘IO的压力、减少网络IO的压力；2，什么时候会必要的产生序列化或反序列化呢？发生磁盘IO和网络通讯的时候会序列化和反序列化，更为重要的考虑序列化和反序列化的时候有另外两种情况：A)Persist（Che]]></description><category></category></item></channel></rss>