zg_hover的专栏

Get buy living or get busy dying!

spark2 Dataset实现原理分析-Dataframe原理介绍和Dataset的对比

概述 本文讲述Spark Dataframe的原理要点。 Dataframe原理要点 Spark SQL引入了一个名为DataFrame的表格函数数据抽象。设计它的目的在于:简化Spark应用程序的开发。这样就可以在Spark基础架构上处理大量结构化表格数据。 DataFrame是一种数据...

2019-06-15 14:05:42

阅读数 28

评论数 0

Spark2 Dataset实现原理分析-Dataset实现原理概要

概述 本文讲述spark sql中的dataset的组成部分,并对其创建过程进行分析。 Dataset要点 我们可以总结出dataset的一些要点,如下: 和关系型数据表一样,Dataset是强类型的。 数据集的行的集合,被称为Dataframe。 和RDD一样,Dataset的操作分为两类:转...

2019-06-07 22:03:34

阅读数 53

评论数 0

spark2原理分析-shuffle框架之ShuffleReader实现分析

概述 本文讲述shuffleReader的具体实现。从这篇文章中,我们已经知道shuffleReader是一个抽象类,该抽象类只有一个read函数,用来在shuffle阶段从本地或远程获取数据。 该抽象类的实现类是:BlockStoreShuffleReader。本文主要讲述该实现类的具体实现。 ...

2019-05-25 21:34:31

阅读数 59

评论数 0

spark2原理分析—shuffle框架的实现概要分析

概述 本文分析spark2的shuffle过程的实现。 shuffle过程介绍 shuffle总体流程 spark2的shuffle过程可以分为shuffle write和shuffle read。shuffle write把map阶段计算完成的数据写入到本地。而shuffle read是从不同的...

2019-05-19 20:41:21

阅读数 1063

评论数 0

spark2实战-通过spark dataframe导入csv文件到动态分区表

概述 本文讲述如何把一个dataframe加载到spark的动态分区表中。 场景介绍 把csv和parquet文件加载到spark的动态分区表中,有很多中方案,这里介绍如何通过spark的dataframe把数据文件加载到动态分区表中。 注意:为了保证性能,指定分区的字段的字典数据的唯一值最好不要...

2019-05-19 10:21:00

阅读数 66

评论数 0

spark2原理分析-SparkEnv的初始化

概述 本文讲述spark执行环境:SparkEnv的概念和实现原理。 spark执行环境(SparkEnv)的基本概念 spark执行环境的实现类是:SparkEnv,该类包括所有spark运行实例(master和worker)需要的运行环境工具类,包块:序列化,block manager,map...

2019-05-19 10:14:03

阅读数 69

评论数 0

spark2原理分析-统一内存管理实现分析

概述 本文讲述统一内存管理的实现原理。并从源码角度进行分析。 堆外内存(off-heap memory)和堆内内存(on-heap memory) 堆外内存(off-heap memory) 为了进一步优化内存的使用以及提高 Shuffle 时排序的效率,Spark 引入了堆外(Off-heap)...

2019-05-19 10:12:56

阅读数 87

评论数 0

JanusGraph实战-动态创建图(ConfiguredGraphFactory)

概述 本文讲述如何在JanusGraph中使用动态图。 为什么要使用动态图 在前面的一些文章中,介绍了简单的使用JanusGraph来进行一些图的操作。但请注意,绝大部分的操作都是基于现有的图基础上进行的,那么为什么启动JanusGraph Server就已经有图存在了呢? 其实是因为,我们的gr...

2019-04-18 16:07:43

阅读数 164

评论数 0

JanusGraph实战-多种方式使用JanusGraph Server

概述 本文讲述通过多种方式来访问和使用JanusGraph。并通过实际例子进行讲解。 JanusGraph Server和JanusGraph说明 JanusGraph使用Gremlin Server引擎作为服务器组件来处理和响应客户端的请求。当把Gremlin Server打包在JanusGra...

2019-04-17 21:48:51

阅读数 128

评论数 0

JanusGraph实战-使用模式说明

概述 本文介绍JanusGraph的使用模式和基本的配置。 JanusGraph的两种使用方式 JanusGraph有两使用模式: 把JanusGraph作为依赖包嵌入到应用中。 JanusGraph作为服务运行。 在实际情况下,常用的运行模式是:以服务的方式运行janusGraph,把Jan...

