Hive sql切换Flink sql常见问题汇总

Flink SQL 与Hive SQL语法存在差异,虽然Flink SQL提供了Hive SQL的方言解析器,但是还有部分坑存在,如下是设置了Hive方言解析器时依旧存在的问题。

###开启hive方言解析器
set table.sql-dialect=true

###DDL
create table
STORED AS ORC一定要大写,否则创建的hive表依旧非orc格式。

分隔符属性要加BY,否则不生效。默认行列分隔符是\U0001 和 \n

create table test(
enname STRING COMMENT’姓名’
,surid STRING COMMENT ‘时间’
)
COMMENT ’ 某测试表’
WITH(
'FIELDS TERMINATED BY ’ = ‘>’, ##行内分割
'LINES TERMINATED BY ’ = ‘\n’, ##行分割
‘STORED AS TEXTFILE’ = 'TRUE ',
‘LOCATION’ = ‘HDFS://nase/test’,
);

partition field
flink sql的分区字段必须存在于建表语句中
CREAET TABLE mapping
(
cust_id STRING COMMENT ‘消费者编号’,
pt_type STRING COMMENT ‘类型分区’,
pt_source STRING COMMENT ‘所属源分区’
)
COMMENT ‘消费者表’
PARTITIONED BY (pt_type,pt_source)
with(

);

你可能感兴趣的:(flink,大数据,hive,sql)