消息中间件的使用已经越来越广泛,基本上具有一定规模的系统都会用到它,在大数据领域也是个必需品,但为什么使用它呢?一个技术的广泛使用必然有它的道理. 背景与问题 以前一些传统的系统,基本上都是"用户--系统--数据库"一条线,拿下单做例子,用户下单,系统接受并处理请求,把数据存到数据库. 这样的好处就是简单,但随着需求越来越多,用户量越来越大,系统需要承载的压力就越大:如果需要扩展系统,修改代码,牵一发动全身,麻烦滴很. 消息队列可以解决这些问题,它是一个存放消息的队列,生产者往队列推数…
之前介绍了Kafka以及生产者,包括它的一些特性和参数,这回写一下消费者. 之前没看得可以点击链接阅读. Kafka从入门到放弃(一) -- 初识Kafka Kafka从入门到放弃(二) -- 详说生产者 消费者与消费者组 在Kafka中消费者是消费消息的对象.假设目前有一个消费者正在消费消息,但生产数据的速度突然上升,这时候消费者会有点力不从心,跟不上消息生产的速度,这时候咋办呢? 我们对消费者进行横向扩展,加几个消费者,达到负载均衡的作用.但是要做点限制吧,不然几个消费者消费同一个分区的消息…
上一篇对Kafka做了简单介绍,还没看的朋友可以点击下方链接. Kafka从入门到放弃(一) -- 初识别Kafka 消息中间件必须与生产者和消费者一起存在才有意义,这次先来聊聊Kafka的生产者. 在开始之前,先了解一下消息在Kafka中是如何存储的,如下图所示,一般我们称那些数字为offset(偏移量)一般来说,消息在持久化后应该是有序的,这里的有序是针对分区的,而不是针对 Topic 的. 而且,生产者写入消息时,是往 Leader 写入,Follower 从 Leader 进行复制. 别…
之前更完了<Kafka从入门到放弃>系列文章,本人决定开新坑--hive从入门到放弃,今天先认识一下hive. 没看过 Kafka 系列的朋友可以点此传送阅读: <Kafka从入门到放弃>系列 hive介绍 hive是一个开源的用于大数据分析和统计的数据库工具,它的存储基于HDFS,计算基于MapReduce或Spark,可以将结构化数据映射成表,并提供类SQL查询功能. 特点 提供类SQL查询,容易上手,开发方便 封装了很多方法,尽量避免了开发MapReduce程序,减少成本 支…
面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等. 面向对象的程序设计的核心是对象(上帝式思维),要理解对象为何物,…
上一节记录了大致的搭建MonoGame的环境,默认大家都是都是使用过Visual Studio的,没使用过的话,可以去https://www.visualstudio.com/下载一个试试,社区版免费的,不要钱都可以体验全宇宙最强的IDE 我们选择上一节的倒数第二个截图上的第一个选项,新建一个Windows平台的模板,当然如果你选择其他的平台也是可以的,都一样 新建好了的会在VS的解决方案窗口生成一个项目模板. 这个模板很简洁,据我了解,MonoGame没有给开发者提供类似于Cocos的那种No…
前一篇文章,介绍了什么是 hive,以及 hive 的架构.数据类型,没看的可以点击阅读:hive从入门到放弃(一)--初识hive 今天讲一下 hive 的 DDL 数据定义 创建数据库 CREATE DATABASE [IF NOT EXISTS]① database_name [COMMENT database_comment]② [LOCATION hdfs_path]③ [WITH DBPROPERTIES (property_name=property_value, ...)]④;…
上一篇给大家介绍了 hive 的 DDL 数据定义语言,这篇来介绍一下 DML 数据操作语言. 没看过的可以点击跳转阅读: hive从入门到放弃(一)--初识hive hive从入门到放弃(二)--DDL数据定义 数据写入 数据导入部分默认数据文件格式为 textfile,每一列由','进行分割,以换行分行. insert insert 表示向表中插入数据,可以直接插入值,也可以通过查询其他表获取数据插入. INSERT INTO TABLE target_table VALUES (COL1.…
今天讲讲分区表和分桶表,前面的文章还没看的可以点击链接: hive从入门到放弃(一)--初识hive hive从入门到放弃(二)--DDL数据定义 hive从入门到放弃(三)--DML数据操作 分区 分区可以提高查询效率,实际上 hive 的一个分区就是 HDFS 上的一个目录,目录里放着属于该分区的数据文件. 分区的基本操作 创建分区表 create table partition_table( col1 int, col2 string ) partitioned by (part_col…
为获得更好的阅读体验,建议您访问原文地址:传送门 前言:在之前的文章里面已经了解到了「消息队列」是怎么样的一种存在(传送门),Kafka 作为当下流行的一种中间件,我们现在开始学习它! 一.Kafka 简介 Kafka 创建背景 Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础.现在它已被多家不同类型的公司 作为多种类型的数据管道和消息系统使用. 活动流数据是几乎所有站点在对其…