怎么使用Flink TableAPI和SQL /Elasticsearch
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"怎么使用Flink TableAPI和SQL /Elasticsearch",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用F
千家信息网最后更新 2026年11月01日怎么使用Flink TableAPI和SQL /Elasticsearch
这篇文章主要讲解了"怎么使用Flink TableAPI和SQL /Elasticsearch",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用Flink TableAPI和SQL /Elasticsearch"吧!
使用Tbale&SQL与Flink Elasticsearch Connector 连接器将数据写入Elasticsearch引擎的索引
示例环境
java.version: 1.8.xflink.version: 1.11.1elasticsearch:6.x
示例数据源 (项目码云下载)
Flink 系例 之 搭建开发环境与数据
示例模块 (pom.xml)
Flink 系例 之 TableAPI & SQL 与 示例模块
InsertToEs.java
package com.flink.examples.elasticsearch;import org.apache.flink.streaming.api.TimeCharacteristic;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.flink.table.api.EnvironmentSettings;import org.apache.flink.table.api.StatementSet;import org.apache.flink.table.api.TableResult;import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;/** * @Description 使用Tbale&SQL与Flink Elasticsearch连接器将数据写入Elasticsearch引擎的索引 */public class InsertToEs { /** * Apache Flink 有两种关系型 API 来做流批统一处理:Table API 和 SQL。 * 参考官方:https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/dev/table/connectors/elasticsearch.html */ //参见属性配置类:ElasticsearchValidator static String table_sql = "CREATE TABLE my_users (\n" + " user_id STRING,\n" + " user_name STRING,\n" + " uv BIGINT,\n" + " pv BIGINT,\n" + " PRIMARY KEY (user_id) NOT ENFORCED\n" + ") WITH (\n" + " 'connector.type' = 'elasticsearch',\n" + " 'connector.version' = '6',\n" + " 'connector.property-version' = '1', \n" + " 'connector.hosts' = 'http://192.168.110.35:9200',\n" + " 'connector.index' = 'users',\n" + " 'connector.document-type' = 'doc',\n" + " 'format.type' = 'json',\n" + " 'update-mode'='append' -- append|upsert\n" + ")"; public static void main(String[] args) { //构建StreamExecutionEnvironment StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); //默认流时间方式 env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime); //构建EnvironmentSettings 并指定Blink Planner EnvironmentSettings bsSettings = EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build(); //构建StreamTableEnvironment StreamTableEnvironment tEnv = StreamTableEnvironment.create(env, bsSettings); //注册kafka数据维表 tEnv.executeSql(table_sql); //Elasticsearch connector 目前只支持了 sink,不支持 source 。不能SELECT elasticsearch table,因此只能通过insert的方式提交数据; String sql = "insert into my_users (user_id,user_name,uv,pv) values('10003','tom',31,10)";// TableResult tableResult = tEnv.executeSql(sql); //第二种方式:声明一个操作集合来执行sql StatementSet stmtSet = tEnv.createStatementSet(); stmtSet.addInsertSql(sql); TableResult tableResult = stmtSet.execute(); tableResult.print(); }}打印结果
+-------------------------------------------+| default_catalog.default_database.my_users |+-------------------------------------------+| -1 |+-------------------------------------------+1 row in set
感谢各位的阅读,以上就是"怎么使用Flink TableAPI和SQL /Elasticsearch"的内容了,经过本文的学习后,相信大家对怎么使用Flink TableAPI和SQL /Elasticsearch这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
数据
示例
方式
学习
内容
引擎
模块
环境
索引
连接器
支持
官方
就是
属性
思路
情况
数据源
文章
时间
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网与科技金融数据
中资互联网科技
无线互联网科技
上海致骋互联网科技
互联网科技公司有哪些
互联网和高科技公司
深圳国际航运科技和互联网
福州新华互联网科技学校 知乎
团飞科技与伯堂互联网服务平台
互联网5g黑科技有哪些
宜昌元轩互联网科技有限公司
互联网科技圈年度人物
互联网营销推广黑科技
郑州欣桑互联网科技有限公司
互联网硬科技公司
互联网科技新闻
湖北辰鑫科技互联网
互联网科技和医药行业
华人运通互联网科技公司
中国主要互联网科技公司
互联网科技股
移动互联网科技股
彤创互联网科技有限公司
企晟互联网信息科技有限公司
互联网行业科技股
深圳艾果互联网通讯科技
互联网科技快讯热点
新氧科技和美国互联网有关系吗
互联网时代科技型公司的机会
恒生科技互联网指数十大成分股