Flink SQL Client配置与应用

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 笔记

(1)Flink SQL Client介绍


SQL 客户端 的目的是提供一种简单的方式来编写、调试和提交表程序到 Flink 集群上,而无需写一行 Java 或 Scala 代码。SQL 客户端命令行界面(CLI) 能够在命令行中检索和可视化分布式应用中实时产生的结果。

1.gif

Flink SQL Client架构

2.png

SQL Client可视化模式


CLI 为维护和可视化结果提供三种模式。


表格模式(table mode) 在内存中实体化结果,并将结果用规则的分页表格可视化展示出来。执行如下命令启用:

SET execution.result-mode=table;

变更日志模式(changelog mode) 不会实体化和可视化结果,而是由插入(+)和撤销(-)组成的持续查询产生结果流。

SET execution.result-mode=changelog;

Tableau模式(tableau mode) 更接近传统的数据库,会将执行的结果以制表的形式直接打在屏幕之上。具体显示的内容会取决于作业 执行模式的不同(execution.type):

SET execution.result-mode=tableau;


(2)解决Hive的坑


在配置HiveCatalog之前需要确保hive的安装,见博客:


https://blog.csdn.net/weixin_45366499/article/details/107299478

hive安装完成之后要启动hive metastore

bin/hive --service metastore

在启动的同时会出现两处问题,没有请跳过!

第一个坑:

Caused by: MetaException(message:Version information not found in metastore. )


3.png

解决方法:

修改 conf/hive-site.xml 中的 “hive.metastore.schema.verification”改为 false

<property>
       <name>hive.metastore.schema.verification</name>
        <value>false</value>
</property>

第二个坑:

Caused by: MetaException(message:Required table missing : "`DBS`" in Catalog "" Schema "".

4.png

解决方法:

在conf下的hive-site.xml添加

<property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value>
</property>

没有问题之后即hive的metastore启动成功!


(3)配置Hive与Flink的集成


在配置HiveCatalog之前要先确保Hive与Flink的集成没有问题!

第一步:配置HADOOP_CLASSPATH,需要在/etc/profile文件中配置如下的环境变量

export HADOOP_CLASSPATH=`hadoop classpath`

第二步:将hive的jar包复制到flink的lib目录下


flink-connector-hive_2.11-1.12.1.jar

hive-exec-2.3.4.jar

flink-connector-hive_2.11-1.12.1.jar这个包在maven仓库下载:


https://mvnrepository.com/artifact/org.apache.flink/flink-connector-hive_2.11/1.12.1


(4)配置HiveCatalog


配置sql-client-defaults.yaml,修改catalogs,需要更改两个地方


第一个地方:

catalogs:  # empty list
# A typical catalog definition looks like:
   - name: myhive
     type: hive
     hive-conf-dir: /opt/modules/hive/conf
     default-database: flink
     hive-version: 2.3.4

注意要把[ ]这个中括号去掉

第二个地方:

6.png


(5)启动测试


启动Flink集群:

bin/start-cluster.sh

启动Hadoop集群

start-all.sh

启动hive metastore(重要)

bin/hive --service metastore

最后启动SQL client

bin/sql-client.sh embedded

到这里可能还会出现一个问题,没有请跳过!

Caused by: java.lang.IllegalArgumentException: Embedded metastore is not allowed. Make sure you have set a valid valu

image.png

解决方法:在hive-site.xml下配置

<property>
    <name>hive.metastore.uris</name>
    <value>thrift://bigdata-pro-m07:9083</value>
</property>

经过种种挫折最终测试成功,但并不意味着所有的坑都已经踩完

8.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
17天前
|
SQL 人工智能 编解码
NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧
NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧
NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧
|
19天前
|
SQL 自然语言处理 关系型数据库
NL2SQL进阶系列(3):Data-Copilot、Chat2DB、Vanna Text2SQL优化框架开源应用实践详解[Text2SQL]
NL2SQL进阶系列(3):Data-Copilot、Chat2DB、Vanna Text2SQL优化框架开源应用实践详解[Text2SQL]
NL2SQL进阶系列(3):Data-Copilot、Chat2DB、Vanna Text2SQL优化框架开源应用实践详解[Text2SQL]
|
20天前
|
SQL 运维 DataWorks
Flink CDC在阿里云DataWorks数据集成应用实践
本文整理自阿里云 DataWorks 数据集成团队的高级技术专家 王明亚(云时)老师在 Flink Forward Asia 2023 中数据集成专场的分享。
482 2
Flink CDC在阿里云DataWorks数据集成应用实践
|
23天前
|
SQL 人工智能 自然语言处理
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
|
23天前
|
SQL 算法 物联网
NL2SQL进阶系列(1):DB-GPT-Hub、SQLcoder、Text2SQL开源应用实践详解
NL2SQL进阶系列(1):DB-GPT-Hub、SQLcoder、Text2SQL开源应用实践详解
NL2SQL进阶系列(1):DB-GPT-Hub、SQLcoder、Text2SQL开源应用实践详解
|
23天前
|
机器学习/深度学习 分布式计算 BI
Flink实时流处理框架原理与应用:面试经验与必备知识点解析
【4月更文挑战第9天】本文详尽探讨了Flink实时流处理框架的原理,包括运行时架构、数据流模型、状态管理和容错机制、资源调度与优化以及与外部系统的集成。此外,还介绍了Flink在实时数据管道、分析、数仓与BI、机器学习等领域的应用实践。同时,文章提供了面试经验与常见问题解析,如Flink与其他系统的对比、实际项目挑战及解决方案,并展望了Flink的未来发展趋势。附带Java DataStream API代码样例,为学习和面试准备提供了实用素材。
81 0
|
26天前
|
SQL 关系型数据库 MySQL
mysql5.7 慢查询配置 查看sql语句执行时间
mysql5.7 慢查询配置 查看sql语句执行时间
14 1
|
2月前
|
SQL 资源调度 Oracle
Flink CDC产品常见问题之sql运行中查看日志任务失败如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
2月前
|
XML Java Apache
Apache Flink自定义 logback xml配置
Apache Flink自定义 logback xml配置
161 0
|
2月前
|
分布式计算 网络安全 流计算
Flink【环境搭建 01】(flink-1.9.3 集群版安装、配置、验证)
【2月更文挑战第15天】Flink【环境搭建 01】(flink-1.9.3 集群版安装、配置、验证)
79 0