Flink SQL Client方言切换与datagen->Hive(DDL形式+streaming形式)
概述
本文是对[1]的完整复现,补充了[1]中缺失的大量细节.
切换方言
切换目标 | Flink SQL Client命令 |
切换为hive | SET table.sql-dialect=hive; |
切换为flink | SET table.sql-dialect=default; |
Flink SQL Client中方言切换为hive的时候,指的是对hive进行实际操作,此时不再单纯建立sink而已.
整个实验流程
数据类型:
streaming
環境与准备工作
組件 | 版本 |
Hadoop | 3.1.2 |
Zookeeper | 3.6.0 |
Flink | 1.12 |
Hive | 2.3.6 |
flink-sql-connector-hive | 2.3.6 |
flink-sql-connector-hive最高版本是2.3.6,所以尽量还是不要弄个2.3.7的hive版本了
严格检查版本能省去有一大堆网上找都找不到的运维问题(详见附录)
本实验需要yaml文件配合
https://gitee.com/appleyuchi/Flink_Code/blob/master/FLINK读写各种数据源/flink-hive-streaming.yaml
把上面的配置文件放到$FLINK_HOME/conf下面
需要启动hadoop,zookeeper,flink四种集群
需要启动hive 的元服务.
hive的客户端beeline需要启动hiveserver2才能正常使用
版本检查
检查下面5个地方
$FLINK_HOME/conf/*.yaml(至少两处:version以及 conf的路径)
$HIVE_HOME(检查hive版本)
$FLINK_HOME/lib下面的flink-sql-connector-hive-2.3.6_2.12-1.12.0.jar(注意这个jar里面的版本号)
Flink版本尽量1.11以上,因为最近变动有点大.
$FLINK_HOME/lib下面的hive-common-2.3.6.jar/hive-exec-2.3.6.jar版本尽量要与使用的hive版本一致
完整实验步骤
步骤 | 效果 |
启动(具体见下方sql文件) | - |
加载catalog(具体见下方sql文件) | - |
建立source(具体见下方sql文件) | - |
切换方言为hive 建立sink(具体见下方sql文件) |
- |
通过insert语句提交任务 | |
在hive中查看Flink SQL写入的流数据 |
完整SQL操作如下:
https://gitee.com/appleyuchi/Flink_Code/blob/master/FLINK读写各种数据源/flink-hive-streaming.sql
注意事项:
如果忘记使用use catalog myhive;
最后会导致虽然成功建立了一个hive的sink table,但是会报错[5]
所以千万不要忘记.
附录
我碰到一些运维的问题[4][5][6][7]
关于flink读取hive卡住的问题[8]
以及hive正常操作时卡住的问题参考[9]
Reference:
[1]Flink Sql on Zeppelin(6)——Hive Streaming
[2]Flink集成Hive之快速入门--以Flink1.12为例
[3]Hive Read & Write
[4]Querying an unbounded table ‘myhive.db1.datagen‘ in batch mode is not allowed
[5]Table options do not contain an option key ‘connector‘ for discovering a connector
[6]org.apache.flink.table.catalog.exceptions.CatalogException: Failed to create Hive Metastore client
[7]org.apache.hadoop.hive.metastore.api.SerDeInfo; local class incompatible
[8]flink sql client读取hive时卡住
[9]Hive drop table时候卡死-各种情况的解决方案(持续更新中)
Flink SQL Client方言切换与datagen->Hive(DDL形式+streaming形式)相关推荐
- flink sql client读取hive时卡住
问题复现如下: 查看$FLINK_HOME/log/flink-appleyuchi-sql-client-Desktop.log 2020-12-23 11:48:56,811 INFO org. ...
- 【阿里云EMR实战篇】以EMR测试集群版本为例,详解 Flink SQL Client 集成 Hive 使用步骤
简介: 以测试集群版本为例(EMR-4.4.1)-- Flink SQL Client 集成 Hive 使用文档 作者:林志成,阿里云EMR产品团队技术支持,拥有多年开源大数据经验 1.以测试集群版本 ...
- Flink SQL Client注册SCALA UDF完整流程
UDF的完整maven工程與SQL https://github.com/appleyuchi/Flink_SQL_Client_UDF 完整操作步骤 ①mvn scala:compile packa ...
- Flink SQL Client注册JAVA UDF完整流程
概述 听大佬说[1]里面有flink sql client注册udf的方法 去看了一眼,全是文字,闹心,索性琢磨了一下,记录下来. UDF的完整maven工程 https://github.com/a ...
- Flink SQL Client读Kafka+流计算(DDL方式+代碼嵌入DDL/SQL方式)
#################################################################################################### ...
- Flink SQL Client实现CDC实验
概述 本文主要是對[7]中內容的復現 环境 组件 版本 Flink(HA) 1.12 Zookeeper 3.6.0 flink-sql-connector-mysql-cdc 1.1.1 Mysql ...
- Flink SQL Client进行Kafka事实表与Hbase维度表Join(纯DDL/SQL方式)
概述: 對參考鏈接[1]進行DDL上的復現. 一些基本的業務常识 來源載體 數據特點 維表 Mysql/Csv/Hbase 很少變化 事實表 Kafka 不停變化 开发环境与准备工作 组件 版本 ...
- flink sql client讀取kafka數據的timestamp(DDL方式)
实验目的 Kafka的数据能让Flink SQL Client读取到 本文是对[1]的详细记载 具体操作步骤 ①啓動hadoop集羣,離開安全模式 ②各个节点都关闭防火墙: service firew ...
- Flink SQL Client讀取csv中的數據(轉載+總結)
根據官方文檔[2] Flink SQL啓動方式 啓動命令 (1)starting an embedded standalone process $FLINK_HOME/bin/sql-client.s ...
最新文章
- Oracle使用手册(三)---存储过程与触发器
- 用数据告诉你王思聪到底有多少钱?
- ios无痕埋点_iOS可视化埋点方案
- 【Fiddler 实战操作】如何使用 Fiddler 对苹果手机进行抓包
- R语言-merge和rbind
- MDP动态规划解法(三)
- oracle rollup 排序,Oracle教程之rollup用法
- OceanBase架构介绍
- CTF中一点进制转换脚本记录
- centos php solr 安装,centos下安装配置solr全纪录
- eoLinker-API_Shop_知识类API调用的代码示例合集:驾考题库、ISBN书号查询、万年历查询等...
- arcgis怎么压缩tif文件_PDF文件怎么压缩?这个方法千万别错过了!
- C++基础之detele和detele[]
- win 10 桌面路径还原到C盘拒绝访问
- python并发与网络编程
- Ubuntu快捷键——终端
- linux ftp服务器防火墙设置,【许望】linux(RHEL) 下 FTP(vsftpd) 服务器的防火墙配置...
- 让log中的关键词过滤的酷炫
- Linux 基本命令 第二天
- springBoot项目实现支付宝扫码支付(完整篇)