建视图sql:
CREATE VIEW IF NOT EXISTS test_dm.dxtest_view
(
order_id COMMENT '注释'
, data_source COMMENT '注释'
, dt COMMENT '注释'
, group_id COMMENT '注释'
) COMMENT '测试视图'
PARTITIONED ON (dt, group_id)
/--------------------------建表语句块-----------------------/
AS
/--------------------------ETL语句块-----------------------/
SELECT CAST(order_id AS STRING) AS order_id
, 1 AS data_source
, dt AS dt
, group_id AS group_id
FROM dwd_dm.dwd_table1
UNION ALL
SELECT CAST(order_id AS STRING) AS order_id
, 2 AS data_source
, dt AS dt
, group_id AS group_id
FROM dwd_dm.dwd_table2
使用SQLUtils.parseStatements解析会报错
2条答案
按热度按时间icnyk63a1#
请问你解决了么, 我也遇到了同样的问题.
使用方法:
SQLParserUtils.createSQLStatementParser(sql, DbType.hive).parseStatement();
gstyhher2#
这块我已经解决了, druid 对于 hive createView 的解析沿用了 mysql 的词法, 导致 hive 有 PARTITIONED ON 关键字的时候报错了, 这块要特殊处理下