摘要: 对bulk request的处理流程: 1、遍历所有的request,对其做一些加工,主要包括:获取routing(如果mapping里有的话)、指定的timestamp(如果没有带timestamp会使用当前时间),如果没有指定id字段,在action.bulk.action.allow_id_g 阅读全文
posted @ 2016-11-18 19:51 bonelee 阅读(2336) 评论(0) 推荐(0)
摘要: 对bulk request的处理流程: 1、遍历所有的request,对其做一些加工,主要包括:获取routing(如果mapping里有的话)、指定的timestamp(如果没有带timestamp会使用当前时间),如果没有指定id字段,在action.bulk.action.allow_id_g 阅读全文
posted @ 2016-11-17 21:16 bonelee 阅读(15441) 评论(1) 推荐(0)
摘要: http://www.jianshu.com/p/cccc56e39429/comments/2022782 和 https://github.com/elastic/elasticsearch-hadoop/issues/745 都有提到通过自定义Spark Partitioner提升es-had 阅读全文
posted @ 2016-11-12 18:06 bonelee 阅读(1309) 评论(0) 推荐(0)
摘要: channel是golang中很重要的概念,配合goroutine是golang能够方便实现并发编程的关键。channel其实就是传统语言的阻塞消息队列,可以用来做不同goroutine之间的消息传递,由于goroutine是轻量级的线程能够在语言层面调度,所以channel在golang中也常被用 阅读全文
posted @ 2016-11-12 11:20 bonelee 阅读(7392) 评论(0) 推荐(0)
摘要: 对Java程序员来说,我们对面向对象的编程(OOP)自然都是烂熟于胸的,但语言也极大地影响了我们构建面向对象应用程序的方式。(现在的OOP已经和Alan Kay当初创造这个词时候的初衷大不相同了,他的主要思想是采用消息传递并消灭所有状态数据(他认为,系统是由一些类似于生物细胞那样的对象构成的,这些对 阅读全文
posted @ 2016-11-12 10:47 bonelee 阅读(3095) 评论(0) 推荐(0)
摘要: elasticsearch 自定义ID: 启动本地es,然后写入数据,data2.json: 通过批量插入上述数据: 可以看到新生成的文档_id为uuid的数值! 阅读全文
posted @ 2016-11-11 20:18 bonelee 阅读(12058) 评论(0) 推荐(0)
摘要: 有时自己的业务需要自己实现spark的分区函数 以下代码是实现一个自定义spark分区的demo 实现的功能是根据key值的最后一位数字,写到不同的文件 例如: 10写入到part-00000 11写入到part-00001 . . . 19写入到part-00009 自定义分区: 阅读全文
posted @ 2016-11-11 19:54 bonelee 阅读(3809) 评论(0) 推荐(0)
摘要: 路由文档到分片 当你索引一个文档,它被存储在单独一个主分片上。Elasticsearch是如何知道文档属于哪个分片的呢?当你创建一个新文档,它是如何知道是应该存储在分片1还是分片2上的呢? 进程不能是随机的,因为我们将来要检索文档。事实上,它根据一个简单的算法决定: routing值是一个任意字符串 阅读全文
posted @ 2016-11-11 19:02 bonelee 阅读(4724) 评论(2) 推荐(0)
摘要: spark streaming 入门例子: spark shell 然后运行bash脚本,在tmp里写入数据,文件名随机: 结果为: 阅读全文
posted @ 2016-11-11 16:26 bonelee 阅读(1083) 评论(0) 推荐(0)
摘要: ElasticSearch-hadoop saveToEs源码分析: 类的调用路径关系为: 他们的作用: EsSpark,读取ES和存储ES的入口 EsRDDWriter,调用RestService创建PartitionWriter,对ES进行数据写入 RestService,负责创建 RestRe 阅读全文
posted @ 2016-11-11 14:36 bonelee 阅读(4833) 评论(0) 推荐(0)