随笔分类 - Big Data
1
摘要:Redis 持久化机制 1 RDB 每隔一段时间,生成一个指定时间点的快照。RDB 使用 fork 子进程进行数据的持久化,数据IO操作在子进程中执行。 1.1 优点 RDB 文件简单,它保存的是到某个时间点内所有的 Redis 数据集(键值对),很适合用于归档。单个文件也很方便地传输给其它数据中心
阅读全文
摘要:有一张 hive 表,某个字段的数据如下: [{"first_tag_id":1,"first_tag_name":"食品","second_tag_id":2,"second_tag_name":"酒水","third_tag_id":3,"third_tag_name":"酒类","fourth
阅读全文
摘要:Redis Persistent Replication Sentinel Cluster的一些理解 我喜欢把工作中接触到的各种数据库叫做存储系统,笼统地说:Redis、Mysql、Kafka、ElasticSearch 都可以视为存储系统。各个存储系统在持久化刷盘策略、checkpoint机制、事
阅读全文
摘要:Redis的LRU算法 LRU算法背后的的思想在计算机科学中无处不在,它与程序的"局部性原理"很相似。在生产环境中,虽然有Redis内存使用告警,但是了解一下Redis的缓存使用策略还是很有好处的。下面是生产环境下Redis使用策略:最大可用内存限制为4GB,采用 allkeys lru 删除策略。
阅读全文
摘要:Kafka session.timeout.ms heartbeat.interval.ms参数的区别以及对数据存储的一些思考 在计算机世界中经常需要与数据打交道,这也是我们戏称CURD工程师的原因之一。写了两年代码,接触了不少存储系统,Redis、MySQL、Kafka、Elasticsearch
阅读全文
摘要:kafka 日常使用和数据副本模型的理解 在使用Kafka过程中,有时经常需要查看一些消费者的情况、Kafka健康状况、临时查看、同步一些数据,又由于Kafka只是用来做流式存储,又没有像Mysql或者Redis提供方便的查询方法查看数据。只能通过在命令行执行Kafka 脚本方式操作kafka(当然
阅读全文
摘要:ES 6.3.2 index 操作源码流程 1. client 发送请求 2. TransportBulkAction doExecute(Task,BulkRequest,listener) 解析请求,是否要自动创建索引?请求中 是否有mapping信息? 3. TransportBulkActi
阅读全文
摘要:Spark UDF Java 示例 在 "这篇文章" 中提到了用Spark做用户昵称文本聚类分析,聚类需要选定K个中心点,然后迭代计算其他样本点到中心点的距离。由于中文文字分词之后(n gram)再加上昵称允许各个特殊字符(数字、字母、各种符号……),如果直接在原来的文本数据上进行聚类,由于文本的“
阅读全文
摘要:Spark Java API 计算 Levenshtein 距离 在 "上一篇文章" 中,完成了Spark开发环境的搭建,最终的目标是对用户昵称信息做聚类分析,找出违规的昵称。聚类分析需要一个距离,用来衡量两个昵称之间的相似度。这里采用levenshtein距离。现在就来开始第一个小目标,用Spar
阅读全文
摘要:Spark Java API 之 CountVectorizer 由于在Spark中文本处理与分析的一些机器学习算法的输入并不是文本数据,而是数值型向量。因此,需要进行转换。而将文本数据转换成数值型的向量有很多种方法,CountVectorizer是其中之一。 A CountVectorizer c
阅读全文
摘要:spark JAVA 开发环境搭建及远程调试 以后要在项目中使用Spark 用户昵称文本做一下聚类分析,找出一些违规的昵称信息。以前折腾过Hadoop,于是看了下Spark官网的文档以及 github 上 官方提供的examples,看完了之后决定动手跑一个文本聚类的demo,于是有了下文。 1.
阅读全文
摘要:一,问题描述 【使用 unwind 操作符 “解包” Document 里面的Array中的每个元素,然后使用 group 分组统计,最后使用 sort 对分组结果排序】 从 images.json 文件中导入数据到MongoDB服务器 其中Document的示例如下: 现在要统计: 所有Docum
阅读全文
摘要:MongoDB二个主要的操作:一个是查询,另一个是统计。对于查询而言,主要是find()方法,再配合Filters组合多个查询条件。 对于统计而言,则主要是aggregate操作,比如 group、sum、avg、project、match…… aggregate可以将上述操作组织成 pipelin
阅读全文
摘要:本文记录如何更新MongoDB Collection 中的Array 中的元素。假设Collection中一条记录格式如下: 现要删除scores 数组中,"type" 为 "homework",较小的那个score。在上图中,较小的score为54.759... 根据MongoDB上的update
阅读全文
摘要:一,问题描述 数据格式: id, timeStamp,count 条件1:查询 某个时间段 内的数据: timeStamp BETWEEN startTime AND endTime。比如 timeStamp BETWEEN 1499875200 AND 1499875600 条件2:记录 的 id
阅读全文
摘要:一,问题描述 搭建的用来测试的单节点Kafka集群(Zookeeper和Kafka Broker都在同一台Ubuntu上),在命令行下使用: 创建了一个3个分区的Topic如下:(Topic名称为 topicForTest) 使用 Console producer/consumer都能够正常地向to
阅读全文
摘要:一,下载Zookeeper安装包 从官方网站下载稳定版安装包后,解压。 其中ZK_HOME 为:D:\Program Files\zookeeper-3.4.9 二,启动Zookeeper Server 由于在Eclipse里面写的程序是Client,需要连接到Zookeeper Server。因此
阅读全文
摘要:当使用 hadoop fs -put localfile /user/xxx 时提示: put: Permission denied: user=root, access=WRITE, inode="/user/shijin":hdfs:supergroup:drwxr-xr-x 表明:权限不够。这
阅读全文
摘要:前言:由于最近在看storm Topology提交过程的源代码,写好的topology jar文件是通过Thrift RPC的形式提交给nimbus的。故了解下Thrift的基本原理。参考:http://dongxicheng.org/search-engine/thrift-rpc/1,环境:Ub...
阅读全文
摘要:1,分布式单词计数的流程首先要有数据源,在SentenceSpout中定义了一个字符串数组sentences来模拟数据源。字符串数组中的每句话作为一个tuple发射。其实,SplitBolt接收SentenceSpout发射的tuple,它将每句话分割成每个单词,并将每个单词作为tuple发射。再次...
阅读全文
1