ES使用
Diving into the funcationality
逻辑结构
ElasticSearch是面向文档的,即索引与查询的最小单元就是文档(Document)。
1 | { |
Types是文档在逻辑上的容器,类似于表包含行一样。不同结构的文档,放在不同的type类型下面。在一个Type中,对于fields的定义,叫做映射(mapping)。类似表结构的定义。Index是types的容器,类似于数据库。整体结构如下:
ES:Document—Type—Index
对应关系表:行—表—库
ElasticSearch是面向文档的,即索引与查询的最小单元就是文档(Document)。
1 | { |
Types是文档在逻辑上的容器,类似于表包含行一样。不同结构的文档,放在不同的type类型下面。在一个Type中,对于fields的定义,叫做映射(mapping)。类似表结构的定义。Index是types的容器,类似于数据库。整体结构如下:
ES:Document—Type—Index
对应关系表:行—表—库
对HBase中的数据读取,有多种方式,如Get,List
首先,准备数据写入HBase,总数10万记录,格式如下:
1-aabbcc
10-aabbcc
100-aabbcc
…
2-aabbcc
20-aabbcc
200-aabbcc
…
Flume除了提供强大的Source,Sink以及Channel之外,还提供了Interceptor机制,在Source端获取数据后,可以立即对数据进行处理。
除了Flume提供的系统Interceptor拦截器之外,用户还可以通过自定义的方法利用代码实现更为复杂且灵活的拦截器。
Flume在大数据环境下,通常用来进行数据的搬运,它提供了丰富的Source和Sink组件,使得我们可以很方便的进行各组异构环境下的配置。KafkaSink是其中较为普遍使用的sink组件,它支持Flume将采集到的数据发送到Kafka消息队列中。
在Flume提供的KafkaSink的相关配置参数中,有一些与kafka的topic以及分区相关的配置参数,可以帮助我们在面对多Topic或多分区的情况下,更灵活地利用Flume的Sink机制,将数据分发到正确的队列中。
作者:Vijay Jayaram
时间:June 2018
译者:ovasty
Mixpanel是一个用户分析平台,它让任何人都可以从数据中学习并采取行动。它从遍布全世界的客户的网站和移动App中获取数据并通过可交互的用户界面生成汇总的报告。为了能够提供一个强有力的,支持大规模用户分析的工具,我们花费了数年时间搭建自已的数据库,名叫Arb。在这篇文章中,我们将深入系统架构之中,一探究竟。
我们内部开发了Arb来满足自身严苛的需求: