Flink分布式缓存

Flink的分布式缓存 分布式缓存 Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件,并把它放在taskmanager节点中,防止task重复拉取。 此缓存的工作机制如下:程序注册一个文件或者目录(本地或者远程文件系统,例如hdfs或者s3),通过ExecutionEnvironment注册缓存文件并为它起一个名称。 当程序执行,Flink自动将文件或者目录复制到所有task... 阅读详情

分布式缓存

  • Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件,并把它放在taskmanager节点中,防止task重复拉取。 此缓存的工作机制如下:程序注册一个文件或者目录(本地或者远程文件系统,例如hdfs或者s3),通过ExecutionEnvironment注册缓存文件并为它起一个名称。 当程序执行,Flink自动将文件或者目录复制到所有taskmanager节点的本地文件系统,仅会执行一次。用户可以通过这个指定的名称查找文件或者目录,然后从taskmanager节点的本地文件系统访问它。

实战

class CacheMap extends RichMapFunction<String, String> {
    private ArrayList<String> dataList = new ArrayList<String>();

    @Override
    public void open(Configuration parameters) throws Exception {
        super.open(parameters);
        //2:使用文件
        File myFile = getRuntimeContext().getDistributedCache().getFile("test.txt");
        List<String> lines = FileUtils.readLines(myFile);
        for (String line : lines) {
            this.dataList.add(line);
            System.err.println("分布式缓存为:" + line);
        }
    }

    @Override
    public String map(String value) throws Exception {
        //在这里就可以使用dataList
        System.err.println("使用datalist:" + dataList + "------------" + value);
        //业务逻辑
        return dataList + ":" + value;
    }
}

public class DisCacheTest {

    public static void main(String[] args) throws Exception {

        //获取运行环境
        ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();

        //1:注册一个文件,可以使用hdfs上的文件 也可以是本地文件进行测试
        env.registerCachedFile("hdfs://cloud:9820/upload/test.txt","test.txt");

        DataSource<String> data = env.fromElements("a", "b", "c", "d");

        DataSet<String> result = data.map(new CacheMap());

        result.printToErr();
    }

}
【Flink】Flink分布式缓存 适用于批处理, 适用于把使用频率比较高的文件放到本地task内存中, 注意:需要我们缓存的文件在任务运行期间最好是只读状态,否则会造成数据的一致性问题。另外,缓存的文件和数据不宜过大,否则会影响 Task 的执行速度,在极端情况下会造成 OOM。 下面来看下如何进行应用 首先在项目中创建一个本地文件distributedcache.txt,里面添加数据,文件也可放在hdfs上执行 aaa bbb ccc 接下来进行实际的使用 package com.test; import org. 阅读详情

相关推荐

【Flink实战系列】Flink 的分布式缓存使用

Flink提供了一个分布式缓存,类似于Apache Hadoop,可以在本地访问用户函数的并行实例。此函数可用于共享包含静态外部数据的文件,如字典或机器学习的回归模型。 缓存的工作原理如下。程序在其作为缓存文件的特定名称下注册本地或远程文件系统(如HDFS或S3)的文件或目录ExecutionEnvironment。执行程序时,Flink会自动将文件或目录复制到所有工作程序的本地文件系统。用户函...

JasonLee实时计算 1620

Flink从入门到精通

本课程从0到1进行Flink的介绍,对当下最火的大数据技术Flink进行深入解析,并结合实际电商项目快速掌握Flink的开发技术。

Flink实战案例(十五):Flink的分布式缓存

声明:本系列博客是根据SGG的视频整理而成,非常适合大家入门学习。 《2021年最新版大数据面试题全面开启更新》 分布式缓存   Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件,并把它放在taskmanager节点中,防止task重复拉取。   此缓存的工作机制如下:程序注册一个文件或者目录(本地或者远程文件系统,例如hdfs或者s3),通过ExecutionEnvironment注册缓存文件并为它起一个名称。   当程序执行,Flink自动将文件或者目

