IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Flink1.13.5 SQL与Hive集成开发 -> 正文阅读

[大数据]Flink1.13.5 SQL与Hive集成开发

1 添加依赖包

Flink SQL与Hive集成需要添加相关依赖包如下所示:

#Flink与hadoop兼容包

flink-shaded-hadoop-2-uber-2.8.3-10.0.jar

#Flink与hive集成包

flink-sql-connector-hive-2.3.6_2.11-1.13.6.jar

#其他依赖包(在hadoop安装目录的shere/hadoop/common目录下)

commons-configuration-1.6.jar

commons-logging-1.1.3.jar

hadoop-auth-2.9.2.jar

hadoop-common-2.9.2.jar

hadoop-mapreduce-client-common-2.9.2.jar

hadoop-mapreduce-client-core-2.9.2.jar

hadoop-mapreduce-client-hs-2.9.2.jar

hadoop-mapreduce-client-jobclient-2.9.2.jar

htrace-core4-4.1.0-incubating.jar

javax.servlet-api-3.1.0.jar

woodstox-core-5.0.3.jar

stax2-api-3.1.4.jar

commons-codec-1.4.jar

2 修改flink配置文件

在Flink安装目录的conf目录下,修改flink-conf.yaml配置文件,添加如下内容:

classloader.check-leaked-classloader: false

3 准备SQL Client初始化脚本

准备初始化脚本init.sql,并将init.sql文件放入Flink的conf目录下。

CREATE CATALOG MyCatalog

? WITH (

? ? 'type' = 'hive',

? ? 'default-database'='default',

? ? 'hive-conf-dir'='/home/hadoop/app/hive/conf',

? ? 'hive-version'='2.3.6'

? );

USE CATALOG MyCatalog;

SET 'execution.runtime-mode' = 'batch';

SET 'sql-client.execution.result-mode' = 'table';

SET 'table.sql-dialect'='hive';

初始化脚本中我们创建了hive catalog,相关配置项如下:

4 启动metastore服务

由于Flink SQL是通过metastore服务来访问Hive的MySQL数据库管理元数据,所以首先需要启动Hive的metastore服务:

bin/hive --service metastore

5 启动Flink集群服务

通过一键启动脚本启动Flink集群服务:

bin/start-cluster.sh

6 启动Flink SQL Cli

启动SQL Client时通过-i选项指定初始化脚本即可:

bin/sql-client.sh -i conf/sql-init.sql

注意:Flink1.13开始移除了sql-client-defaults.yml配置?件,所以在该配置?件配置catalog的?法就不存在了,目前相关配置添加到sql-init.sql文件即可。

7 Flink SQL与Hive集成操作

7.1 catalog操作

#查看catalog

Flink SQL>show catalogs;

#使用catalog

Flink SQL>use catalog MyCatalog;

7.2 database操作

#查看database

Flink SQL>show databases;

#使用database

Flink SQL>use test;

7.3 table操作

#查看table

Flink SQL>show tables;

#查询table

Flink SQL>select * from MyCatalog.test.stu;

备注:MyCatalog为catalog,test为Hive中的数据库,stu为test中的表。

7.4 案例

1.创建hive dialect方言的表

Flink目前支持两种SQL方言(SQL dialects),分别为:default和hive。默认的SQL方言是default,如果要使用Hive的语法,需要将SQL方言切换到hive。

Flink SQL>set table.sql-dialect=hive;

Flink SQL>CREATE TABLE hive_dialect_clicklog(`user` STRING,`url` STRING,`cTime` STRING);

2.插入测试数据

Flink SQL>insert into hive_dialect_clicklog select 'Mary','./prod?id=7','2022-02-02 12:01:45';

3.查询表数据

在Hive客户端可以查询Flink SQL中创建的表及插入的数据。

#进入test数据库

hive>use test;

hive>select * from hive_dialect_clicklog;

备注:hive_dialect_clicklog为Flink SQL创建的表,该表的元数据信息存储在MySQL数据库,所以即使Flink SQL重启后,一样可以在Hive中查询hive_dialect_clicklog表中的数据。?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:30:44  更:2022-05-11 16:30:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:36:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码