补充阅读

发布时间:2022-06-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了补充阅读脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

02. 字符串转Interger

  • Integer.valueOf( "123") 将字符串转成integer类型
  • Integer.parseint("123") 将字符串转成有符号的int类型

03. 富函数(Rich Functions)

“富函数”是DataStream API提供的一个函数类的接口,所有Flink函数类都有其Rich版本。它与常规函数的不同在于,可以获取运行环境的上下文,并拥有一些生命周期方法,所以可以实现更复杂的功能。

  • RichMapFunction
  • RichFlatMapFunction
  • RichFilterFunction

Rich Function有一个生命周期的概念。典型的生命周期方法有:

  • oPEn()方法是rich function的初始化方法,当一个算子例如map或者filter被调用之前open()会被调用。
  • close()方法是生命周期中的最后一个调用的方法,做一些清理工作。
  • getRuntimeContext()方法提供了函数的RuntimeContext的一些信息,例如函数执行的并行度,任务的名字,以及state状态

富函数普遍拥有方法:

  • open(configuration):void
  • close():void
  • setRuntimeContext(RuntimeContext):void
  • getRuntimeContext():RuntimeContext
  • 私有静态变量: runtimeContext:RuntimeContext

04. 正则字符串切割("W+" 与"s+"的区别)

  • W+ :是匹配除了字母、数字、下划线和汉字之外的任意字符
  • s+ : 是匹配空格、制表符(tap键)

05. 生成随机序列号(UUID)

  • 工具类:
    • UUID.randomUUID().toString().substring(0, 18)

06. 生成随机数 Random的使用

补充阅读

  • 生成[0,2]的整数

    • Random r = new Randow();

      r.nextInt(3); //[0, 3)的整数,即:0,1,2

07. 系统当前毫秒值

08. 线程休眠

  • TimeUnIT.MILLISECONDS.sleep(50); //线程休眠50毫秒

  • TimeUnit.SECONDS.sleep(1); //线程休眠1秒

09. 序列化和反序列化

  • 序列化是将对象序列化成二进制数据保存到本地或者通过网络传输给其它节点
  • 反序列化是将二进制的数据反序列化为对象
  • 利用序列化和反序列化可以在网络中传输对象。
  • 对象的本质其实也就是内存中一块存储区域的数据。

10. scala与Java元组元素的个数

  • Scala 元组元素个数最多22个

  • java元组元素个数最多25个

11. Java中获取元祖元素

  • 方式一: .getField(0)
  • 方式二: .f0

12. Java中时间戳转指定日期格式

  • 先定义转换格式

    • FastDateFormat format = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss:SSS")
  • 转换

    • System.out.PRintln(format.format(123))
  • 补充阅读

  • 结果:

    补充阅读

13. Spark 和 Flink 代码书写套路

  • Spark
    • 1、
    • 2、
    • 3、
    • 4、
    • 5、
  • Flink
    • 1、执行环境-env
    • 2、数据-source
    • 3、数据转换-transformation
    • 4、输出终端-sink
    • 5、触发执行-execute
      • (批处理有sink就加上,没有不加上)
      • (流处理必须加上execute才能触发执行程序)

14. 切割字符串时的细节

  • 代码
    • 补充阅读

  • 结果:
    • 补充阅读

  • 结论:
    • 如果前面有被切了,那么得到的字符串数组第一个必有个空字符串
    • 注意结尾也切了,但结尾却没有.

15. TimeZone 时区中没有Asia/Beijing, 只有Asia/Shanghai 和 Asia/Chongqing

补充阅读

16. 字符串格式化format (本质:字符串填空)

  Random random = new Random();
  TimeZone timeZone = TimeZone.getTimeZone("Asia/Chongqing");
  Instant instant = Instant.ofEpochMilli(
          System.currentTimeMillis()+ timeZone.getOffset(System.currentTimeMillis())
  );
 System.out.println(instant.toString());
  String ouptut = String.format(
          "{"ts": "%s","user_id": "%s", "item_id":"%s", "category_id": "%s"}",
          instant.toString(),
          "user_" + (10000 + random.nextInt(10000)),
          "item_" + (100000 + random.nextInt(100000)),
          "category_" + (200 + random.nextInt(200))
  );
  System.out.println(ouptut);

17. fastjson的使用

  • import com.alibaba.fastjson.JSON;
  • 功能:
    • JavaBean =》 JSON格式字符串
    • JSON格式字符串 =》 JavaBean
  • 用法:
    • JSON.toJSONString(javaBean); //将JavaBean对象转化成JSON格式字符串
      • 补充阅读

  @Data
  @NoargsConstructor
  @AllArgsConstructor
  private static class DataBean {
      private String value;
  }

DataBean data = new DataBean(String.valueOf(i));
JSON.toJSONString(data);

脚本宝典总结

以上是脚本宝典为你收集整理的补充阅读全部内容,希望文章能够帮你解决补充阅读所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。