flink-hive方言配置(Hive Dialect)

浩客1年前技术文章1350

简介

       在使用 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/';

相关文章

MySQL运维实战之ProxySQL(9.9)proxysql自身高可用

MySQL运维实战之ProxySQL(9.9)proxysql自身高可用

proxysql作为一个程序,本身也可能出现故障。部署proxysql的服务器也肯能出现故障。高可用架构的一个基本原则是消除单点。可以在多个节点上部署proxysql,在proxysql之前再加一层负...

切换不同的网络访问同一个业务报错"network error"

切换不同的网络访问同一个业务报错"network error"

问题现象:业务:xxx,使用谷歌浏览器登陆之后,访问“商品档案”模块,会提示“network error”报错内容,但是切换到其他浏览器测试是可以正常访问的,同时,在使用谷歌浏览器访问的情况下,如果切...

企业级大数据安全架构(四)

企业级大数据安全架构(四)

Ranger是支持审计功能的,安装时可以选择审计数据保存的位置,默认支持Solr和HDFS。HDFS的配置比较简单,这里就不赘述了,我们这里使用Ambari默认自带的Solr保存审计日志,下面部署So...

sqlserevr索引、自增列查询SQL

sqlserevr索引、自增列查询SQL

一、索引查询1.可视化方式查询1) 进入实例数据库内,选择想要查看的数据库及表信息。2) 展开表,即可查看其索引情况(一般情况下,PK为主键,IX为索引)。 3) 或者右击表,编辑表结构,可以查看到索...

xtrabackup报错记录

xtrabackup报错记录

报错记录报错一:报错显示需要依赖,但是当我们执行 yum install -y libstdc++ 显示已是最新版本,且通过 yum 安装 一般会将依赖包都直接安装成功。这时候可以核实一下安装包和当前...

MySQL运维实战之ProxySQL(9.4)proxysql和后端MySQL自动切换

MySQL运维实战之ProxySQL(9.4)proxysql和后端MySQL自动切换

如上图架构,当后端MySQL主库出现问题,发生主备切换后,如何自动将ProxySQL的读写切换到新的主库上?可以通过mysql_replication_hostgroups表配置实现:insert&n...

发表评论    

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