×

scala

反射执行FlinkSql代码时找不到UDF的class报ClassNotFound

微信用户83175 微信用户83175 发表于2024-05-20 浏览4009 评论0
通过组件的方式配置flinkSql的流程,其中有测试环节,就是将生成的源代码通过反射执行一遍。其余组件都正常,就是使用UDF的时候报错ClassNotFound。 udf的注册代码如下: TableEnvironment tbEnv; ...... tbEnv.createTemporarySystemFunction("udf名字", 全类名.class); 经过排查,它会在如下scala代码中进行实例化。但它实例化的过程中呢是先拿到一个二进制的文件、然后再从Thread.curren

scala

Flink(flink原理、实战与性能优化)

海子 海子 发表于2024-05-20 浏览4377 评论0
1.概念 用Java和Scala编写的流处理框架和分布式处理引擎 对于无界和有界数据流进行有状态计算(无界,实时、有界,离线 批处理数据) 在所有常见集群环境运行,以内存速度和任何规模执行计算 达到实时流处理引擎全部标准要求(低延迟、高吞吐量、容错性、窗口时间语义化) 实时和批处理数据过程,抽象成三个过程 Source->Transform->Sink 2.架构设计 物理部署层-deploy层 支持多种部署模式:本地部署、集群部署(Standalone/Yar

scala

Scala 八股文

花白了我的人生 花白了我的人生 发表于2024-05-19 浏览5725 评论0
变量 常量:在程序执行的过程中,其值不会被改变的变量 var 修饰的变量可改变,val 修饰的变量不可改 var 修饰的对象引用可以改变, val修饰的对象则不可改变,但对象的状态(值)却是可以改变的。 注意: 能用常量的地方不用变量 数据类型 Scala是完全面向对象的语言,所以不存在基本数据类型的概念,有的只是任意值对象类型(AnyVal)和任意引用对象类型(AnyRef) Scala中一切数据都是对象,都是Any的子类 Scala中数据类型分为两大类:数值类

scala

Spark中的WholeStageCodegenExec(全代码生成)

SetLan SetLan 发表于2024-05-19 浏览7232 评论0
背景 在之前的文章中Spark DPP(动态分区裁剪)导致的DataSourceScanExec NullPointerException问题分析以及解决,我们直接跳过了动态代码生成失败这版本一步部分,这次我们来分析一下,SQL还是在以上提到的文章中。 分析 运行完该sql,我们可以看到如下的物理计划: 我们看到FilterExec和ColumnarRoRowExec并没有在一个WholeStageCodegen 中, 这是为什么呢? 这是因为exists方法是继承自CodegenFa