1,什么是 Elasticsearch? (1)Elasticsearch 是一个分布式的全文检素引擎。它对 Lucene 的功能做了封装,具有实时搜索、稳定、可靠、快速等特点。 (2)Elasticsearch 主要包含以下特性: 支持分布式建立素引和搜索索引。 索引支持分片,以及自动负载均衡。 支持 REST API。 集群配置简单......
1,什么是 Solr? Solr 是一个高性能、采用 Java 开发、基于 Lucene 的全文搜索服务器。它对 Lucene 做了封装,使用起来更加的方便,并且对外提供类似于 WebService 的接口,可以通过 HTTP 请求进行操作。 2,Solr 的特点 (1)利用 Solr 可以更快速地实现站内搜索功能......
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 流,中文翻译为:仅追加流......