零基础开发spark实时计算程序(1)

本文介绍了零基础开发Spark实时计算程序的过程,重点讲解了Kafka的作用和Spark的功能,以及如何学习Spark。文章还讨论了Kafka、Spark和Hadoop的不同版本之间的关系,并分享了在开发过程中遇到的版本匹配问题及其解决方案。
摘要由CSDN通过智能技术生成

摘要

为了完成数据实时ETL功能,项目使用kafka进行接收,spark进行实时计算,再通过kafka输出。在零基础入门的过程中,顺带解决了几个版本相关的问题:1)低版本spark和kafka使用structure streaming的问题;2)低版本spark无法向kafka写入数据的问题。因此,文章将分位如下几个部分。首先,是整理了kafka和spark的0基础入门相关问题。然后,梳理了kafka,spark和hadoop不同版本之间的关系。最后,介绍了工作过程中遇到的难点和解决问题的方法。

零基础入门

什么是kafka,为什么要用kafka

个人理解,kafka就是一个带管道的数据池,数据生成方(在kafka中被称为producer)通过一种颜色的管道(在kafka中被称为链路)向池子里灌数,数据使用方(在kafka中被称为consumer,数据消费)通过另一条相同颜色的管道消费数据。在这种机制下,不同的生产者使用不同管道向同一个大池子灌数,不同的消费者只要找同种颜色的管道就可以消费他关心的数据。这里的颜色就是topic,可以理解为加密双方约定的公钥。当然,实际项目中单条链路肯定是有多个topic,每个topic下也会通过offset管理历史数据,这就是后话了。
在这里插入图片描述
那么为什么要用kafka呢?因为SqlServer之类的传统关系型数据库,无法支撑大规模数据在短时间内(实时)完成高频的获取,存储,加工和输出的工作。当然,更重要的理由是,在kafka大规模应用的今天,很多数据就是kafka传过来的,不用不行。。。

什么是spark,为什么要用spark,如何学习spark

kafka解决的是数据的传输问题,但是在数据输入和输出之间的加工计算工作,则需要spark来完成。spark就是个计算器,输入1+1,spark返回2,听起来好像很蠢,但是当数据规模很大,尤其是数据实时输入的时候,spark就不可或缺了。spa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值