hudi系列-timeline service
Timeline Service(时间线服务)是hudi的一个组件,用于暴露文件系统视图接口给客户端,是一个基于Javalin+Jetty实现的web服务。当客户端使用远程文件系统视图(RemoteHoodieTableFileSystemView)时,就是访问时间线服务http接口默认情况下,如果开启了时间线服务,则它运行在JobManager(如果是spark,则在driver中),所有写任务都会向它发出请求。功能时间线服务接收到的请示会分派给对应的Handler进行处理BaseFileHandler:获取base文件信息FileSliceHandler:获取文件分片信息TimelineHandler:获取timeline信息MarkerHandler:管理marker文件,创建、删除、查询前三者直接代理了文件系统视图提供的接口,第四个是实现了marker机制,支持批量创建marker文件,解决了AWS S3下性能瓶颈问题。部署方式时间线服务支持两种部署方式,内置方式以及独立部署方式内置方式:默认的部署方式,即hoodie.embed.timeline.server.reuse.enabled为true,此时服务支行于每个写作业的管理节