hudi系列-timeline service

Timeline Service(时间线服务)是hudi的一个组件,用于暴露文件系统视图接口给客户端,是一个基于Javalin+Jetty实现的web服务。当客户端使用远程文件系统视图(RemoteHoodieTableFileSystemView)时,就是访问时间线服务http接口

hudi系列-timeline service_第1张图片

默认情况下,如果开启了时间线服务,则它运行在JobManager(如果是spark,则在driver中),所有写任务都会向它发出请求。

功能

时间线服务接收到的请示会分派给对应的Handler进行处理

  • BaseFileHandler:获取base文件信息
  • FileSliceHandler:获取文件分片信息
  • TimelineHandler:获取timeline信息
  • MarkerHandler:管理marker文件,创建、删除、查询

前三者直接代理了文件系统视图提供的接口,第四个是实现了marker机制,支持批量创建marker文件,解决了AWS S3下性能瓶颈问题。

部署方式

时间线服务支持两种部署方式,内置方式以及独立部署方式

  • 内置方式:默认的部署方式,即hoodie.embed.timeline.se

你可能感兴趣的:(hudi系列,hudi,timeline,service)