1,Lucene 介绍 (1)Lucene 是 Java 家族中最为出名的一个开源搜索引擎,在 Java 世界中属于标准的全文检索程序,在传统 IT 领域的全文检素中占据着重要地位。 (2)Lucene 提供了两大核心引擎:索引引擎和搜索引擎。通过这两个引擎可以实现对数据建立索引......
在之前的文章中,我们通过 Flink SQL 的形式查询 Flink 中的实时数据,虽然核心的业务逻辑是通过 SQL 实现的,但是这个 SQL 是需要嵌入到 Flink 程序中的,多少还是要写一些 Java 或者 Scala 代码的,并且最后提交执行的时候还是需要对代码编译打包的,这个过程是比较繁琐的,用起来不太方便,特别是在代码开发调试阶段......
由于 Flink SQL 和 Hive SQL 底层使用的 SQL 解析引擎不一样,所以目前 Flink SQL 中无法直接使用 Hive SQL 中的函数和语法。 基于这些问题,Flink SQL 提供的有解决方案。 通过 HiveModule 实现 Hive SQL 函数的兼容,主要是针对函数的支持。 通过 HiveDialect 实现 Hive SQL 语法的兼容......
我们在使用 Hive SQL 的时候感觉很方便,创建一次表之后,可以随时使用,这是因为 Hive 的 Metastore 中对元数据进行了持久化存储。 但是针对 Flink SQL 的使用就没有 Hive SQL 那么方便了,我们前面通过 Flink SQL 创建的表相当于都是临时表,默认只在当前任务的 Session 会话中有效......
窗口聚合语句可以使用 Group Window Aggregation 或者 Windowing TVF。Group Window Aggregation 是 Flink1.13 版本之前提供的解决方案,这个方案在 Flink1.13 版本被标记为过时了,不建议使用了。从 Flink1.13 版本开始,官方建议使用 Windowing TVF。下面我将通过样例演示窗口聚合语句的具体使用......
列其实就是字段。 Flink SQL 中的列可以大致划分为常规列(物理列)、元数据列,和计算列。本文将通过样例详细介绍下这几种列。 一、常规列(物理列) 1,基本介绍 常规列定义了物理数据中字段的名称、类型和顺序。 2,使用样例 CREATE TABLE T1( id INT, name STRING ) WITH ( ......
一、数据类型详解 1,基本介绍 (1)Flink SQL 中支持的数据类型大致可以分为三类: 基础数据类型 复合数据类型 自定义数据类型 (2)在工作中,基础数据类型和复合数据类型其实就足够使用了。 2,基础数据类型 (1)字符串:包括:CHAR、VARCHAR、STRING......
当我们想要把动态输出表中的数据转换为输出数据流,或者将其输出到外部存储系统中的时候,需要对这个动态输出表中的数据行为进行编码。 Flink SQL 支持三种编码方式来体现一个动态表的变化,这三种编码方式对应的是三种数据流: Append-only 流,中文翻译为:仅追加流......
一、表类型介绍 1,基本介绍 (1)Flink 中的表从全局层面进行划分,可以分为静态表(Static Table)和动态表(Dynamic Table)。 其中动态表里面中还包括一种特殊的表:时态表(Temporal Table)。时态表是在 Flink1.11 版本中引入的,只在 Blink 引擎中支持......
数据源和目的地都是 Kafka 这种情况再实际工作中比较常见,可以实现数据的实时计算。下面通过样例进行演示。 一、Kafka(Source) + Kafka(Sink)案例 1,准备工作 首先我们需要在项目的 pom.xml 中添加 Flink SQL 相关的依赖,以及 flink-connector-kafka、flink-json 依赖......