Flink实时大数据处理技术 课后习题及答案 09.doc

Flink实时大数据处理技术 课后习题及答案 09.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Flink实时大数据处理技术版

第9章FlinkKafka连接器

PAGE318

PAGE317

1)Kafka中的分区是什么?有什么作用?

2)请简述ZooKeeper对于Kafka的作用。

3)利用Docker安装Redis数据库,将Flink中的流数据写入到Redis中,列出详细步骤。

4)假设有一个销售业务的数据集,包含以下字段:

订单号:String类型,长度为10。

产品名称:String类型,长度为20。

客户名称:String类型,长度为20。

订单金额:Double类型,范围为0-10000。

订单时间:Long类型,Unix时间戳。

示例数据:

订单号,产品名称,客户名称,订单金额,订单时间

100000001,ProductA,JohnDoe,2000.0,1631241600000

100000002,ProductB,JaneSmith,3000.0,1631245200000

100000003,ProductC,JohnDoe,5000.0,1631248800000

100000004,ProductA,BobJohnson,1000.0,1631252400000

100000005,ProductD,AliceWilliams,1500.0,1631256000000

100000006,ProductB,JohnDoe,2500.0,1631259600000

计算每个客户的总销售金额,按降序排列后将数据写入到Kafka消息队列中。

5)在ClickHouse中导入任意数据,并利用Superset连接ClickHouse制作多张图表,再组合为仪表盘。

参考答案:

Kafka中的分区是什么?有什么作用?

每个Topic可以被分为一个或多个分区(Partition),每个分区又可以被存储在不同的Broker节点上,这种分区机制是Kafka实现高吞吐量和横向扩展的关键。每个分区都是一个有序的消息序列,并且每个分区中的消息都会被分配一个唯一的ID,称为Offset。

Kafka分区的作用:

分区的作用在于实现了消息的并行处理和水平扩展。

请简述ZooKeeper对于Kafka的作用。

元数据管理

控制器选举

观察者列表维护

分布式锁

集群管理

故障检测与恢复

利用Docker安装Redis数据库,将Flink中的流数据写入到Redis中,列出详细步骤。

利用Docker安装Redis数据库并将Flink中的流数据写入Redis的详细步骤如下:

Docker安装Redis数据库

使用命令?dockersearchredis?有哪些信誉好的足球投注网站Redis镜像。

使用命令?dockerpullredis:版本号?拉取指定版本的Redis镜像,例如?dockerpullredis:latest?拉取必威体育精装版版本。

使用以下命令启动Redis容器,并设置端口映射和数据持久化:

dockerrun--nameredis-container-p6379:6379-v/myredis/data:/data-dredisredis-server--appendonlyyes

将Flink中的流数据写入到Redis中:

导入依赖

创建Flink执行环境

读取数据

处理数据

写入Redis

(4)假设有一个销售业务的数据集,包含以下字段:

订单号:String类型,长度为10。

产品名称:String类型,长度为20。

客户名称:String类型,长度为20。

订单金额:Double类型,范围为0-10000。

订单时间:Long类型,Unix时间戳。

订单时间:Long类型,Unix时间戳。

示例数据:

订单号,产品名称,客户名称,订单金额,订单时间

100000001,ProductA,JohnDoe,2000.0,1631241600000

100000002,ProductB,JaneSmith,3000.0,1631245200000

100000003,ProductC,JohnDoe,5000.0,1631248800000

100000004,ProductA,BobJohnson,1000.0,1631252400000

100000005,ProductD,AliceWilliams,1500.0,1631256000000

100000006,ProductB,JohnDoe,2500.0,1631259600000

计算每个客户的总销售金额,按降序排列后将数据写入到Kafka消息队列中。

objectSalesAnalyticsJob{

defmain(args:Array[Strin

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档