The Future

Stay hungry,stay foolish.


  • 首页

  • 归档125

  • 分类15

  • 标签63

  • 干货

  • 关于

  • 搜索

基于云计算和大数据的模拟车辆行车监控系统

发表于 2021-01-12 | 更新于 2021-01-15 | 分类于 大数据 | 评论数: | 阅读次数:

一、 系统架构

这是基于云计算和大数据的模拟车辆行车监控系统,可模拟实现在线远程对车辆行车的信息记录以及数据处理。其中,记录信息其中包括车辆的id、经过的地点(经纬度)、时间,数据处理包括对数据的排序、错误数据的排查、通过时间以及地点在地图上获得车辆行驶的轨迹、车辆相遇次数。

系统包括数据产生模块、数据接受与处理模块、数据库模块、客户端模块。其中kafka进行数据的接收,并进行数据过滤,将过滤后的数据传递给Redis,Redis再将数据存入Hbase数据库,Spark从Hbase中获得数据,将处理后的数据再传递回Hbase,客户端从Hbase中获得数据并将其展示在前端。

阅读全文 »

Spark项目落地实战以及日常大数据开发注意事项

发表于 2021-01-12 | 分类于 大数据 | 评论数: | 阅读次数:

Spark简介

img

阅读全文 »

Elasticsearch查询速度为什么这么快?

发表于 2021-01-12 | 分类于 Elasticsearch | 评论数: | 阅读次数:

ES 是基于 Lucene 的全文检索引擎,它会对数据进行分词后保存索引,擅长管理大量的索引数据,相对于 MySQL 来说不擅长经常更新数据及关联查询。

说的不是很透彻,没有解析相关的原理;不过既然反复提到了索引,那我们就从索引的角度来对比下两者的差异。

阅读全文 »

大数据系统的Lambda架构

发表于 2021-01-08 | 分类于 大数据 | 评论数: | 阅读次数:

Nathan Marz的大作Big Data: Principles and best practices of scalable real-time data systems介绍了Labmda Architecture的概念,用于在大数据架构中,如何让real-time与batch job更好地结合起来,以达成对大数据的实时处理。

传统系统的问题

在传统数据库的设计中,无法很好地支持系统的可伸缩性。当用户访问量增加时,数据库无法满足日益增长的用户请求负载,从而导致数据库服务器无法及时响应用户请求,出现超时错误。

解决的办法是在Web服务器与数据库之间增加一个异步处理的队列。如下图所示:

阅读全文 »

kappa架构的层级及其特点

发表于 2021-01-08 | 分类于 大数据 | 评论数: | 阅读次数:

kappa架构的本质可以说是只依赖一套流处理系统来作为大数据处理解决方案。

一、概括起来,kappa架构包括两个层级

1、消息传输层

这一层有如下特点

  • 持久性——数据可任意设定存储时间
  • 分布式——数据分布式存储
  • 数据可重放——数据可以被replay,从头重新处理
  • 高性能——能够提供高性能数据读写访问
阅读全文 »

Kappa架构与Lambda架构比较

发表于 2021-01-08 | 分类于 大数据 | 评论数: | 阅读次数:

Lambda架构

Nathan Marz针对通用的,可扩展的和容错的数据处理架构提出了术语Lambda Architecture。它是一种旨在通过利用批处理和流处理这两者的优势来处理大量数据的数据处理架构。

img

阅读全文 »

Scala快速入门

发表于 2020-12-25 | 更新于 2021-01-15 | 分类于 大数据 | 评论数: | 阅读次数:

变量定义

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
val hello="Hello Scala"
val hello:String="Hello Scala"
val hello:java.lang.String="Hello Scala"
lazy val hello="Hello Scala"
val hello="Hello Scala"

val x=0x29 //十六进制定义整数
val x=41 //十进制定义整数

val doubleNumber = 3.14159 //Double类型定义,直接输入浮点数,编译器会将其自动推断为Double类型
val floatNumber=3.14159F //定义Float类型浮点数,需要在浮点数后面加F或f

val floatNumber=0.1314e1

var letter = 'A' //字符定义,用单引号(')将字符包裹

val hello = """Hello \n \t \b \\ Scala"""
//如果需要原样输出字符串中的内容,则用三个双引号"""将字符串包裹起来

var bool = true
阅读全文 »

如何开启一个线程,开启大量线程会有什么问题,如何优化?

发表于 2020-11-25 | 分类于 Java | 评论数: | 阅读次数:

这道题想考察什么?

  1. 是否了解线程开启的方式?
  2. 开启大量线程会引起什么问题?为什么?怎么优化?
阅读全文 »

事务特性-ACID

发表于 2020-11-24 | 分类于 数据库 | 评论数: | 阅读次数:

事务具有4个特征,分别是原子性、一致性、隔离性和持久性,简称事务的ACID特性;

原子性(atomicity)

一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性。

阅读全文 »

OLAP和OLTP的区别

发表于 2020-11-23 | 分类于 数据库 | 评论数: | 阅读次数:

OLAP(On-Line Analytical Processing)联机分析处理,也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。应用在数据仓库,使用对象是决策者。OLAP系统强调的是数据分析,响应速度要求没那么高。

阅读全文 »
1…345…13
Daniel X

Daniel X

專注于大数据技術,分享干货
125 日志
15 分类
63 标签
GitHub E-mail Weibo QQ
粤ICP备18110871号 © 2017 – 2021 dudefu
0%