微信搜:import_bigdata,大数据领域硬核原创作者 1463

flink通过分布式缓存加载配置文件

Flink分布式缓存是类似于hadoop的分布式文件,可以在启动时将指定的文件分发到各个工作节点的临时目录。注意,此分发过程仅会在作业启动时执行一次,所以无法动态更改。 缓存的工作机制如下:程序注册一个文件或者目录(本地或者远程文件系统,例如hdfs或者s3),通过ExecutionEnvironment注册缓存文件并为它起一个名称。当程序执行,Flink自动将文件或者目录复制到所有worker节...

大仁哥、的博客 2230

Flink 分布式缓存 实例

版本: flink1.9.2,java1.8 package DistributedCache; import org.apache.commons.io.FileUtils; import org.apache.flink.api.common.functions.RichMapFunction; import org.apache.flink.configuration.Configuration; import org.apache.flink.streaming.api.datastream.

Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发 946

RS232/RS485/CAN_BUS 通信原理总结与通信波形分析

分析一:232串口信号要点:RS232,全双工,采用三线制传输分别为TXD\RXD\GND,其中TXD为发送信号,RXD为接收信号。在RS232中任何一条信号线的电压均为负逻辑关系。即:-15v ~ -3v 代表1 +3v ~ +15v 代表0测试结果与分析:如图所示,以传输一个8位二进制数值“01101010”为例,异步传输数据的一般格式为:起始位+校验位+数据位+停止位。其中,校验位为可选项。...

乔木鱼 1万+

【11】Flink 之 DataSet API(五):Distributed Cache(分布式缓存)

1、Distributed Cache(分布式缓存) Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件 此缓存的工作机制如下:程序注册一个文件或者目录(本地或者远程文件系统,例如hdfs或者s3),通过ExecutionEnvironment注册缓存文件并为它起一个名称。当程序执行,Flink自动将文件或者目录复制到所有taskmanager节点的本...

努力学习的大小宝 1016

Synopsys AXI VIP 从环境搭建到首个验证场景运行

本文详细介绍了Synopsys AXI VIP从环境搭建到首个验证场景运行的全过程,包括VIP安装、示例工程生成、验证环境解析、仿真调试技巧及进阶优化。特别针对AXI协议验证中的常见问题提供了实用解决方案,帮助工程师快速掌握这一SoC验证必备工具。

weixin_29185493的博客 340

Flink(20):Flink之分布式缓存

0. 相关文章链接 1. Flink中分布式缓存概述 Flink提供了一个类似于Hadoop的分布式缓存,让并行运行实例的函数可以在本地访问。 这个功能可以被使用来分享外部静态的数据,例如:机器学习的逻辑回归模型等。 广播变量是将变量分发到各个TaskManager节点的内存上,分布式缓存是将文件缓存到各个TaskManager节点上。 2. 编码步骤 注册一个分布式缓存文件:env.registerCachedFile("hdfs:///path/file", "cachefilename")

yang_shibiao的博客 2433

3.6KW储能双向逆变器(原理图PCB源码)

通过百度网盘分享的文件:优快云 3.6KW储能双向逆变器 链接:https://pan.baidu.com/s/18NN6KnpywFUIDtAQ4b1LTg?pwd=csdn 提取码:csdn

2401_86562087的博客 2183

C语言专升本编程题

湖南省专升本选拔考试,C语言程序设计内部习题

weixin_45729947的博客 2116

flink-12 flink分布式缓存

