flink-hive方言配置(Hive Dialect)

浩客4个月前技术文章202

简介

       在使用 Hive 方言时,Flink 允许用户用 Hive 语法来编写 SQL 语句。 通过提供与 Hive 语法的兼容性,我们旨在改善与 Hive 的互操作性,并减少用户需要在 Flink 和 Hive 之间切换来执行不同语句的情况。

配置

Flink 目前支持两种 SQL 方言: default 和 hive。你需要先切换到 Hive 方言,然后才能使用 Hive 语法编写。

1、SQL Client 

SQL 方言可以通过 table.sql-dialect 属性指定。你可以在 SQL 客户端启动后设置方言。

Flink SQL> SET table.sql-dialect = hive; -- 使用 Hive 方言 
[INFO] Session property has been set.  

Flink SQL> SET table.sql-dialect = default; -- 使用 Flink 默认 方言 
[INFO] Session property has been set.
2、SQL Gateway Configured With HiveServer2 Endpoint #

在启动了 HiveServer2 endpoint 的 SQL Gateway中,会默认使用 Hive 方言,所以如果你想使用 Hive 方言的话,你不需要手动切换至 Hive 方言,直接就能使用。但是如果你想使用 Flink 的默认方言,你也手动进行切换。

# 假设已经通过 beeline 连接上了 SQL Gateway
jdbc:hive2> SET table.sql-dialect = default; -- 使用 Flink 默认 方言

jdbc:hive2> SET table.sql-dialect = hive; -- 使用 Hive 方言

示例:

-- hive方言
set table.sql-dialect=hive;
-- 默认的 
set table.sql-dialect=default;

-- 设置之后再flink中就可以直接使用hive的语法了
-- 使用hive的语法只能做离线处理
create table student1
(
id  string,
name string,
age int,
gender string,
clazz string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS textfile
location '/tmp/student/';

相关文章

域名购买及备案

域名购买及备案

购买域名域名控制台 -- 域名列表 -- 注册域名注意域名购买时候域名系统中填写的持有者单位名称需与提交审核证件中的单位名称严格完全一致的模板认证中企业/组织相关材料及填写要求可参考此文档https:...

oracle adg容灾切换需要注意的参数

1.DG角色在线转换1.1 角色(主备)和DG有关的角色:primary database 主库,在线服务应用physical standby database 备库,物理备库,在线备份主库数据与主库...

MySQL 8.0 新特性:Descending Indexes

MySQL 8.0 新特性:Descending Indexes

一、前言MySQL 8.0 之前的索引排序规则之前只允许 ASC 存储,创建时指定 DESC 也会被忽略,8.0 版本为我们带来了 Descending Indexes 降序索引 👏👏👏只能使用 AS...

bind服务-2

bind服务-2

五、部署一个正向解析5.1)教学案例对zutuanxue.com域名做解析,解析要求如下:www 解析为A记录 IP地址为 192.168.11.88news 做别名解析CNAME 解析为 www1)...

使用helm在k8s集群部署rancher

使用helm在k8s集群部署rancher由于我们的k8s版本是1.22,所以我们直接安装latest版本的rancher。不同版本的rancher helm仓库可以看下面链接https://docs...

Trino资源组配置

Trino资源组配置

1 概述Presto作为一个大数据场景下的交互式查询引擎,当使用达到一定规模,就会更多考虑资源分配问题,即保障重要任务优先获取资源。Presto资源组: Presto的资源组机制,是从资源分配的角度...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。