flume kafka hive spark flink笔记

本文详细介绍了大数据实时处理工具Flume、消息队列Kafka、数据仓库Hive和计算引擎Spark的核心概念与应用场景。Flume用于日志收集,具有可靠性与高可用性。Kafka提供了消息队列服务,确保消息不丢失、不重复,保证顺序性。Hive作为数据仓库工具,支持SQL查询和数据优化。Spark则提供快速的内存计算,支持批处理、SQL和流处理。文章深入探讨了这些技术的交互与优化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Flume 

一:flume是什么?

二:flume核心概念:

Kafka

一:kafka是什么?

二:为什么使用kafka?

三:如何保证消息不被重复?

四:如何保证消息不丢失?

五:如何保证消息的顺序性?

六:消息队列快写满怎么办?

七:kafka的ack机制:

HIVE

一:hive是什么?

二:hive的优势?

三:Hive(行转列 列转行)

四:hive的自定义函数?

五:内部表与外部表?

六:hive优化

七:hive存储格式:

八:小文件是如何产生的?

九:维度建模

十:hive的运行模式

impala

Spark

一:spark是什么?

二:spark的基本原理:

三:spark的运行模式:

四:spark集群角色:

五:spark作业运行流程:

Flume

一:flume是什么?

flume是一个可分布式,可靠。可高可用得日志收集,汇聚和传输得系统。适用于大部分得日常数据采集场景。


二:flume核心概念:

webserver-

  taildir source---采集组件和数据源对接,获取数据。他有断点续传功能和读取多目录文件的功能
                  (source和channel中间有一个put事务)
   Memory channel-- 读写速度快 
               (channel和sink中间有take事务)

      通过这两个事务,flume提高了数据传输的完整性和准确性
    kafka sink--能够将数据推送到kafka下消息队列。---hdfs

Kafka

一:kafka是什么?


 kafka是一个消息队列
topic  ---- 消息存放的目录即主题   producer 生产消息到topic的一方
consumer ---- 订阅topic消费消息的一方  broker  kafka的服务实例就是一个broker
Kafka中发布订阅的对象是topic。我们可以为每类数据创建一个topic,把向topic发布消息的客户端称作producer
从topic订阅消息的客户端称作consumer。Producers和consumers可以同时从多个topic读写数据
一个kafka集群由一个或多个broker服务器组成,它负责持久化和备份具体的kafka消息。


二:为什么使用kafka?


解耦--异步--削峰
引入消息队列后, 系统A产生的数据直接发送到消息队列中, 哪个系统需要系统A的数据就直接去消息队列中消费, 这样系统A就和其他系统彻底解耦了
引入消息队列后, 系统A将消息发送到消息队列中就可以直接返回, 接口总共耗时很短, 用户体验非常棒
在高并发场景下(比如秒杀活动)某一刻的并发量会非常高, 如果这些请求全部到达MySQL, 会导致MySQL崩溃,
 这时我们需要引入消息队列, 先将请求积压到消息队列中, 让MySQL正常处理.

Kafka是一个分布式的消息队列, 一个topic有多个partition, 每个partition分布在不同的节点上
Kafka还可以为partition配置副本机制, 一个主副本对外提供服务, 多个从副本提供冷备功能(即只起备份作用, 不提供读写).


三:如何保证消息不被重复?

 导致消息重复的原因:分区重平衡--消费者重启或宕机  都会导致消费者消费消息后没有提交offset
业务手段来解决, 比如我们在消费前先查询数据库, 判断是否已消费(status = 1), 或消费后在Redis中做个记录,
 下次消费前先从Redis中判断是否已消费.

四:如何保证消息不丢失?


导致消息丢失的原因:kafka没有保存消息  消费者还没消费就提交offset。然后消费者重启或宕机。
配置partition副本机制  关闭自动提交offset,改为手动提交
先消费,消费成功后在手动提交offset 

五:如何保证消息的顺序性?

 kafka只保证单个分区内的消息有序,所以保证消息的顺序性,只能一个topic。一个partition,一个consumer。

六:消息队列快写满怎么办?

 
原因:消费端出了问题,导致无法消费或消费极慢
紧急扩容---批量重导

七:kafka的ack机制:


针对生产者,我们的ack设置1,leader收到了,就回应生产者offset,
还可以设置0,这个很容易丢数据,设置-1的话,也可以,leader和follower都收到数据,才返回消息。

HIVE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值