自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

转载 spark在windows下运行报错ERROR Shell: Failed to locate the winutils binary in the hadoop binary path

文章发自:http://www.cnblogs.com/hark0623/p/4170172.html  转发请注明14/12/17 19:18:53 ERROR Shell: Failed to locate the winutils binary in the hadoop binary pathjava.io.IOException: Could not locate executable

2017-12-31 18:22:55 421

转载 go中方法的接收者是值或者指针区别

参考文章:http://studygolang.com/articles/1113希望解决的问题如下假设有两个方法,一个方法的接收者是指针类型,一个方法的接收者是值类型,那么:对于值类型的变量和指针类型的变量,这两个方法有什么区别?如果这两个方法是为了实现一个接口,那么这两个方法都可以调用吗?如果方法是嵌入到其他结构体中的,那么上面两种情况又是怎样的?值类型的变

2017-12-28 15:38:09 1016

转载 Go 语言中的方法,接口和嵌入类型

概述在 Go 语言中,如果一个结构体和一个嵌入字段同时实现了相同的接口会发生什么呢?我们猜一下,可能有两个问题:编译器会因为我们同时有两个接口实现而报错吗?如果编译器接受这样的定义,那么当接口调用时编译器要怎么确定该使用哪个实现?在写了一些测试代码并认真深入的读了一下标准之后,我发现了一些有意思的东西,而且觉得很有必要分享出来,那么让我们先从 Go 语言中的方法开始

2017-12-28 14:59:48 314

转载 go习题二

能力模型级别模型初级primary熟悉基本语法,能够看懂代码的意图;在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范;中级intermediate能够独立完成用户故事的开发和测试;能够嗅出代码的坏味道,并知道如何重构达成目标;高级senior能够开发出高质量高性能的代码;能够

2017-12-26 21:06:20 1293

转载 go习题

