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学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
1月前
|
分布式计算 数据处理 Apache
Spark和Flink的区别是什么?如何选择?都应用在哪些行业?
【10月更文挑战第10天】Spark和Flink的区别是什么?如何选择?都应用在哪些行业?
177 1
|
2月前
|
SQL 存储 API
Flink实践:通过Flink SQL进行SFTP文件的读写操作
虽然 Apache Flink 与 SFTP 之间的直接交互存在一定的限制,但通过一些创造性的方法和技术,我们仍然可以有效地实现对 SFTP 文件的读写操作。这既展现了 Flink 在处理复杂数据场景中的强大能力,也体现了软件工程中常见的问题解决思路——即通过现有工具和一定的间接方法来克服技术障碍。通过这种方式,Flink SQL 成为了处理各种数据源,包括 SFTP 文件,在内的强大工具。
167 15
|
1月前
|
分布式计算 资源调度 大数据
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(一)
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(一)
53 0
|
1月前
|
分布式计算 资源调度 大数据
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(二)
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(二)
69 0
|
15天前
|
消息中间件 资源调度 关系型数据库
如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理
本文介绍了如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理。主要内容包括安装Debezium、配置Kafka Connect、创建Flink任务以及启动任务的具体步骤,为构建实时数据管道提供了详细指导。
43 9
|
1月前
|
Java Shell Maven
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
105 4
|
1月前
|
SQL 大数据 API
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
46 0
|
1月前
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
134 0
|
1月前
|
SQL BI 网络安全
SQL Server2014的安装与配置
SQL Server2014的安装与配置
154 0
|
2月前
|
运维 数据处理 数据安全/隐私保护
阿里云实时计算Flink版测评报告
该测评报告详细介绍了阿里云实时计算Flink版在用户行为分析与标签画像中的应用实践,展示了其毫秒级的数据处理能力和高效的开发流程。报告还全面评测了该服务在稳定性、性能、开发运维及安全性方面的卓越表现,并对比自建Flink集群的优势。最后,报告评估了其成本效益,强调了其灵活扩展性和高投资回报率,适合各类实时数据处理需求。
下一篇
无影云桌面