2019-04-17 21:42:09

阅读数 75

评论数 0

spark2实战-使用checkpoint保存和读取还原RDD

概述 本文讲述如何使用checkpoint来保存rdd,并读取还原rdd的数据。 checkpoint简介 checkpoint可以把rdd持久化到磁盘上,可以是本地磁盘也可以是外部存储系统(比如:hadoop文件系统)。 要注意的是:在rdd进行checkpoint时,会先把rdd的血缘(lin...

2019-04-17 09:33:42

阅读数 105

评论数 0

JanusGraph安装和使用入门:JanuxGraph+Hbase方式

概述 本文讲述如何在单机上安装和使用JanusGraph。 JanusGraph安装说明 通过JanusGraph的架构可知,JanusGraph由4大部分组成,(后台存储系统,后台索引系统,Gremlin+JanusGraph组件,后台Cache系统)。而这几大部分可以分开安装,且支持灵活的配置...

2019-04-15 14:09:37

阅读数 198

评论数 0

JanusGraph的架构介绍

概述 本文讲述JanusGraph的基本架构设计。 JanusGraph概况 JanusGraph是一个图数据库引擎。JanusGraph专注于压缩的图序列化,丰富的图数据建模和高效的查询执行。此外,JanusGraph利用Hadoop进行图分析和批图处理。JanusGraph为数据持久性,数据索...

2019-04-12 17:49:54

阅读数 78

评论数 0

spark2 rdd实战-使用mapPartitons实战

概述 本文讲述map和mapPartitions的相同点和区别。并对mapPartitions优缺点进行总结,并总结了mapPartitions的使用例子。 map和mapPartitions map mapPartitions transformation transformat...

2019-04-11 23:01:33

阅读数 87

评论数 0

分布式图数据库-JanusGraph简介

概述 本文介绍分布式图数据库JanusGraph的基本概念和优势。 基本概念 JanusGraph是一个可扩展的图数据库(graph database),针对存储和查询包含分布在多机群集中的数千亿个顶点和边的图进行了优化。JanusGraph是一个事务数据库,可以支持数千个并发用户实时执行复杂的图...

2019-04-11 22:53:29

阅读数 74

评论数 0

spark2 rdd实战-加载数据到rdd

概述 本文讲述通过spark加载各种形式的数据并形成rdd的各种方式。 加载数据到rdd的多种方式 可以有多种方式把数据加载到rdd中。如下: 并行化集合-parallelize函数 介绍 创建rdd的最简单的方式就是并行化(parallelize)数据集,也就是说把一个对象集合转换为可以并行操作...

2019-04-10 09:34:40

阅读数 76

评论数 0

如何通过cat命令快速生成一个大文件

概述 有时候我们需要一个较大的文件来进行测试,可以通过shell的cat命令来快速生成一个大文件。 这是以前玩linux时,用到的一个小技巧,分享给大家。 具体操作 主要使用了<<和>以及cat的输入属性,使得输入不断重复添加到一个文件的末尾。 cat &...

2019-04-09 14:14:20

阅读数 111

评论数 0

大数据治理开源组件Griffin介绍

概述 大数据发展到今天,对数据质量的要求越来越高,如何保证数据的质量,如何对数据的一致性进行检测? 本文介绍开源的数据治理组件griffin的功能和组成。griffin是国人(ebay工程师)编写的一款数据治理开源软件。 Griffin介绍 Apache Griffin(以下简称Griffin)是...

2019-04-06 18:13:53

阅读数 246

评论数 0

调试和观察mysqld server源码的运行

概述 mysqld的源码十分的庞大,模块很多,本文讲述如何通过gdb来调试和观察mysqld源码的运行。 下载mysql server源码 从这里下载想要调试的mysql server源码 http://downloads.mysql.com/archives.php 编译前的配置 进入源码...

2019-04-06 08:09:59

阅读数 62

评论数 0

使用jemalloc来对c,c++程序进行内存管理

概述 本文讲述如何在c/c++程序中使用je_malloc内存管理模块来提升c/c++程序的性能。 引言 在编写c/c++服务器代码时,服务器的性能不仅决定于多线程/进程池模型的使用,还有很大程度上在于如何使用和管理内存。 目前比较流行的c/c++代码来看,nginx,memcached,mysq...

2019-04-05 22:46:47

阅读数 777

评论数 0

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