如何解决在PARTITIONED BY中使用语句
我正在将Flink SQL流作业写入磁盘,并希望按年,月和日对数据进行分区。
给出以下表格定义:
CREATE TABLE `MyTable` (
`timestamp` TIMESTAMP(3),`MachineID` STRING,`data` STRING
)
是否可以使用以下PARTITIONED BY
语句,特别是以这种(或类似方式)使用EXTRACT:
PARTITIONED BY (EXTRACT(YEAR FROM `timestamp`),EXTRACT(MONTH FROM `timestamp`),EXTRACT(DAY FROM `timestamp`))
WITH (
'connector' = 'filesystem','path' = '/path/to/datadir/','format' = 'parquet'
)
这样做会遇到
Caused by: org.apache.flink.sql.parser.impl.ParseException: Encountered "EXTRACT" at line 25,column 17.
Was expecting one of:
<BRACKET_QUOTED_IDENTIFIER> ...
<QUOTED_IDENTIFIER> ...
<BACK_QUOTED_IDENTIFIER> ...
<IDENTIFIER> ...
<UNICODE_QUOTED_IDENTIFIER> ...
我已经设法通过预先创建年,月和日的列并将其添加到表定义中来完成这项工作,但这似乎有点冗长,因为我只需要它们用于分区。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。