最近在很多地方看到了golang的面试题,看到了很多人对Golang的面试题心存恐惧,也是为了复习基础,我把解题的过程总结下来。面试题1. 写出下面代码输出内容。package mainimport ( "fmt")func main() { defer_call()}func defer_call() { defer func() {

2017-12-26 21:04:56 1183

原创 go语言make()和new()

make 函数make 也是内建函数,你可以从 http://golang.org/pkg/builtin/#make 看到它, 它的函数原型 比 new 多了一个(长度)参数,返回值也不同。 函数原型是:func make(Type, size IntegerType) Type 1第一个参数是一个类型,第二个参数是长度返回值是一个类型官方描述为:

2017-12-26 15:15:15 296

原创 go通过共享变量实现并发

协程之间的通信只能够通过通道。但是我们习惯于共享变量,而且很多时候使用共享变量能让代码更简洁。比如一个Server有两个状态开和关。其他仅仅希望获取或改变其状态,那又该如何做呢。可以将这个变量至于0通道中,并使用一个协程来维护。下面的例子描述如何用这个方式,实现一个共享变量。//共享变量有一个读通道和一个写通道组成type sharded_var struct { rea

2017-12-26 14:26:59 3933

转载 goroutine的使用陷阱

在项目开发中,遇到一个奇怪的问题,goroutine调用的函数中的参数值和调用前不一致,代码如下: func test(){ for _,v:=range mydata { fmt.Print(&v) //语句1 go handle(&v) } } func handle(

2017-12-25 17:03:18 827

转载 Go语言并发编程总结

Golang :不要通过共享内存来通信,而应该通过通信来共享内存。这句风靡在Go社区的话,说的就是 goroutine中的 channel .......他在go并发编程中充当着 类型安全的管道作用。1、通过golang中的 goroutine 与sync.Mutex进行 并发同步import(     "fmt"    "sync"    "run

2017-12-19 21:08:59 221

转载 golang语言并发与并行——goroutine和channel的详细理解(三)

Go语言并发的设计模式和应用场景以下设计模式和应用场景来自Google IO上的关于Goroutine的PPT:https://talks.golang.org/2012/concurrency.slide本文的示例代码在: https://github.com/hit9/Go-patterns-with-channel生成器在Python中我们可以使用yield关

2017-12-19 21:03:26 581

转载 golang语言并发与并行——goroutine和channel的详细理解(二)

Go语言的并发和并行不知道你有没有注意到一个现象,还是这段代码,如果我跑在两个goroutines里面的话:var quit chan int = make(chan int)func loop() { for i := 0; i 10; i++ { fmt.Printf("%d ", i) } quit 0}func mai

2017-12-19 21:02:53 268

转载 golang语言并发与并行——goroutine和channel的详细理解(一)

如果不是我对真正并行的线程的追求,就不会认识到Go有多么的迷人。Go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库 来新建线程,还要用线程安全的队列库来共享数据。以下是我入门的学习笔记。Go语言的goroutines、信道和死锁goroutineGo语言中有个概念叫做goroutine, 这类似我们熟知的线程,但是更轻。

2017-12-19 21:02:15 379

转载 go基础-interface

interfaceGo语言里面设计最精妙的应该算interface,它让面向对象,内容组织实现非常的方便,当你看完这一章,你就会被interface的巧妙设计所折服。什么是interface简单的说,interface是一组method签名的组合,我们通过interface来定义对象的一组行为。我们前面一章最后一个例子中Student和Employee都能SayHi

2017-12-17 16:55:28 149

转载 go基础-面向对象

面向对象前面两章我们介绍了函数和struct,那你是否想过函数当作struct的字段一样来处理呢?今天我们就讲解一下函数的另一种形态,带有接收者的函数,我们称为methodmethod现在假设有这么一个场景,你定义了一个struct叫做长方形,你现在想要计算他的面积,那么按照我们一般的思路应该会用下面的方式来实现package mainimport "fmt"

2017-12-17 16:36:28 201

转载 go基础-函数

函数函数是Go里面的核心设计,它通过关键字func来声明,它的格式如下:func funcName(input1 type1, input2 type2) (output1 type1, output2 type2) { //这里是处理逻辑代码 //返回多个值 return value1, value2}上面的代码我们看出关键字func用来声明一个函数f

2017-12-17 15:25:08 232

原创 go基础

变量定义//定义一个名称为“variableName”,类型为"type"的变量var variableName type定义多个变量//定义三个类型都是“type”的变量var vname1, vname2, vname3 type定义变量并初始化值//初始化“variableName”的变量为“value”值,类型是“type”va

2017-12-16 16:59:13 383

原创 go命令工具

1、go build这个命令可以直接使用,也可以带上代码包或源码文件使用。  如果是直接使用,表示试图编译当前目录所对应的代码包,如果当前目录不是一个有效的代码包(包含在 $GOPATH/src 目录下)则会报错;如果带上代码包名,则表示编译指定的代码包;如果带上源码文件,则表示编译指定源码文件。  GO语言的源码文件分为三类,包括命令源码文件、库源码 文件和测试源码文件。

2017-12-16 16:49:54 927

原创 go安装配置

下载地址:https://dl.gocn.io/     linux下载地址:wget https://dl.gocn.io/golang/1.9.2/go1.9.2.linux-amd64.tar.gzGOROOT就是go的安装路径,GOPATH,go install/go get和 go的工具等会用到GOPATH环境变量.GOPATH是作为编译后二进制的存放目的

2017-12-16 15:43:19 200

转载 执行分布式检索过程

查询阶段编辑在初始 查询阶段 时, 查询会广播到索引中每一个分片拷贝(主分片或者副本分片)。 每个分片在本地执行搜索并构建一个匹配文档的 _优先队列_。优先队列一个 优先队列 仅仅是一个存有 top-n 匹配文档的有序列表。优先队列的大小取决于分页参数 from 和 size 。例如,如下搜索请求将需要足够大的优先队列来放入100条文

2017-12-16 14:18:50 1121

转载 elasticsearch-持久化存储

如果没有用 fsync 把数据从文件系统缓存刷(flush)到硬盘,我们不能保证数据在断电甚至是程序正常退出之后依然存在。为了保证 Elasticsearch 的可靠性,需要确保数据变化被持久化到磁盘。在 动态更新索引,我们说一次完整的提交会将段刷到磁盘,并写入一个包含所有段列表的提交点。Elasticsearch 在启动或重新打开一个索引的过程中使用这个提交点来判断哪些段隶属于当

2017-12-10 18:33:05 13219

转载 elasticsearch索引过程

下一个需要被解决的问题是怎样在保留不变性的前提下实现倒排索引的更新? 答案是: 用更多的索引。通过增加新的补充索引来反映新近的修改,而不是直接重写整个倒排索引。每一个倒排索引都会被轮流查询到--从最早的开始--查询完后再对结果进行合并。Elasticsearch 基于 Lucene, 这个 java 库引入了 按段搜索 的概念。 每一 段 本身都是一个倒排索引, 但 索引 

2017-12-10 18:15:51 1026

原创 elasticsearch-索引性能优化技巧

索引性能技巧编辑如果你是在一个索引负载很重的环境, 比如索引的是基础设施日志,你可能愿意牺牲一些搜索性能换取更快的索引速率。在这些场景里,搜索常常是很少见的操作,而且一般是由你公司内部的人发起的。他们也愿意为一个搜索等上几秒钟,而不像普通消费者,要求一个搜索必须毫秒级返回。基于这种特殊的场景,我们可以有几种权衡办法来提高你的索引性能。1、如果你的搜索结果不需要近

2017-12-10 17:51:47 6876 1

转载 elasticsearch-段合并

段合并编辑由于自动刷新流程每秒会创建一个新的段 ,这样会导致短时间内的段数量暴增。而段数目太多会带来较大的麻烦。 每一个段都会消耗文件句柄、内存和cpu运行周期。更重要的是,每个搜索请求都必须轮流检查每个段;所以段越多,搜索也就越慢。Elasticsearch通过在后台进行段合并来解决这个问题。小的段被合并到大的段,然后这些大的段再被合并到更大的段。段合并的

2017-12-10 17:41:15 4711

转载 elasticsearch近实时搜索refresh

近实时搜索编辑随着按段(per-segment)搜索的发展, 一个新的文档从索引到可被搜索的延迟显著降低了。新文档在几分钟之内即可被检索,但这样还是不够快。磁盘在这里成为了瓶颈。 提交(Commiting)一个新的段到磁盘需要一个 fsync 来确保段被物理性地写入磁盘,这样在断电的时候就不会丢失数据。 但是 fsync 操作代价很大; 如果每次索引一个文档都去

2017-12-10 17:25:03 2199

转载 ElasticSearch里面复杂关系数据的存储方式

在传统的数据库里面,对数据关系描述无外乎三种,一对一,一对多和多对多的关系,如果有关联关系的数据,通常我们在建表的时候会添加主外键来建立数据联系,然后在查询或者统计时候通过join来还原或者补全数据,最终得到我们需要的结果数据,那么转化到ElasticSearch里面,如何或者怎样来处理这些带有关系的数据。我们都知道ElasticSearch是一个NoSQL类型的数据库,本身是弱化了对关系

2017-12-10 15:58:26 4135

转载 ES常规基础优化措施

(1)选择正确的存储 如:选择默认的default存储类型。(2)按需设定刷新频率 索引刷新频率定义:文档需要多长时间才能出现在搜索结果中。 正确认知: 1)刷新频率越短,查询越慢,且索引文档的吞吐率越低。 2)默认刷新频率:1s刷新一次。 3)无限的增加刷新时间是没有意义的,因为超过一定的值(取决于你的数据负载和数据量)之后,性能提升变得微乎其微。(3)线

2017-12-10 12:23:40 4522

转载 干货 | Elasticsearch5.X Mapping万能模板

0、引言在关系型数据库如Mysql中,设计库表需要注意的是: 1)需要几个表; 2)每个表有哪些字段; 3)表的主键及外键的设定——便于有效关联。 表的设计遵守范式约束,考虑表的可扩展性,避免开发后期对表做大的改动。 Mysql或者Oracle中,修改数据类型相对比较简单,通过命令行或者navicat、sqldeveloper等可视化工具直接修改。 即便千万级别数据

2017-12-07 20:19:45 253

原创 elasticsearch-mapping字段重要属性

1、index定义字段的分析类型以及检索方式,控制字段值是否被索引.他可以设置成 true 或者 false。没有被索引的字段将无法搜索    如果是no,则无法通过检索查询到该字段;    如果设置为not_analyzed则会将整个字段存储为关键词,常用于汉字短语、邮箱等复杂的字符串;    如果设置为analyzed则将会通过默认的standard分析器进行分析2、e

2017-12-03 23:31:55 12854

numpy.exe、scipy.exe

windows下numpy和scipy最简单的安装方法

2016-01-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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