适用于批处理, 适用于把使用频率比较高的文件放到本地task内存中,
注意:需要我们缓存的文件在任务运行期间最好是只读状态,否则会造成数据的一致性问题。另外,缓存的文件和数据不宜过大,否则会影响 Task 的执行速度,在极端情况下会造成 OOM。
下面来看下如何进行应用
首先在项目中创建一个本地文件distributedcache.txt,里面添加数据,文件也可放在hdfs上执行
aaabbbccc
接下来进行实际的使用
package com.test;import org.apache.commons.io.FileUtils;import org.apache.flink.api.common.functions.RichMapFunction;import org.apache.flink.api.java.DataSet;import org.apache.flink.api.java.ExecutionEnvironment;import org.apache.flink.api.java.operators.DataSource;import org.apache.flink.configuration.Configuration;import java.io.File;import java.util.ArrayList;import java.util.List;public class DistributedCache { public static void main(String[] args) throws Exception { final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); // 从hdfs注册一个文件 //env.