囧芝麻的博客

欣若相遇,只为初见

ElasticSearch核心概念

1、lucene和elasticsearch的前世今生 2、elasticsearch的核心概念 3、elasticsearch核心概念 vs. 数据库核心概念 1、lucene和elasticsearch的前世今生 lucene,最先进、功能最强大的搜索库,直接基于lucene开发,...

2018-03-19 15:51:19

阅读数 134

评论数 0

Elasticsearch的功能、特点介绍

1、Elasticsearch的功能,干什么的 2、Elasticsearch的适用场景,能在什么地方发挥作用 3、Elasticsearch的特点,跟其他类似的东西不同的地方在哪里 1、Elasticsearch的功能 (1)分布式的搜索引擎和数据分析引擎 搜索:百度,网站的站内搜...

2018-03-19 15:31:24

阅读数 1277

评论数 0

Elasticsearch倒排索引

Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统 1、什么是搜索? 2、如果用数据库做搜索会怎么样? 3、什么是全文检索、倒排索引和Lucene? 4、什么是Elasticsearch? 1、什么是搜索? 百度:我们比如说想找寻任何的信息的时候,就会上百度...

2018-03-19 15:12:14

阅读数 456

评论数 0

企业大数据平台架构

目录: 什么是大数据Hadoop介绍-HDFS、MR、Hbase大数据平台应用举例-腾讯公司的大数据平台架构 “就像望远镜让我们能够感受宇宙,显微镜让我们能够观测微生物一样,大数据正在改变我们的生活以及理解世界的方式……”。 大数据的4V特征-来源 公司的“大数据”...

2017-08-02 17:30:41

阅读数 4306

评论数 0

Spark SQL下Parquet内幕深度解密

一.SparkSQL下的Parquet意义再思考Twitter用Parquet节省了70%存储费用。 如果HDFS是大数据时代分布式文件系统存储的事实标准的话,Parquet则是整个大数据时代文件存储格式的事实标准 速度更快:从使用SparkSQL操作普通文件CSV和Parquet文件的速度对比上...

2017-06-10 00:12:22

阅读数 525

评论数 0

Spark SQL下的Parquet使用最佳实践和代码实战

一:Spark SQL下的Parquet使用最佳实践1,过去整个业界对大数据的分析的技术栈的Pipeline一般分为一下两种方式:A)Data Source -> HDFS -> MR/Hive/Spark(相当于ETL) -> HDFS Parquet -> SparkS...

2017-06-10 00:03:08

阅读数 351

评论数 0

SparkSQL下Parquet中PushDown的实现

Hive中也有PushDown。PushDown可以极大减少数据输入,极大的提高处理效率。SparkSQL实现了PushDown,在Parquet文件中实现PushDown具有很重要的意义。PushDown是一种SQL优化方式,通常用在查询。应用场景:假设通过DataFrame,df.select...

2017-06-09 23:34:20

阅读数 781

评论数 0

使用Java和Scala在IDE中实战RDD和DataFrame动态转换操作

什么是非动态转换?=> 提前已经知道了RDD具体数据的元数据信息,可以通过JavaBean或Case Class的方式提前创建DataFrame时,通过反射的方式获得元数据信息。什么是动态转换?=> 无法提前知道具体的RDD每个Record的列的个数及每列的类型只有在运行时才能知道。这...

2017-06-09 21:47:29

阅读数 759

评论数 0

使用Java和Scala在IDE中实战RDD和DataFrame转换操作

一. RDD与DataFrame转换的重大意义在Spark中RDD可以直接转换成DataFrame。SparkCore的核心是RDD,所有的调度都是基于RDD完成的,对RDD的操作都可以转换成基于DataFrame使用SparkSQL来操作。RDD可能接上数据库,接上NoSQL,其他文件系统等各种...

2017-06-09 17:05:28

阅读数 451

评论数 0

使用Java和Scala在IDE中开发DataFrame

Java版本代码如下:import org.apache.spark.SparkConf; import org.apache.spark.SparkContext; import org.apache.spark.sql.DataFrame; import org.apache.spark.sq...

2017-06-09 02:07:31

阅读数 329

评论数 0

SparkSQL on Hive配置与实战

