当前位置:   article > 正文

Flink SQL 中TableFunction使用分析_flink sql tablefunction

flink sql tablefunction

本篇幅介绍Flink Table/SQL中如何自定义一个表函数(TableFunction),介绍其基本用法以及与源码结合分析其调用流程。

基本使用

表函数TableFunction相对标量函数ScalarFunction一对一,它是一个一对多的情况,通常使用TableFunction来完成列转行的一个操作。先通过一个实际案例了解其用法:终端设备上报数据,数据类型包含温度、耗电量等,上报方式是以多条方式上报,例如:

file

现在希望得到如下数据格式:

file

这是一个典型的列转行或者一行转多行的场景,需要将data列进行拆分成为多行多列,先看下代码实现:

  1. public class MyUDTF extends TableFunction<Row>{
  2. public void eval(String s){
  3. JSONArray jsonArray =JSONArray.parseArray(s);
  4. for(int i =0; i < jsonArray.size(); i++){
  5. JSONObject jsonObject = jsonArray.getJSONObject(i);
  6. String type = jsonObject.getString("type");
  7. String
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/761831
推荐阅读
相关标签
  

闽ICP备14008679号