ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

探索Holo_java操作日期

2021-04-08 17:00:30  阅读:239  来源: 互联网

标签:terminal java dim level id Holo mt 日期 public


1、探索Holo

BEGIN; --事务开始
create table public.dim_terminal_mt (
	"statdate" text NOT NULL,
	"terminal" text NOT NULL,
	"operation_bd_user_id" int4,
	"operation_bd_user_name" text,
	"operation_bd_user_mobile" text,
	"org_level_1_id" int4,
	"org_level_2_id" int4,
	"org_level_1_name" text,
	"org_level_2_name" text,
PRIMARY KEY (statdate,terminal)
)
PARTITION BY LIST (statdate);
--存储类型设置
CALL SET_TABLE_PROPERTY('public.dim_terminal_mt', 'orientation', 'column');
--聚簇索引 Clustering key,建立聚簇索引能够加速用户在索引列上的range和filter查询
--CALL SET_TABLE_PROPERTY('public.dim_terminal_mt', 'clustering_key', 'operation_bd_user_id:asc,org_level_1_id:asc,org_level_2_id:asc');
--报错 :commit ddl phase1 failed: the index key "operation_bd_user_id" should not be nullable 解决方法:删除聚簇索引
--比特编码列bitmap columns
CALL SET_TABLE_PROPERTY('public.dim_terminal_mt', 'bitmap_columns', 'statdate,terminal,operation_bd_user_name,operation_bd_user_mobile,org_level_1_name,org_level_2_name');
--字典编码列设置
--目前Hologres会默认所有text列都会被隐藏式地设置到bitmap_columns中

--分部键distribution key
--对于有pk的表,其分布键默认就是pk

--数据生命周期管理time_to_live_in_seconds

comment on table public.dim_terminal_mt is 'xxx';
comment on column public.dim_terminal_mt.statdate is '统计日期(yyyyMMddHHmm)';
comment on column public.dim_terminal_mt.terminal is '设备号';
comment on column public.dim_terminal_mt.operation_bd_user_id is '设备归属人ID';
comment on column public.dim_terminal_mt.operation_bd_user_name is '设备归属人姓名';
comment on column public.dim_terminal_mt.operation_bd_user_mobile is '设备归属人电话';
comment on column public.dim_terminal_mt.org_level_1_id is '设备归属人一级组织id';
comment on column public.dim_terminal_mt.org_level_2_id is '设备归属人二级组织id';
comment on column public.dim_terminal_mt.org_level_1_name is '设备归属人一级组织名称';
comment on column public.dim_terminal_mt.org_level_2_name is '设备归属人二级组织名称';
COMMIT; --事务结束

在Hologres中表默认为列存(column store)形式。列存对于OLAP场景较为友好,适合各种复杂查询,行存对于kv场景比较友好,适合基于primary key的点查和扫描scan。这里的场景是维表应该改为行存。

1.1、CREATE TABLE LIKE语句用于创建一个同Select Query结果相同的表

CALL hg_create_table_like('public.dim_terminal_mt_202104081100', 'select * from public.dim_terminal_mt_202104081030');

public.dim_terminal_mt 是分区表,而这种创建方式,不会识别dim_terminal_mt_202104081100是 dim_terminal_mt下的分区表。

1.2、Holo 没有 create table as select 语法

create table public.dim_terminal_mt_202104081100 partition of public.dim_terminal_mt for values in('202104081100') as 
select * from public.dim_terminal_mt_202104081030;

有insert into select 语法,注意dim_terminal_mt_202104081100的分区字段必须是“202104081100”,因为前面创建表已说明分区是“202104081100”,所以不能是其它值,不然会报 执行失败,失败原因:ERROR: internal error: The input violates constraint "Table partition check". Table partition key (statdate)=(202104081030). Where: [query_id:10221254267657614][query_id:10221254267657614]

insert into public.dim_terminal_mt_202104081100 
--select '202104081100',2,2,2,2,2,2,2,2,2,2,2,2,2,2;
select '202104081100',terminal,operation_bd_user_id,operation_bd_user_name,operation_bd_user_mobile
                    ,org_level_1_id,org_level_2_id,org_level_1_name
                    ,org_level_2_name
from public.dim_terminal_mt where statdate='202104081030' limit 10;

2、java操作日期

//1
        //构造特定格式
        SimpleDateFormat from_simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");

        //字符串转换为时间
        Date parse = from_simpleDateFormat.parse("2021-04-08 15:43");

        Calendar c1 = Calendar.getInstance();
        c1.setTime(parse);
        //时间操作
        c1.add(Calendar.MINUTE,30);
        Date time = c1.getTime();
        System.out.println(from_simpleDateFormat.format(time));
//2
        //构造特定格式
        SimpleDateFormat to_simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmm");
        //字符串转换为时间
        Date parse1 = to_simpleDateFormat.parse("202104081530");
        c1.setTime(parse1);
        //时间操作
        c1.add(Calendar.MINUTE,30);
        time = c1.getTime();
        System.out.println(to_simpleDateFormat.format(time));

结果:

2021-04-08 16:13
202104081600

标签:terminal,java,dim,level,id,Holo,mt,日期,public
来源: https://blog.csdn.net/AnlaGodness/article/details/115520259

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有