首先要配置好hive,保存元数据到mysql中,这个大家自己查资料!然后配置Spark SQL, 1.配置hive-site.xml 在master1上的/usr/local/spark/spark-1.6.0-bin-hadoop2.6/conf目录创建hive-site.xml文件,内...

2017-06-08 23:19:32

阅读数 343

评论数 0

Spark SQL和DataFrame的本质

1, Spark SQL和DataFrame(DataSet,还没有深度去使用)2, DataFrame与RDD3, 企业级最佳实践一:Spark SQL和DataFrame1, Spark SQL是除了Spark Core以外最大的和最受关注的组件。a) 其更加强大,可以操作各...

2017-06-08 14:52:36

阅读数 420

评论数 0

60分钟内从零起步驾驭Hive实战学习笔记

SparkSQL前身是Shark,Shark强烈依赖于Hive。Spark原来没有做SQL多维度数据查询工具,后来开发了Shark,Shark依赖于Hive的解释引擎,部分在Spark中运行,还有一部分在Hadoop中运行。所以讲SparkSQL必须讲Hive。一.Hive的本质: Hive是分布...

2017-06-08 14:49:16

阅读数 892

评论数 0

Spark性能调优(十)之Spark统一内存管理

一:Memory Manager在Spark 1.6 版本中,memoryManager 的选择是由spark.memory.useLegacyMode=false决定的。如果采用1.6之前的模型,这会使用StaticMemoryManager来管理,否则使用新的UnifiedMemoryMana...

2017-06-06 14:49:08

阅读数 429

评论数 0

Spark性能调优(九)之Spark Tungsten内存使用

一:Tungsten中到底什么是Page? 1.在Spark其实不存在Page这个类的。Page是一种数据结构(类似于Stack,List等),从OS层面上讲,Page代表了一个内存块,在Page里面可以存放数据,在OS中会存放很多不同的Page,当要获得数据的时候首先要定位具体是哪个Page...

2017-06-06 14:33:05

阅读数 289

评论数 0

Spark性能调优(八)之Spark Tungsten-sort Based Shuffle

一:使用Tungsten功能 1, 如果想让您的程序使用Tungsten的功能,可以配置: Spark.Shuffle.Manager = tungsten-sort Tungsten中文blogTungsten英文blogSpark在钨丝计划下要管理两种类型的内存存储方式:堆内和堆外。为...

2017-06-06 14:27:44

阅读数 293

评论数 0

Spark性能调优(七)之钨丝计划

一:“钨丝计划”产生的本质原因1,Spark作为一个一体化多元化的(大)数据处理通用平台,性能一直是其根本性的追求之一,Spark基于内存迭代(部分基于磁盘迭代)的模型极大的满足了人们对分布式系统处理性能的渴望,但是有Spark事采用Scala+Java语言编写的所以运行在JVM平台,当然JVM是...

2017-06-06 14:20:32

阅读数 432

评论数 0

Spark性能调优(六)

一:Shuffle性能调优1,问题:Shuffle output file lost?真正的原因是GC导致的!!!如果GC尤其是Full GC产生通常会导致线程停止工作,这个时候下一个Stage的Task在默认情况下就会尝试重试来获取数据,一般重试3次每次重试的时间为5s,也就是说默认情况下15s...

2017-06-06 14:05:45

阅读数 291

评论数 0

Spark性能调优(五)

一:性能优化之数据本地性1,数据本地性对分布式系统的性能而言是一件最为重要的事情(之一),程序运行本身包含代码和数据两部分,单机版本一般情况下很少数据本地性的问题(因为数据在本地),但是对于单机版本的程序由于数据本地性有PROCESS_LOCAL和NODE_LOCAL之分,所以我们还是尽量的让数据...

2017-06-06 14:04:15

阅读数 253

评论数 0

Spark性能调优(四)

一:Spark性能调优之序列化1,之所以进行序列化,最重要的原因是内存空间有限(减少GC的压力,最大化的避免Full GC的产生,因为一旦产生Full GC则整个Task处于停止状态!!!)、减少磁盘IO的压力、减少网络IO的压力;2,什么时候会必要的产生序列化或反序列化呢?发生磁盘IO和网络通讯...

2017-06-06 01:08:19

阅读数 333

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