概述

本文是对[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形式)相关推荐

  1. flink sql client读取hive时卡住

    问题复现如下: 查看$FLINK_HOME/log/flink-appleyuchi-sql-client-Desktop.log 2020-12-23 11:48:56,811 INFO  org. ...

  2. 【阿里云EMR实战篇】以EMR测试集群版本为例,详解 Flink SQL Client 集成 Hive 使用步骤

    简介: 以测试集群版本为例(EMR-4.4.1)-- Flink SQL Client 集成 Hive 使用文档 作者:林志成,阿里云EMR产品团队技术支持,拥有多年开源大数据经验 1.以测试集群版本 ...

  3. Flink SQL Client注册SCALA UDF完整流程

    UDF的完整maven工程與SQL https://github.com/appleyuchi/Flink_SQL_Client_UDF 完整操作步骤 ①mvn scala:compile packa ...

  4. Flink SQL Client注册JAVA UDF完整流程

    概述 听大佬说[1]里面有flink sql client注册udf的方法 去看了一眼,全是文字,闹心,索性琢磨了一下,记录下来. UDF的完整maven工程 https://github.com/a ...

  5. Flink SQL Client读Kafka+流计算(DDL方式+代碼嵌入DDL/SQL方式)

    #################################################################################################### ...

  6. Flink SQL Client实现CDC实验

    概述 本文主要是對[7]中內容的復現 环境 组件 版本 Flink(HA) 1.12 Zookeeper 3.6.0 flink-sql-connector-mysql-cdc 1.1.1 Mysql ...

  7. Flink SQL Client进行Kafka事实表与Hbase维度表Join(纯DDL/SQL方式)

    概述: 對參考鏈接[1]進行DDL上的復現. 一些基本的業務常识   來源載體 數據特點 維表 Mysql/Csv/Hbase 很少變化 事實表 Kafka 不停變化 开发环境与准备工作 组件 版本 ...

  8. flink sql client讀取kafka數據的timestamp(DDL方式)

    实验目的 Kafka的数据能让Flink SQL Client读取到 本文是对[1]的详细记载 具体操作步骤 ①啓動hadoop集羣,離開安全模式 ②各个节点都关闭防火墙: service firew ...

  9. Flink SQL Client讀取csv中的數據(轉載+總結)

    根據官方文檔[2] Flink SQL啓動方式 啓動命令 (1)starting an embedded standalone process $FLINK_HOME/bin/sql-client.s ...

最新文章

  1. Oracle使用手册(三)---存储过程与触发器
  2. 用数据告诉你王思聪到底有多少钱?
  3. ios无痕埋点_iOS可视化埋点方案
  4. 【Fiddler 实战操作】如何使用 Fiddler 对苹果手机进行抓包
  5. R语言-merge和rbind
  6. MDP动态规划解法(三)
  7. oracle rollup 排序,Oracle教程之rollup用法
  8. OceanBase架构介绍
  9. CTF中一点进制转换脚本记录
  10. centos php solr 安装,centos下安装配置solr全纪录
  11. eoLinker-API_Shop_知识类API调用的代码示例合集:驾考题库、ISBN书号查询、万年历查询等...
  12. arcgis怎么压缩tif文件_PDF文件怎么压缩?这个方法千万别错过了!
  13. C++基础之detele和detele[]
  14. win 10 桌面路径还原到C盘拒绝访问
  15. python并发与网络编程
  16. Ubuntu快捷键——终端
  17. linux ftp服务器防火墙设置,【许望】linux(RHEL) 下 FTP(vsftpd) 服务器的防火墙配置...
  18. 让log中的关键词过滤的酷炫
  19. Linux 基本命令 第二天
  20. springBoot项目实现支付宝扫码支付(完整篇)

热门文章

  1. 【转】蓝牙物理链路类型:SCO和ACL链路
  2. 第五十四天 how can I 坚持
  3. HDU1054+最小顶点覆盖
  4. Silverlight初级教程系列
  5. 微信小程序canvas动态时钟
  6. JavaScript第一天学习
  7. Ajax请求Session超时解决
  8. 对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用
  9. 安卓桌布显示的dip和px
  10. 通过 Ruby 买卖Bitcoin:使用开放交易所OceanOne