Hi, 就像上面文档描述的,如果是多个字段组合成partition,可以在DDL中通过partition.time- extractor.timestamp-pattern将多个字段按照自己的partition格式需求进行组装。 CREATE TABLE fs_table ( user_id STRING, order_amount DOUBLE, dt STRING, `hour` STRING ) PARTITIONED BY (dt, `hour`) WITH ( 'connector'='filesystem', 'path'='...', 'format'='parquet', 'partition.time-extractor.timestamp-pattern'='$dt $hour:00:00' );
如果只是一个timestamp字段,想要转换成其他的时间格式,可以参考文档[1]里的例子,新建一个自己的 PartitionTimeExtractor然后通过partition.time-extractor.class指定 在flink-1.15版本及以后[2],已经支持了partition.time-extractor.timestamp-formatter,对timestamp-pattern组装的partition时间戳进行格式转换 [1] https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/filesystem/#partition-time-extractor [2] https://nightlies.apache.org/flink/flink-docs-release-1.17/zh/docs/connectors/table/filesystem/#%e5%88%86%e5%8c%ba%e6%97%b6%e9%97%b4%e6%8f%90%e5%8f%96%e5%99%a8 Best, Shammon FY On Wed, May 10, 2023 at 5:42 PM 莫失莫忘 <xiaoxiong....@qq.com.invalid> wrote: > > 我hive的分区格式是 dt='20200520',格式是 flinkSQL 实时任务写hive 只支持 'yyyy-mm-dd > hh:mm:ss' 格式,请问怎么指定 partition.time-extractor.timestamp-pattern 的格式为 'yyyymmdd > hh:mm:ss' 。flink版本是1.13 > > https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/filesystem/#partition-commit > > > > > > > ------------------------------ > > >