自动创建分区的表, insert overwrite报分区不存在

【详述】问题详细描述
drop table if exists m_prv_vdm_stream_tenant_node_hh_1;

create table if not exists m_prv_vdm_stream_tenant_node_hh_1

(

id bigint ,

gmt_create string,

gmt_modified string,

node_id string,

tenant_id string,

project_id string,

ds date

)

partition by date_trunc(‘day’,ds)

(

)

distributed by hash(id)

properties(

“partition_live_number” = “3”

);

select * from emr_dataphin_meta.m_prv_vdm_stream_tenant_node_hh_1

insert overwrite m_prv_vdm_stream_tenant_node_hh_1 partition (p20230701)

select 1 as id,‘2023-07-01 12:00:00’ as gmt_create, ‘2023-07-01 12:00:00’ as gmt_modified, ‘n_1234554321’ as node_id, ‘300000806’ as tenant_id, ‘398720547276’ as project_id, 20230701 as ds;
报错如下:


【背景】
需要使用自动创建分区+insert overwrite功能
【业务影响】
影响产品对接StarRocks
【StarRocks版本】3.0.3
image

麻烦参考下StarRocks自动创建分区的语句:https://docs.starrocks.io/zh-cn/2.5/table_design/dynamic_partitioning#创建支持动态分区的表 建表完成后再进行inser overwrite的覆盖重写

https://docs.starrocks.io/zh-cn/latest/table_design/automatic_partitioning#功能介绍 参考的是自动创建分区,你发的那个是动态创建分区

okk 上面理解错了 ,您先INSERT INTO 试一下 看能否创建成功出对应数据的分区

insert overwrite m_prv_vdm_stream_tenant_node_hh_1 partition (ds = ‘20230701’)

select 1 as id,‘2023-07-01 12:00:00’ as gmt_create, ‘2023-07-01 12:00:00’ as gmt_modified, ‘n_1234554321’ as node_id, ‘300000806’ as tenant_id, ‘398720547276’ as project_id, 20230701 as ds; 修改为以上方式ok了, 谢谢

你好,我创建的分区日期 是 PARTITION BY date_trunc(‘day’,日期); 是 datetime 格式,我实际查询的时候用过滤条件是 日期 = ‘2024-08-07’ ,请问为什么我 insert OVERWRITE d1.t1 PARTITION (日期=‘20240807’) 可以而 insert OVERWRITE d1.t1 PARTITION (日期=‘2024-08-07’) 会报错