问题这有两个相同代码的程序: val bsEnv = StreamExecutionEnvironment.getExecutionEnvironment Env.setRestartStrategy(RestartStrategies.noRestart()) val consumerProps ...
Flink实时统计累计PV或者UV
背景经常会遇到这样的需求,统计1小时的PV或者UV,但是想要每分钟都可以看到当前的数据,对接到实时大屏上,可以动态看到数据变化过程。 Flink DataStream需要用到ContinuousProcessTimeTrigger或者ContinuousEventTimeTrigger。 使用示例 ...
Calcite 带有中文引发的血案
select name,id as 编号 from table where name in ('中文'); 问题一as 中文 会报错 Caused by: org.apache.calcite.runtime.CalciteException: Failed to encode ...
Flink SQL join 维表
语法flink sql join 维表需要使用特定的语法 select a.id,b.name from ubt as a join info FOR SYSTEM_TIME AS OF a.proctime as b on a.id=b.id FOR SYSTEM_TIME AS OF a.pro ...
Calcite in 过长报错
这次遇到一种神奇的现象 SELECT `DATE_CD`, SUM(`IB0002001_CN000`)FROM (SELECT `IDX_ID`, `CUBE2L_IB00040010_CN000`.`DATE_CD`, SUM(`CUBE2L_IB00040010_CN000`.`IDX_VAL ...
Flink的类加载策略
在JVM中,一个类加载的过程大致分为加载、链接(验证、准备、解析)、初始化.而我们通常提到类的加载,就是指利用类加载器(ClassLoader)通过类的全限定名来获取定义此类的二进制字节码流,进而构造出类的定义。Flink作为基于JVM的框架,在flink-conf.yaml中提供了控制类加载策略的 ...
Apache Kylin性能优化
高级设置Apache Kylin 的主要工作就是为源数据构建 N 个维度的 Cube,实现聚合的预计算。理论上而言,构建 N 个维度的 Cube 会生成 2的N次方 个 Cuboid, 如图 1 所示,构建一个 4 个维度(A,B,C, D)的 Cube,需要生成 16 个Cuboid 随着维度 ...
解决Flink1.11不能指定SQL任务JobName问题
Reference解决Flink1.11.0不能指定SQL任务JobName问题 背景Flink最近刚发布了1.11.0版本,由于加了很多新的功能,对sql的支持更加全面,我就迫不及待的在本地运行了个demo,但是运行的时候报错了: Exception in thread "main&qu ...
Calcite RBO rule 解析和自定义
什么是查询优化器查询优化器是传统数据库的核心模块,也是大数据计算引擎的核心模块,开源大数据引擎如 Impala、Presto、Drill、HAWQ、 Spark、Hive 等都有自己的查询优化器。Calcite 就是从 Hive 的优化器演化而来的。 优化器的作用:将解析器生成的关系代数表达式转换成 ...
Calcite RBO规则
规则来源于CoreRules.java AGGREGATE_PROJECT_MERGERule that recognizes an {@link Aggregate} on top of a {@link Project} and if possible aggregates through th ...