DM7数据库管理系统SQL语言详解

需积分: 9 1 下载量 43 浏览量 更新于2024-07-17 收藏 4.58MB PDF 举报
"DM7_SQL语言使用手册.pdf" DM7是一个关系数据库管理系统,其SQL语言设计遵循了结构化查询语言(SQL)的标准,并且进行了扩展,以提供更丰富的功能。DM_SQL结合了数据定义、查询、操纵和控制四大功能,为用户提供了全面的数据库操作能力。这种语言具有强大的功能,同时保持了易用性和用户友好性。 DM_SQL的关键特点包括: 1. **保留字与标识符**:DM_SQL有自己的保留字,这些词不能作为用户定义的对象名,而标识符则用于命名数据库对象如表、列等。 2. **数据类型**:DM_SQL支持多种数据类型,包括常规数据类型(如整数、浮点数、字符、二进制)、位串数据类型、日期时间数据类型(如日期、时间、时间戳),以及多媒体数据类型,适用于存储图像、声音等非结构化数据。 3. **表达式**:DM_SQL支持数值、字符串、时间值和时间间隔值的表达式,以及不同的运算符,包括算术运算符、比较运算符和逻辑运算符,还定义了运算符的优先级规则。 4. **数据库模式**:DM_SQL允许用户创建、修改和删除数据库模式,这些模式可以包含多个表和其他数据库对象。 手册中提供的示例说明部分,帮助用户理解如何使用DM_SQL进行实际操作,包括创建示例库、定义模式和表、插入数据等步骤。此外,手册详细介绍了数据定义语句,如: - **数据库修改语句**:涉及对数据库结构的变更。 - **用户管理**:包括创建、修改和删除用户,以及权限分配。 - **模式管理**:定义、切换和删除模式。 - **表空间管理**:表空间是存储数据的逻辑单位,手册涵盖了表空间的创建、修改、删除、失效文件检查和恢复等操作。 - **HTS表空间管理**:HTS表空间可能针对高吞吐量的事务处理进行优化。 - **表管理**:包括创建、修改、删除表和数据的处理,以及事务型HUGE表的数据重整。 - **索引管理**:索引用于加快数据检索速度,涵盖索引的定义、修改和删除。 - **位图连接索引**:一种特殊类型的索引,用于高效处理多对多关系。 - **全文索引**:支持对文本数据的快速全文搜索。 这些详细的内容使得DM7_SQL语言使用手册成为开发者和数据库管理员在实际操作DM7数据库时的重要参考工具,帮助他们高效地管理和操作数据。

set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.parallel=true; set hive.exec.parallel.thread.number=30; --drop table if exists dm_finrisk.dm_event_walletSettleSuccessEvent_di; create table if not exists dm_finrisk.dm_event_cashLoanEvent_di( event_uuid string ,event_code string ,dt string ,event_time string ,rawSnapshot string ) COMMENT 'cashLoanEvent' PARTITIONED BY ( day bigint)stored as parquet; drop table if exists tmp.tmp_dm_event_cashLoanEvent_di_01_${zdt.addDay(-1).format("yyyyMMdd")}; create table if not exists tmp.tmp_dm_event_cashLoanEvent_di_01_${zdt.addDay(-1).format("yyyyMMdd")} as select uuid as event_uuid ,event as event_code ,from_unixtime(unix_timestamp(cast(day as string),'yyyymmdd'),'yyyy-mm-dd') as dt ,from_unixtime(cast(cast(`time` AS BIGINT)/1000 AS BIGINT),'yyyy-MM-dd HH:mm:ss') as event_time ,get_json_object(data,'$.hotPublish.rawSnapshot') as rawSnapshot from dm_finrisk.ods_event_hdfs_snapshot_di where code = 'shield@cashLoanEvent' and day=${zdt.addDay(-1).format("yyyyMMdd")} drop table if exists tmp.tmp_dm_event_cashLoanEvent_di_02_${zdt.addDay(-1).format("yyyyMMdd")}; create table if not exists tmp.tmp_dm_event_cashLoanEvent_di_02_${zdt.addDay(-1).format("yyyyMMdd")} as select event_uuid ,event_code ,dt ,event_time ,rawSnapshot from tmp.tmp_dm_event_cashLoanEvent_di_01_${zdt.addDay(-1).format("yyyyMMdd")}; alter table dm_finrisk.dm_event_cashLoanEvent_di drop if exists partition (day = ${zdt.addDay(-1).format("yyyyMMdd")}); insert overwrite table dm_finrisk.dm_event_cashLoanEvent_di partition (day = ${zdt.addDay(-1).format("yyyyMMdd")}) select event_uuid ,event_code ,dt ,event_time ,rawSnapshot from tmp.tmp_dm_event_cashLoanEvent_di_02_${zdt.addDay(-1).format("yyyyMMdd")}分析下上面代码

2023-06-08 上传