《Flink应用开发技术》课件-项目2-1 Datastream API初步使用_第1页
《Flink应用开发技术》课件-项目2-1 Datastream API初步使用_第2页
《Flink应用开发技术》课件-项目2-1 Datastream API初步使用_第3页
《Flink应用开发技术》课件-项目2-1 Datastream API初步使用_第4页
《Flink应用开发技术》课件-项目2-1 Datastream API初步使用_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目2-1DatastreamAPI初步使用1目录CONTENTS01.Flume概述02.Flume组件03.Flume安装04.Kafka基础05.Kafka命令2目录CONTENTS01.Shell脚本02.任务实现301Flume概述4Flume:海量日志收集的利器分布式、可靠、高效的日志收集系统分布式架构基于流式架构,实时处理数据流,可水平扩展应对海量数据。可靠传输提供多种容错与恢复机制,确保数据在传输过程中不丢失。无缝对接Hadoop、Kafka、HBase等下游生态,构建统一数据通道5Flume的架构演进之路FlumeOG(OriginalGeneration)集中式架构,扩展性与容错能力有限。架构跃迁FlumeNG(NextGeneration)分布式架构,增强扩展性、容错与资源隔离,成为Apache顶级项目。6Flume核心概念模型Event数据单元,由Header和Body组成。FlowEvent从源点到目的点的迁移抽象。Agent独立进程,是包含S/C/S的Flume基本运行单元。702Flume组件8Source:数据收集组件负责对接各种外部数据源,是Flume数据管道的入口,决定了数据的来源和初步格式。AvroSource监听Avro端口,接收RPC调用数据。ExecSource执行Unix命令(如tail),采集其标准输出。SpoolingDirectory监听指定目录,自动采集新增文件。NetCatSource监听TCP/UDP端口,将每行文本转为Event。9Channel:临时存储与缓冲连接Source和Sink的桥梁,提供数据缓冲和容错能力,是保障数据可靠性的关键。Memory速度快,但数据易失。适用于对性能要求高、可容忍数据丢失的场景。File持久化存储,可靠性高。适用于对数据安全要求高的场景。JDBC支持事务,可靠性最高。适用于对数据一致性要求极高的场景。Kafka高吞吐,兼具性能与可靠。适用于大数据量、高并发场景。10Sink:数据输出组件HDFSSink写入HDFS,支持按时间/大小滚动。LoggerSink输出到日志,用于调试。KafkaSink转发到Kafka,实现多级流处理。HBaseSink写入HBase,支持列映射。1103Flume安装12Flume1.9.0快速安装指南1解压安装包tar-zxvf...2配置环境变量FLUME_HOME,PATH3修改flume-env.sh设置JAVA_HOME4验证安装flume-ngversion13最小化测试:NetCat+Logger通过最简配置验证Flume安装是否成功,并直观感受数据流处理过程。1.配置Agent:使用netcatsource监听端口,loggersink输出到控制台。2.启动Agent:运行Flumeagent进程。3.发送数据:使用telnet或nc命令连接端口并输入文本。4.观察结果:在Agent控制台查看输出的Event信息。1404Kafka基础15为何引入Kafka?解耦削峰通过队列模式将生产者和消费者分离,有效应对数据流量峰值,避免系统过载。高吞吐能力采用顺序写磁盘和分区并行技术,实现极高的数据吞吐量,专为大数据场景设计。ProducerBrokerZookeeperConsumerGroupConsumerTopic&Partition16Kafka工作流程:发布与订阅Producer发布消息Topic(Partition)消息按Topic分类,以Partition为单位追加写入Log文件Consumer订阅并拉取Offset机制:Consumer通过记录Offset来控制消费进度,实现消息的按需重放和故障恢复。1705Kafka命令18Kafka常用命令行速览#创建Topickafka-topics.sh--create--topicmy_topic--bootstrap-serverlocalhost:9092#查看Topic列表kafka-topics.sh--list--bootstrap-serverlocalhost:9092#启动生产者kafka-console-producer.sh--topicmy_topic--bootstrap-serverlocalhost:9092#启动消费者kafka-console-consumer.sh--topicmy_topic--from-beginning--bootstrap-serverlocalhost:90921906Shell脚本20Shell脚本:自动化基石通过命令行接口编写脚本,实现任务自动化,是数据工程师的必备技能。变量定义与控制循环(if/for/while)输入输出与文件操作(read/echo)管道与重定向(|,>,>>)例2.10:按行读取文件whilereadlinedoecho"$line"done<file.txt例2.11:写入文件并加时间戳whilereadlinedoecho"$(date):$line">>log.txtdoneShell脚本实例:按行读写2107任务实现22任务实现:数据准备使用阿里天池用户行为数据集,通过Shell脚本构建数据源。1.数据集(UserBehavior.csv)包含用户ID、商品ID、行为类型(pv,buy,cart,fav)等字段。2.编写Shell脚本使用whileread循环按行读取CSV,并追加到file.log。23任务实现:Flume对接Kafkafile.logFlumeAgentSource:tail-ffile.logChannel:memorySink:KafkaKafkaTopic配置FlumeAgent,实现从file.log实时采集数据并发送至Kafka。24任务实现:Flink消费程序编写Flink程序,从Kafka中消费用户行为数据流并进行处理。添加依赖:flink-connector-kafka设置Kafka消费者属性(bootstrap.servers,group.id)创建FlinkKafkaConsumer添加数据源并执行作业(print/业务逻辑)25任务实现:测试与注意事项测试步骤启动Zookeeper服务启动Kafka服务启动FlumeAgent运行Shell脚本抽取数据运行Fli

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论