- 浏览: 29779 次
- 性别:
- 来自: 北京
最新评论
文章列表
Infra Redis Client
Infra Redis client 基于 Jedis 实现了对 Redis 集群的访问封装。
Redis Client 能做什么?
Infra Redis client 提供如下特性:
支持双机房集群 failover 方案
支持以 pipeline 方式访问 Redis 集群
支持 Redis 访问实时监测
怎么使用 Redis Client?
配置 maven 依赖:
<dependency>
<groupId>com.city.infra</groupId>
...
Java Collections 框架中的接口,有很多方法被标注为可选的(optional),这意味着允许具体的实现类不实现这些方法,被调用到的时候直接抛出一个 UnsupportedOperationException 异常。
同时 Java 也提供了一系列的通用实现(general purpose implementations),这些实现适用于所有通用的场景,它们实现了对应接口的所有方法,下面这个表格总结的所有的通用实现:
接口
HashTable
Resiable Array
Balanced Tree
Li
Collection(下称"对象集") 指一个能够表示一组对象的对象(比如数组)。Java 平台提供了一个 Collections 框架,它是一个统一的架构,用来表示和处理对象集,同时又对每一个具体的对象集做了很多实现上的算法优化。
Collections 框架的主要优点有:
降低编程成本:这些数据结构和算法都已经摆在那里,你就不用自己实现了。
提升性能:提供的数据结构和算法实现都是高性能的。每个接口内部都提供了多种可以互相替代的实现,程序可以通过替换实现来进行性能调优。
提供了无关 API 间的内部交互:建立了一个通用的语义,给 API 传入和传出对 ...
可扩展的语言
Scala 是“Scalable Language”的首字母缩写,scala即可提供所见即所得的编程体验,也可以用在高性能的关键系统中。Twitter、LinkedIn和Intel都在用。
面向对象
Scala 是一门存粹的面向对象的语言,每一个变量都是对 ...
列表(List)通常有两种实现方案:链表和数组。
Redis 的列表是通过链表方式实现的,其优点是在列表头部或尾部的插入操作时间复杂度是 O(1) ;缺点是通过下标访问元素的效率不及数组列表。
如果需要频繁地访问一个很大集 ...
Redis 支持丰富的数据格式,下面是 Redis 支持的数据格式列表:
Binary-safe strings
二进制安全的字符序列
Lists
按插入时间排序的字符串集合,基本上是链表。(从字面意思看,如果列表过长时会换用其他数据结构)
Sets
唯一的无序的字符串集合
Sorted sets
也是集合,但每个元素对应一个分数,集合中的元素按照这个分数排序。Sorted sets 支持像取得 top 10 的元素这样的操作。
Hashes
就是通常意义 ...
Hive (二) 系统架构
- 博客分类:
- Hive
下图是 hive 系统的整体结构图
Hive 体系结构
上图显示了 Hive 的主要组件以及 Hive 跟 Hadoop 的交互过程,这些组件分别是:
UI:用户提交查询和其他操作到系统的用户接口。
Driver:接收查询的组件,负责 session 管理,提供基于 JDBC/ODBC 接口的执行和数据拉取 API。
Compiler:解析查询,对查询的不同部分做语法分析,生成执行计划。
Metastore:存储数据仓库中所有数据的结构信息,包括列名和列的类型信息;也
Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进行运行。 其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开发专门的 MapReduce 应用,十分适合数据仓库的统计分析。
适用场景
Hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。
Hive 构建在基于静态批处理的 Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。
Hive ...
Kafka(五) -- 数据导入导出
- 博客分类:
- Kafka
用命令行方式读写 Kafka 玩玩还行,真正投入实际使用时,往往需要把数据导入到 Kafka 或导出 Kafka 数据到本地文件中。这里我们学习一下怎么实现这个功能。
先创建一个本地源数据文件:
echo -e "foo\nbar" > test.txt
然后我们启动一个独立(standalone)模式的连接:
bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties config/c ...
这一节我们看下怎么创建一个多实例的集群(以三个节点为例)。
一、 创建配置文件
进入到 Kafka 主目录,以 config/server.properties 为原型,创建两个新的节点配置文件
cp config/server.properties config/server-1.properties
cp ...
以下我们分五个步骤来说明 Kafka 系统的安装和使用(命令行方式)
(一)下载代码
下载链接:
https://www.apache.org/dyn/closer.cgi?path=/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz
下载后解压:
tar -xzf kafka_2.11-0.9.0.0.tgz
cd kafka_2.11-0.9.0.0
(二)启动服务
Kafak 使用 ZooKeeper 管理,所以如果没有的话就先启动一个 ZooKeeper。可以通过如下脚本启动一个临时单点 ZooK ...
从 Kafak 官网介绍来看,它适用于如下七类场景
消息分发(Messaging)
Kafka 可以替代传统的消息中间代理系统,相比之下 Kafka 有更高的吞吐量,内置的数据划分、多副本、容错机制使得它是大规模消息处理应用的一个很好选择。
这个领域里比较传统的系统是 ActiveMQ 和 RabbitMQ。
网络行为跟踪(Website Activity Tracking)
Kafka 最早的一个使用场景就是作为实时订阅反馈系统的一部分,能够重建用户行为跟踪的流水线。通过 Kafka 把用户的网站浏览行为发布到中心主题中,通常每个行为类型一个主 ...
时过境迁,Kafka 已经把自己的定位改为日志提交服务。现在官方的说法是:
Kafka是一个分布式的、分片的、多副本的日志提交服务。基于一个统一的设计,它同样也提供消息系统的功能。
(之前的说法是:
Kafka 本质上是一个分布式的消息队列,但是也可以用来做日志传输的中转组件。它的主要特点如下:
分布式。内部包含多个Broker,在客户端使用分片机制来实现负载均衡。
LeanCloud 推荐的余光中先生的文章,讲了很多英式中文的问题,在工作中经常碰到。
原文链接:http://open.leancloud.cn/improve-chinese.html
阅读笔记:
Google 扩张的法门
- 博客分类:
- 阅读笔记
原文链接: http://www.huxiu.com/article/132365/1.html