Flink中-C参数与DistributedCache使用

栏目: IT技术 · 发布时间: 4年前

内容简介:—END—

Flink中-C参数与DistributedCache使用

点击箭头处 “蓝色字” ,关注我们哦!!

-C 参数

flink命令下有这样的一个参数选项-C或者--classpath,含义解释:

Adds a URL to each user code classloader on all nodes in

the cluster. The paths must specify a protocol (e.g. file://)

and be accessible on all nodes (e.g. by means of a NFS

share). You can use this option multiple times for

specifying more than one URL. The protocol must be

supported by the {@link java.net.URLClassLoader}.

含义就是:给一个user classloader添加一个url,但是这个url 必须能够被集群的所有的节点都能够访问到。该classloader指的是FlinkUserCodeClassLoaders,在任务启动的过程中会使用该loader加载,具体使用是在StreamTask.invoke中初始化OperatorChain中,在OperatorChain初始化时,会从字节码中反序列化一个operator的header operator,在这个加载过程中会使用FlinkUserCodeClassLoaders进行加载,

final ClassLoader userCodeClassloader = containingTask.getUserCodeClassLoader();

final StreamConfig configuration = containingTask.getConfiguration();

headOperator = configuration.getStreamOperator(userCodeClassloader);

FlinkUserCodeClassLoaders分ParentFirstClassLoader与ChildFirstClassLoader两类,默认使用ChildFirstClassLoader,表示在加载过程中会优先从给定的url中加载类。

StreamOperator面向用户调用的就是UserFunction,如果我们的自定义Function中有一些比较通用的包,有很多Flink任务都会使用到,那么我们就可以使用-C 来指定包的路径,前提是集群的每个node都可以访问到(file://),通过这种方式程序在打包的时候就不需要将这些通用的包打进去。

DistributedCache

DistributedCache正如其含义分布式缓存,其功能与spark的广播变量类似,仅仅只会在一个TaskExecutor中维护一份该数据,用法:

//注册

env.registerCachedFile("file:/1.log","file1")

在userFunction中:

val file=getRuntimeContext.getDistributedCache.getFile("file1")

在ha模式下的工作机制:文件会被上传到high-availability.storageDir指定的目录下(一般是hdfs),在任务启动过程中,会启动一个后台线程从hdfs拉取文件到本地可提供访问。

在非ha默认下的工作机制:文件存储在jobmaster节点下的工作路径中,在任务启动过程中从jobmaster中拉取文件到taskExecutor本地路径下。

—END—

Flink中-C参数与DistributedCache使用

关注回复 Flink

获取更多系列

原创不易,好看,就点个"在看"


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法艺术与信息学竞赛

算法艺术与信息学竞赛

刘汝佳 / 清华大学出版社 / 2004-1 / 45.00元

《算法艺术与信息学竞赛》较为系统和全面地介绍了算法学最基本的知识。这些知识和技巧既是高等院校“算法与数据结构”课程的主要内容,也是国际青少年信息学奥林匹克(IOI)竞赛和ACM/ICPC国际大学生程序设计竞赛中所需要的。书中分析了相当数量的问题。 本书共3章。第1章介绍算法与数据结构;第2章介绍数学知识和方法;第3章介绍计算机几何。全书内容丰富,分析透彻,启发性强,既适合读者自学,也适合于课......一起来看看 《算法艺术与信息学竞赛》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具