目录

一、前言

二、实现

2.1 通过参数方式直接传递

2.2 通过配置文件来获取参数值


一、前言

在Flink中,我们会对接Kafka,Kafka的参数比较多,如果我们希望通过灵活的方式修改参数,而不是把参数值硬编码到代码中,那么可以通过以下两种方式。

二、实现

我们可以使用Flink的内置工具类ParameterTool.get()的方式获取传递的参数值

2.1 通过参数方式直接传递

/*** 从args中获取参数值* 工具类:org.apache.flink.api.java.utils.ParameterTool* 传参方式:-- || - 方式传递* @param args*/def testFromArgs(args: Array[String]): Unit = {val tool: ParameterTool = ParameterTool.fromArgs(args)val groupId: Any = tool.get("group.id", "-") // key,defaultValueval topics = tool.getRequired("topics") //必填参数println(groupId + " : " + topics)}

传参方式:-- || - 两种方式,个人喜欢使用--方式。

2.2 通过配置文件来获取参数值

1)代码:

  /*** 从配置文件中获取参数值* important: 生产上不要把配置文件放到resources下,不然修改后要重新打包,我们放到conf下* 文件类型:源码只是去读文件,并没限制文件类型,使用.conf | .txt也可以;* key和value之间分割符: 使用 = 或者 : (源码)** @param args*/def testFromProperties(): Unit = {//val tool: ParameterTool = ParameterTool.fromPropertiesFile("conf/kafka.properties")val groupId: Any = tool.get("group.id", "-") // key,defaultValueval topics = tool.getRequired("topics") //必填参数println(groupId + " : " + topics)}

2)配置文件:

a. 也可以通过配置文件获取,需要注意的是不要把配置文件放到resources目录下,因为修改resources目录下的文件要重新打包。可以新建conf文件夹,放到下面。

b. 文件类型限制:源码只是使用FileInputStream去读文件,并没限制文件类型,使用.conf | .txt也可以,个人喜欢使用properties

c. 分隔符限制:key和value之间分割符: 使用 = || : 都可以,个人喜欢使用=

Flink获取外部传递参数的两种方式相关推荐

  1. vue 获取请求url_vue 获取url里参数的两种方法小结

    我就废话不多说了,大家还是直接看代码吧~ 第一种: const query = Qs.parse(location.search.substring(1)) let passport = query. ...

  2. vue-router 传递参数的几种方式

    本文转载自:https://blog.csdn.net/crazywoniu/article/details/80942642 vue-router传递参数分为两大类 编程式的导航 router.pu ...

  3. python命令行模式怎么输入_python获得命令行输入的参数的两种方式

    外部直接执行python文件时,我们有时需要获得命令行的参数6ok免费资源网 获得命令行参数的两种方式6ok免费资源网 1.通过sys.argv6ok免费资源网 sys.argv:获得一个参数列表,第 ...

  4. 表单提交和超链接请求传递参数的几种方式

    表单提交和超链接请求传递参数的几种方式 这段时间在使用easy-ui的datagrid,他有自己提交表单的方式,所以就整理整理页面对参数的提交方式: 注:下面代码都已经过测试. 1. HTML提交表单 ...

  5. 【REACT NATIVE 系列教程之十三】利用LISTVIEW与TEXTINPUT制作聊天/对话框获取组件实例常用的两种方式...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2346.html ...

  6. putextra 传递对象_intent.putextra用法 使用Intent传递对象的两种方式 - 电脑常识 - 服务器之家...

    intent.putextra用法 使用Intent传递对象的两种方式 发布时间:2017-05-22 来源:服务器之家 Intent 的用法相信你已经比较熟悉了,我们可以借助它来启动活动.发送广播. ...

  7. 获取checkbox选中状态的两种方式_张童瑶的博客

    获取checkbox选中状态的两种方式 获取checkbox选中状态的两种方式 第一种方式 第二种方式 我的其他文章 我的其他网站 获取checkbox选中状态的两种方式 我在开发项目的时候遇到这个问 ...

  8. android获取ip方法,Android开发准确获取手机IP地址的两种方式

    最近看了好多网上获取IP地址的例子,发现好多都不完全准确,这里我写一下获取ip地址的两种方式. 比如微信支付,后台在做接口的时候,要求App端传入IP地址,我们需要判断是网络环境,WI-FI还是3G, ...

  9. 获取用户手机IP的两种方式

    安卓获取用户手机IP有两种方式,一种是通过wifi获取,一种是通过GPRS获取. 第一种wifi方式获取: 1.首先设置用户权限 <uses-permission android:name=&q ...

最新文章

  1. python中文昵称-官方出品 Python 中文文档!拜托,别再说看不懂了
  2. Sentinel: 分布式系统的流量防卫兵 1
  3. 【瞎搞】 Codeforces Round 276 DIV 2 C.Bits
  4. BugkuCTF-MISC题where is flag
  5. 自动Shader优化器glsl_optimizer的编译与使用
  6. sys.stdout.write与sys.sterr.write(一)
  7. [重要公告] 关于禁止发布Windows系统及非法激活软件的通知
  8. Linux下网站搭建(2)---Mysql安装和基本操作
  9. Unity VideoPlayer 播放视频
  10. Linux如何配置DNS服务器
  11. 答案原文翻译解释《避凶就吉精明鬼,千变万化心不变》这句话是指什么意思?...
  12. linux hping3命令,hping3命令 – 测试网络及主机的安全
  13. 谷粒微博学习笔记一:Utilsconstants
  14. 干货,新手小白做影视剪辑,这样做,帮你99%避免违规侵权
  15. linux相关命令之top命令
  16. 如何利用wireshark抓取手机包
  17. 牛客网——华为题库(11~20)
  18. 文件所在服务器未响应,电脑用右键点文件没反应直接卡在那儿
  19. 瑞士军刀增强版socat工具
  20. 计算机网络安全相关的外国文献,网络安全与防范外文文献翻译中英文.doc

热门文章

  1. 环信IM SDK使用(四):环信会话列表实现及相关接口介绍
  2. mysql以及DBeaver的使用
  3. Java基于SpringBoot+Vue+nodejs的在线小说阅读平台 element
  4. 计算机和局域网络的保密管理,浅析计算机局域网的安全保密与管理.doc
  5. 腾讯QQ大数据:用户增长分析——用户流失预警
  6. Go:Cos求余弦(附完整源码)
  7. pc控制iphone的软件_太好用了,这个软件可以让你在电脑上自由控制 iPhone和安卓手机!...
  8. WPF datagrid数据导出到Excel表格
  9. 面向对象案例——贪吃蛇游戏
  10. can通讯bdc_纯电动汽车网络总线 数据通信网络连接系统介绍