flink分布式缓存概念用法 概念 Flink提供了一个类似于hadoop分布式缓存,可以使用户在并行函数中很方便的读取本地文件。 广播变量是将一些共享的数据放在TaskManager内存中 而Distribute cache是从外部加载一个文件/目录(例如hdfs),然后分别复制到每一个TaskManager的本地磁盘中。 用法 1.使用Flink运行环境调用registerCachedFile注册一个分布式缓存 env.registerCachedFile("hdfs:///path/to/your

a3125504x的博客 920

学Simulink——基于Simulink的PMSM直接转矩控制(DTC)与SVPWM对比

(如SVM-DTC),将一个控制周期Tc​分为两部分:前Ton​用有效矢量,后Toff​用零矢量,通过调节Ton​/Tc​减小脉动。:根据ψs​扇区(6个)、Te误差(±滞环带)、ψs​误差(±滞环带)选择8个基本电压矢量(6有效矢量+2零矢量)。:低速时需用电流模型(ψs​=Ls​is​+ψf​),高速时用电压模型(es​=ωψf​),避免纯积分漂移;:基于us​=Rs​is​+Ls​dtdis​​+es​(es​为反电动势),用电压模型估算ψs​;

MHD0815的博客 338

Flink_Flink 的分布式缓存

文章目录Flink 的分布式缓存Flink Accumulators & Counters(了解) Flink 的分布式缓存 操作步骤 将 distribute_cache_student 文件上传到 HDFS / 目录下 获取批处理运行环境 创建成绩数据集 对 成绩 数据集进行 map 转换,将(学生 ID, 学科, 分数)转换为(学生姓名,学科, 分数) a. RichMapFunction 的 open 方法中,获取分布式缓存数据 b. 在 map 方法中进行转换 实现 open 方法 a

qq_44509920的博客 874

华为OD机试 - 荒岛求生 - 栈Stack(Python/JS/C/C++ 新系统 100分)

每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 2838

深度强化学习 | 基于DQN实现Flappy Bird游戏与分析

在Flappy Bird中,玩家需要通过控制小鸟安全穿过随机长度的水管来得分。本文基于深度Q网络DQN来实现Flappy Bird游戏的自主探索与学习

FRIGIDWINTER的博客 5912

9.Flink 分布式缓存

1.分布式缓存 1.1 介绍 1.1.1 技术细节 1.分布式文件缓存的作用与广播变量类似,也是为了避免出现join 操作发生数据倾斜而设计出来的 2.与广播变量不同之处在于: 广播变量中封装的数据类型是: DataSet, DataStream 分布式文件缓存中封装的数据类型是File 3.分布式文件缓存底层如何运作? 将分布式文件系统上的资源文件装载到TaskManager进程所...

Leeyehong_self的专栏 735

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

7-Flink的分布式缓存

分布式缓存 Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件,并把它放在taskmanager节点中,防止task重复拉取。 此缓存的工作机制如下:程序注册一个文件或者目录(本地或者远程文件系统,例如hdfs或者s3),通过ExecutionEnvironment注册缓存文件并为它起一个名称。 当程序执行,Flink自动将文件或者目录复制到所有task...

weixin_33989058的博客 110

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

flink读取不到文件_7-Flink的分布式缓存

分布式缓存 Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件,并把它放在taskmanager节点中,防止task重复拉取。 此缓存的工作机制如下:程序注册一个文件或者目录(本地或者远程文件系统,例如hdfs或者s3),通过ExecutionEnvironment注册缓存文件并为它起一个名称。 当程序执行,Flink自动将文件或者目录复制到所有task...

weixin_39860849的博客 150

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Flink 的分布式缓存使用步骤详解

Flink提供了一个类似于Hadoop的分布式缓存,让并行运行实例的函数可以在本地访问。使用ExecutionEnvironment实例对本地的或者远程的文件(例如:HDFS上的文件),为缓存文件指定一个名字注册该缓存文件!-广播变量将数据广播到各个TaskManager的内存中,分布式缓存广播到各个TaskManager的本地文件系统。4. 对 成绩 数据集进行map转换,将(学生ID, 学科, 分数)转换为(学生姓名,学科,分数)将文本转换为元组(学生ID,学生姓名),再转换为List。

justlpf的专栏 982
上一篇: Flink检查点机制与状态管理
下一篇: Hadoop3.x生产环境调优之高可用
架构师老狼
博客等级 码龄14年 44粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值