
数据
tinyid
Java/Python
Hadoop/Spark/Presto/Kafka/Druid
numpy/matplotlib/pandas/scipy
展开
-
一种计算留存的思路
在一些统计系统中,为了观察用户的粘度,我们会计算一系列的叫做留存的指标——次日注册留存、2日注册留存...N日注册留存,比如昨天注册了1000名用户中,在今天有300名用户又登录了,那么对应于昨天的注册留存就是30%;如果再去细究,还可以去计算活跃用户的留存情况,比如昨天登录的1000名用户中,在今天,其中的100名用户又活跃了,那么对应于昨天的活跃次日留存就是10%。如果更细究下去的话,还可以去原创 2013-04-13 18:06:27 · 4483 阅读 · 0 评论 -
Elasticsearch的路由(Routing)特性
Elasticsearch的路由机制与其分片机制有着直接的关系。Elasticsearch的路由机制即是通过哈希算法,将具有相同哈希值的文档原创 2014-10-14 16:54:50 · 33821 阅读 · 4 评论 -
Elasticsearch索引别名的介绍和操作
ES版本 :1.4.1 elasticsearch中的API可以接受一个对应于某个索引的索引名,也可以接受多个索引。索引别名API允许使用一个名字来作为一个索引的别名,所有的API会将别名转化成最终的索引名。一个也可以被映射到多于一个的索引上,当指定这个别名的时候,别名将会自动地扩展到别名的所有的索引上。一个别名也可以与一个过滤器建立关联,这个过滤器在搜索和路由值的时候自动被应用。翻译 2014-12-16 14:34:19 · 40227 阅读 · 0 评论 -
另一种扩展并加速Hadoop计算能力的计算架构—Presto
Hadoop自身的MapReduce计算框架是非常chua原创 2014-09-25 11:13:41 · 6669 阅读 · 0 评论 -
使用NLTK的朴素贝叶斯分类器来训练并完成分类工作
NLTK是Python的一个自然语言处理的模块,其中实现了朴素贝叶斯分类算法。以下,就使用上一篇文中提到的数据,来应用这个模块实现朴素贝叶斯分类。NLTK的实现更加泛化,所以在应用到我们的数据上时需要做一点的转化。首先来看一下NLTK官方文档中给出的一个简单明了的例子,在了解这个例子之后,再设法将同样的模型应用到自己的数据集上。官方给出的例子是英文名中,在知道名字中最后一个字母后,判断原创 2015-08-10 18:11:31 · 17197 阅读 · 2 评论 -
Python3中使用零拷贝技术来提高网络文件传输时的系统吞吐量
首先,推荐一篇好文,这篇文章细致地描述了零拷贝技术的原理,以及其与传统拷贝过程的区别:http://www.linuxjournal.com/article/6345?page=0,0从总体上来简单总结一下零拷贝技术可以通过对比来理解:传统的拷贝过程大致是这样一个过程:1. 通过直接内存访问数据进入操作系统内核的缓存(数据拷贝到内核空间)——CPU将数据拷贝到用户空间—原创 2015-09-01 23:50:12 · 4776 阅读 · 0 评论 -
Apache Storm流处理有序性探究
本文假设读者已经对Storm的基础结构有了全面理解,并知道Nimbus与supervisor在集群之中所扮演的角色。之所以要理解Storm集群的并行机制,是为了能够对数据流中数据地处理顺序有一个深入地理解,这样才能更有信心地使用工具。首先是需要了解一些与Storm集群并行机制相关地概念:工作进程(worker process,就是一个JVM进程,通过在supervisor服务器上执原创 2015-09-14 16:44:40 · 6133 阅读 · 1 评论 -
HBase内置过滤器的一些总结
HBase为筛选数据提供了一组过滤器,通过这个过滤器可以在HBase中的数据的多个维度(行,列,数据版本)上进行对数据的筛选操作,也就是说过滤器最终能够筛选的数据能够细化到具体的一个存储单元格上(由行键,列明,时间戳定位)。通常来说,通过行键,值来筛选数据的应用场景较多。1. RowFilter:筛选出匹配的所有的行,对于这个过滤器的应用场景,是非常直观的:使用BinaryCompar原创 2015-01-20 17:03:39 · 47973 阅读 · 11 评论 -
Nginx允许跨域访问的配置问题
如今前后端分离的模式,越来越成为很多团队的选择,通过分离前后端的工作,是的双方更能关注于自己核心的工作领域,只需要通过相应的API接口进行交互。前后端工作的分离带来的一个问题就是前后端在部署上分离的可能性,在部署上的分离又会触发浏览器安全机制——同源策略,从而导致不能访问非同域的资源。同样要解决跨域访问的问题,网上的解决方案也有很多,就是在跨域资源的响应中,加上允许跨域访问头信息即可。原创 2017-06-23 16:01:13 · 46257 阅读 · 2 评论 -
Elasticsearch & Logstash -- 一些经验总结
本文作为一些实践经验的总结,并不保证是最佳实践,原创 2014-08-01 11:27:14 · 25794 阅读 · 6 评论 -
一种Elasticsearch数据类型冗余方案
在互联网环境中,我们从不指望用户都是规矩的玩家。原创 2014-08-06 11:31:48 · 8754 阅读 · 4 评论 -
HUE beeswax中文显示问题的解决方案
HUE是Cloudera推出的Hadoop生态系统的Web访问接口,基于Python Django开发。在使用过程中发现,如果提交的SQL语句中有中文的注释,提交之后,整个语句将会保存在后端的MySQL历史表中,但是再次去查看历史记录的时候,其中的中文却显示成一串问号。显然,这种问题是因为数据库编码问题导致的。为了解决这个问题,可以做如下的操作:1。 修改MySQL的配置文件(/e原创 2013-05-23 19:03:05 · 6180 阅读 · 2 评论 -
信息的混杂度——香农熵
熵被定义为信息的期望值。一个人的性别——男、女——可以看成是一个信息;一件衣服的颜色——很多颜色——也是信息。但是这两种信息一个非常简单,只有两个可能的值,而颜色是非常多的。也可以说颜色的信息量要比性别的信息量要大、要更加混杂。而熵就是衡量这种混杂度的数学指标。那么具体一点,一个符号A的信息被表示为:>>> from math import log>>> probabilityA原创 2013-06-21 11:47:33 · 3166 阅读 · 0 评论 -
使用scribe来收集数据需要注意的问题
在使用scribe的过程中,遇到了非常奇怪的问题:scribe的中心收集节点服务器,过一段时间之后,就会拒绝服务——ssh登录不上,但是ping可以ping通,只有重新启动服务器之后才能使业务恢复正常。在查找问题原因的时候在/var/log/messages文件中发现了以下的一段报错:Oct 4 18:31:07 aggr01 automount[4811]: expire_proc:原创 2013-10-08 13:47:46 · 3452 阅读 · 0 评论 -
CentOS 5.x和CentOS 6.x限制单个用户线程数上限的不同行为
在使用HiveServer的过程中,通过一个Java程序向其并发提交多个Job,我们发现在同时提交的任务较多的时候,程序就会莫名其妙地卡住,并报出内存溢出(OOM)的错误,但是经过排查,系统还有数十GB的内存处于FREE状态,JVM的内存上限也非常大,所以可以断定问题的原因并不是因为内存不够,而有其它原因。根据以往的经验,我们在部署服务器的时候,会设置一个系统最大打开文件数量和系统最大原创 2014-03-07 11:32:05 · 5571 阅读 · 1 评论 -
对HDFS存储粒度的一点新认识
首先HDFS是适合大文件存储的文件系统,对于过多的小文件的应用场景并不适合。以下是一些使用过程中的经验和总结,希望对大家有所帮助,当然,如有谬误,也请大家指出,欢迎讨论。过犹不及——根据数据查询需求,定制数据存储粒度为了尽可能的细化数据存储粒度,我们对于每个产品的数据,按天进行隔离存储,这样,我们在查询某个产品某天的数据时,从HDFS中读取的数据就只是那一天的数据,这样从IO层面上原创 2014-03-28 11:39:32 · 2001 阅读 · 0 评论 -
Hadoop集群服务器以及相关硬件选择的一些认识
最近由于运行了两年多的Hadoop集群,硬盘故障的现象愈加频繁,故开始着手更换集群磁盘,但是所有的DataNode的磁盘都不是热插拔的,导致,必须关机,卸开服务器然后更换磁盘。经过这次之后,我想非常有必要专门总结一下Hadoop集群的服务器选择问题。1. 硬盘更换方便: 硬盘是主要耗材, 服务器最好是具有热插拔硬盘能力的。2. 专门的硬盘安装系统: 作为Hadoop D原创 2014-04-02 14:39:07 · 8690 阅读 · 3 评论 -
使用Logstash + Elasticsearch作为大数据索引、分析工具
logstash是一个不错的日志监控与分析工具,通过原创 2014-05-08 16:17:13 · 36810 阅读 · 19 评论 -
在CentOS6上,statsD和Graphite的部署过程
近期研究LogStash和Elasticsearch过程中,注意到了statsD和Graphite的组合,前者shu原创 2014-07-04 09:18:26 · 9577 阅读 · 0 评论 -
语义网组件
结构化数据处理依赖于对某个知识领域(感兴趣的领域、学科)内的概念、术语和关系进行描述的技术。知识表示和推理被用来在AI中以机器可读的形式表示信息的,计算机系统可以利用这些信息完成复杂的任务。分类学和受控词表是术语的结构化集合,可以将它们作为元数据元素值来使用。比如,一个事件词汇可以被用来以机器可读的形式来表述音乐会、演讲和节日,而一个组织词汇适用于产出关于一个学校、一个公司或一个俱乐部的机器可读的...翻译 2018-10-08 14:16:53 · 446 阅读 · 0 评论