大数据技术
文章平均质量分 71
分享大数据技术实战技术,轻松带你从入门到精通
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
码农_程序员
大数据技术的熟练的运用,有海量数据架构的设计和优化经验
展开
-
Kafka(四):Kafka 生产者实现
Kafka是一种分布式的发布(producer)/订阅(consumer)的消息系统,并支持实时和离线的数据处理、可扩展、持久的。 我们今天介绍通过java代码实现producer,包含了上一篇对参数的介绍,我们在发送Kafka主题时,参数配置也很重要,影响数据可靠性、吞吐量 对Kafka 介绍、部署、配置参数的介绍可以参考前面的文章,我们对代码先分解介绍 第一步:设置连接参数 Properties ...原创 2021-07-24 00:01:58 · 296 阅读 · 0 评论 -
Kafka(三):kafka 配置参数详解
kafka集群安装、或者在使用kafka时,需对kafka配置参数进行调整、优化,对kafka的配置文件的参数要一定的了解,才能更好的维护、使用好kafka集群。 kafka的config目录下有很多配置文件,如图1所示,重点在consumer、producer、server配置文件,我们kafka在实战过程中与flink、spark 等结合使用,经常磁盘满、吞吐量没达到我们要求,我们要对配置参数要很熟悉,才能更好优化,接下去我们重点介绍consumer、producer、s...原创 2021-07-17 19:23:18 · 1890 阅读 · 2 评论 -
学习MongoDB十三:MongoDB 性能分析
我们经常碰到MongoDB的CPU很高,有一些操作影响性能。面对很多操作语句,有的操作语句全表扫描,导致CPU很高,影响业务系统的响应速度以及入库性能,为了快速分析哪里出问题,mongoDB提供查询分析器。 一:我们可以先通过当前操作命令db.currentOp()查看当前正在执行操作有哪些,可以先快速定位问题db.currentOp(){ "opid" :, "threadId" : "", "connectionId" :...原创 2021-07-10 17:56:28 · 979 阅读 · 0 评论 -
Redis与Memcached的区别
在Redis中,并不是所有的数据都一直存储在内存中的。这是和Memcached相比一个最大的区别。Redis只会缓存所有的 key的信息,如果Redis发现内存的使用量超过了某一个阀值,将触发swap的操作,Redis根据“swappability = age*log(size_in_memory)”计 算出哪些key对应的value需要swap到磁盘。然后再将这些key对应的value持久化到磁盘中,同时在内存中清除。这种特性使得Redis可以 保持超过其机器本身内存大小的数据。当然,机器本身的内存必须要转载 2016-03-16 11:17:19 · 1593 阅读 · 0 评论 -
Redis 三:redis.conf 配置详细解析
# redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位,# 通常的格式就是 1k 5gb 4m等酱紫:## 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000000 bytes转载 2016-10-07 09:57:16 · 1701 阅读 · 0 评论 -
Spring Data Redis 二:RedisTemplate实现事物问题剖析和解决
Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,Redis对事物支持不会很复杂,当一个客服端连接Redis服务时,发出了MULTI命令时,这个连接会进入事物,在执行MULTI命令之后,执行所有的命令都不会执行,会先放到一个队列中,会提示正在Query,当最后执行EXEC命令之后,Redis会按照之前的进入队列的顺序,执行命令。 Spring Data Redis 是对JRedis的客服端进行很好的封装, Spring Data Redis的RedisTemplate提供了MUL原创 2016-10-04 22:33:30 · 33035 阅读 · 4 评论 -
Srping Data Redis 四:Srping Data Redis 入门
Spring Data Redis 提供Jedis,Jredis,rjc等客户端的封装,可以根据需求更换换客服端,使业务代码比较稳定性。 以及提供对连接池管理 (timeout、maxActive、maxIdle等参数),org.springframework.data.redis.connection包中的RedisConnection和RedisConnectionFactory类来获取Redis连接,Spring Data Redis 提供RedisTemplate是对RedisConnection原创 2016-10-07 16:36:41 · 1954 阅读 · 0 评论 -
Redis 一:Linux下 安装Redis并配置服务
1、 Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问。 2、 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 3、 Redis支持数据的备份,即master-slave模式的数据备份。 4、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。原创 2016-10-03 23:57:59 · 9371 阅读 · 2 评论 -
Kafka(一): Kafka 入门
Kafka是一种分布式的发布(producer)/订阅(consumer)的消息系统,并支持实时和离线的数据处理、可扩展、持久的。Kafka Server 是分布式部署(Broker),Kafka 的消息(Topic)存储在Kafka Server上并以Topic进行分类的,而且可以设置消息(Topic)分区(partition),不会造成消息都存储在同一个磁盘从而导致磁盘空间慢的问题,同个partition里的数据是有顺序的(FIFO先进先出)。原创 2017-05-14 08:47:49 · 1629 阅读 · 0 评论 -
Kafka(二): Kafka 集群部署与使用
Kafka是一种分布式的发布(producer)/订阅(consumer)的消息系统,并支持实时和离线的数据处理、可扩展、持久的。上一次已经对kafka做了介绍,今天我们介绍如何部署、创建主题并发布消息和订阅消息。原创 2017-05-21 10:12:28 · 2377 阅读 · 0 评论 -
Storm(六):数据流的分流与合流
Storm 对数据处理时,不同的数据交给不同的bolt来处理,然后处理好的数据传给同个bolt来存储到数据库,这时就需要分流与合流,我们通过一个例子了解分流与合流。原创 2017-06-11 11:19:18 · 3332 阅读 · 0 评论 -
Storm(三):Storm入门Demo
我们前面的文章对Apache Storm 是一个开源的分布式、实时、可扩展、容错的计算系统的基本知识进行熟悉之后,我们通过Storm简单的例子把应用跟基础知识结合起来。 Storm的Topology是一个分布式实时计算应用,它通过Stream groupings把spouts和Bolts串联起来组成了流数据处理结构,Topologys在集群中一直运行,直到kill(storm kill topology-name [-w wait-time-secs]) 拓扑时扑才会结束运行。原创 2017-06-11 10:04:34 · 8206 阅读 · 4 评论 -
Storm(二):集群部署配置
Apache Storm分布式集群主要节点由控制节点(Nimbus节点)和工作节点(Supervisor节点),控制节点可以一个,工作节点多个组成的,而Zookeeper主要负责Nimbus节点和Supervisor节点之间的协调工作。介绍安装部署storm集群,并且Storm ui是storm集群的监控页面,可以查看Nimbus、Supervisor分布情况以及状态等信息,方便我们管理Storm集群以及拓扑。原创 2017-06-10 23:39:14 · 2701 阅读 · 0 评论 -
Storm(四):容错机制
Apache Storm分布式集群主要节点由控制节点(Nimbus节点)和工作节点(Supervisor节点),在集群下,怎么保证拓扑的可靠性,storm提供哪些容错机制?原创 2017-06-11 10:25:18 · 3327 阅读 · 0 评论 -
Storm(一) :基础知识
Apache Storm 是一个开源的分布式、实时、可扩展、容错的计算系统。Apache Storm Storm可以很容易做到可靠地处理无限的数据流,像Hadoop批量处理大数据一样。Storm处理速度很快,每个节点每秒钟可以处理超过百万的数据组。 Apache Storm应用的场景例如:实时分析、在线机器学习、连续计算、分布式RPC、ETL 等。原创 2017-06-10 23:13:32 · 2484 阅读 · 0 评论 -
Storm(五)拓扑并行度
Apache Storm分布式集群主要节点由控制节点(Nimbus节点)和工作节点(Supervisor节点),一个工作节点运行一个或者多个Worker 进程,Worker 是Topology的子集,Topology对应一个或者多个Worker 。 Topology主要是由Worker 、Executor、Task组成的,Topology对应一个或者多个worker(是一个独立的JVM 进程) ,worker 下又有多个Executor线程,Executor下对应一个或者多个Task,默认情况下一个Ex原创 2017-06-11 11:02:32 · 1933 阅读 · 0 评论 -
Spring Data MongoDB 五:进阶文档查询(分页、Morphia)(二)
SpringData MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的find的操作,我们上一篇介绍了基本文档的查询,我们今天介绍分页查询,分页查询是返回到匹配文档的游标,可以随意修改查询限制、跳跃、和排序顺序的功能。原创 2015-08-13 23:25:05 · 24940 阅读 · 14 评论 -
Spring Data MongoDB七:进阶Aggregation操作(下)
上一篇已经Aggregation 做了很详细的介绍,这边就不在介绍,Spring Data MongoDB 项目提供与MongoDB文档数据库的集成,Spring Data MongoDB 提供org.springframework.data.mongodb.core.MongoTemplate是对Connection进行封装,提供了连接管理,Spring Data MongoDB 像hibernate等一样提供了模板,mongoTemplate提供调用Aggregation 方法。原创 2016-10-15 10:31:38 · 33274 阅读 · 1 评论 -
Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)(一)
Spring Data MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,上一篇我们介绍了对MongoDB的新增和删除, 今天我们要介绍Java代码实现对MongoDB实现查询操作。 我们回顾一下,我们在之前介绍了MongoDB的基本文档查询,MongoDB的查询语法:原创 2015-08-01 08:37:16 · 82220 阅读 · 8 评论 -
Spring Data MongoDB 一:入门篇(环境搭建、简单的CRUD操作)
Spring Data MongoDB 项目提供与MongoDB文档数据库的集成。Spring Data MongoDB POJO的关键功能区域为中心的模型与MongoDB的DBCollection轻松地编写一个存储库交互数据访问。原创 2015-03-22 23:08:28 · 63723 阅读 · 10 评论 -
Spring Data MongoDB 六:进阶Aggregation操作(上)
1、db.collection.aggregate()可以多个管道,能方便的进行数据的处理。 2、db.collection.aggregate()使用了MongoDB内置的原生操作,聚合效率非常高,支持类似于SQL Group By操作的功能,而不再需要用户编写自定义的JavaScript例程。 3、 每个阶段管道限制为100MB的内存。如果一个节点管道超过这个极限,MongoDB将产生一个错误。为了能够在处理大型数据集,可以设置allowDiskUse为true来在聚合管道节点把原创 2016-10-15 09:36:04 · 24844 阅读 · 0 评论 -
Spring Data MongoDB 二:添加、删除操作
Spring Data MongoDB 项目提供与MongoDB文档数据库的集成,Spring与Hibernate集成时,Spring提供了org.springframework.orm.hibernate3.HibernateTemplate实现了对数据的CRUD操作, Spring Data MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,包括对集成的对象映射文件和POJO之间的CRUD的操原创 2015-07-26 07:55:47 · 17575 阅读 · 3 评论 -
Spring Data MongoDB 四:基本文档修改(update)(一)
Spring Data MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的update的操作,可以对在存储数据时是以键-值对的集合键是字符串,值可以是数据类型集合里的任意类型,包括数组和文档进行修改,我们今天介绍对基本文档的修改的方法、参数进行介绍。原创 2015-08-08 12:31:27 · 56279 阅读 · 5 评论 -
学习MongoDB 一:MongoDB 入门(安装与配置)
MongoDB一种非关系型数据库(NoSql),是一种强大、灵活、可扩展的数据存储方式,因为MongoDB是文档模型,自由灵活很高,可以让你在开发过程中畅顺无比,对于大数据量、高并发、弱事务的互联网应用,MongoDB可以应对自如,MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,还对MapReduce式聚合的支持,以及对地理空间索引的支持。原创 2015-03-15 15:29:02 · 29241 阅读 · 16 评论 -
MongoDB MapReduce 性能提升20倍的优化宝典
自从MongoDB被越来越多的大型关键项目采用后,数据分析也成为了越来越重要的话题。人们似乎已经厌倦了使用不同的软件来进行分析(这都利用到了Hadoop),因为这些方法往往需要大规模的数据传输,而这些成本相当昂贵。 MongoDB提供了2种方式来对数据进行分析:Map Reduce(以下简称MR)和聚合框架(Aggregation Framework)。MR非常灵活且易于使用,它可以很好地与分片(sharding)结合使用,并允许大规模输出。尽管在MongoDB v2.4版本中,由于JavaS转载 2016-05-16 21:57:08 · 6776 阅读 · 2 评论 -
学习MongoDB 十二: MongoDB聚合(Aggregation Pipeline基础篇-下)(四)
上一篇我们对 db.collection.aggregate(pipeline, options)介绍,我们接下来介绍pipeline 参数和options参数的基础认识原创 2016-06-09 11:33:44 · 18302 阅读 · 7 评论 -
学习MongoDB 四: MongoDB查询(一)
MongoDB提供了db.collection.find() 方法可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段。原创 2015-07-11 12:44:55 · 15025 阅读 · 0 评论 -
学习MongoDB 十一: MongoDB聚合(Aggregation Pipeline基础篇上)(三)
db.collection.aggregate()是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个节点的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果。原创 2016-06-09 10:47:10 · 34592 阅读 · 0 评论 -
学习MongoDB 二:MongoDB添加、删除、修改
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种。数据被分组存储在数据集中,被称为一个集合(Collenction)和对于存储在MongoDB数据库中的文件,我们不需要知道它的任何结构定义的自由模式,在存储数据时是以键-值对的集合键是字符串,值可以是数据类型集合里的任意类型,包括数组和文档。 MongoDB存储在集合中的所有文件,集合是一组有一组共享公共索引的相关文档,集合类似于关系数据库中的表。在MongoDB中,这些操作修改单个采集数据,为更新和原创 2015-07-07 00:09:33 · 24055 阅读 · 1 评论 -
学习MongoDB 十: MongoDB聚合(Map-Reduce)(二)
MapReduce要实现两个函数:Map和Reduce。Map函数调用emit(key,value)遍历一个或多个集合中所有的记录,进行分组(group by),然后将key与value传给Reduce函数进行处理,输出结果。 (1)MapReduce使用自定义JavaScript函数执行map和reduce操作,所以是基于js引擎,单线程执行,效率不高,比Aggregation复杂,适合用做后台统计等。 (2)MapReduce支持分片操作,可以进行原创 2016-05-21 17:57:36 · 8715 阅读 · 0 评论 -
学习MongoDB 五: MongoDB查询(数组、内嵌文档)(二)
我们上一篇介绍了db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段,我们今天介绍了对数组和内嵌文档的查询操作,尤其是对$elemMatch 同样可以用在find方法的第二个参数来限制返回数组内的元素,只返回我们需要的文档的介绍。我们经常在查询条件查询内嵌文档数组时,只需要返回主文档并返回内嵌文档数组中我们只需要的值,而不是把内嵌文档的数组都返回。原创 2015-07-16 23:32:47 · 35932 阅读 · 0 评论 -
学习MongoDB 九: MongoDB聚合(单一用途的聚合方法)(一)
聚合指各种可以处理批量记录并返回计算结果的操作,并MongoDB提供了丰富的聚合操作,MongoDB提供了进行聚合的三种方式:聚集管道(Aggregation),Map-Reduce方法,和单一用途的聚合方法。 单一用途的聚合方法:db.collection.count(), db.collection.group(), db.collection.distinct()。原创 2016-05-15 22:03:34 · 3467 阅读 · 0 评论 -
学习MongoDB 七: MongoDB索引(索引基本操作)(一)
在MongoDB建立索引能提高查询效率,只需要扫描索引只存储的这个集合的一小部分,并只把这小部分加载到内存中,效率大大的提高,如果没有建立索引,在查询时,MongoDB必须执行全表扫描,在数据量大时,效率差别就很明显,对于包括一个没有索引的排序操作的查询,服务器必须在返回任何结果之前将所有的文档加载到内存中来进行排序。 索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构。索引项的排序支持高效的相等匹配和基于范围的查询操作。原创 2015-07-19 15:23:35 · 12732 阅读 · 1 评论 -
学习MongoDB 八: MongoDB索引(索引限制条件)(二)
我们上一篇介绍了索引基本操作,通过db.collection.createIndex(keys, options)语法创建索引,我们继续介绍地理空间索引、索引的限制,使我们在MongoDB时能提高查询效率。原创 2015-07-20 23:27:44 · 6320 阅读 · 0 评论 -
学习MongoDB 三: MongoDB无法启动的解决方法
我们之前介绍了MongoDB入门(安装与配置),我们今天在打开MongDB时,我们先运行cmd.exe进入dos命令界面,然后进入cd D:\mongodb\bin目录下,启动服务或者mongo命令都报了错误。原创 2015-07-05 19:09:48 · 30589 阅读 · 3 评论 -
学习MongoDB 六: MongoDB查询(游标操作、游标信息)(三)
db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段。并返回到匹配文档的游标,可以随意修改查询限制、跳跃、和排序顺序的功能。原创 2015-07-17 22:23:20 · 20786 阅读 · 0 评论 -
MongoDB 聚合Group(一)
db.collection.group()使用JavaScript,它受到了一些性能上的限制。大多数情况下,$ group在Aggregation Pipeline提供了一种具有较少的限制适用的替代。可以通过指定的键的集合中的文档和执行简单的聚合函数。在2.2版本中,返回的数组可以包含最多20000个元素;即最多20000个独特的分组。 我们比较熟悉的group by 的sql语句select key from table groupby key,而mongoDB没提供SQL那样通过Group B原创 2015-04-12 18:53:54 · 32715 阅读 · 3 评论