DM7 SQL语言详尽教程:从入门到高级操作

需积分: 10 1 下载量 49 浏览量 更新于2024-07-17 收藏 4.37MB PDF 举报
《DM7 SQL语言使用手册》是一份详尽的指南,专注于介绍结构化查询语言(SQL)在DM7环境下的应用。该手册共分为多个章节,深入讲解了DM_SQL语言的核心特性、语法结构以及实际操作中的各种功能。 在第1章中,作者首先介绍了DM_SQL语言的基础概念,包括其特点,如高效性、灵活性和易用性。接着,章节详细讨论了保留字与标识符的使用规则,确保程序员能够正确编写和理解SQL语句。这部分涵盖了DM_SQL支持的数据类型,包括常规数据类型(如整数、浮点数)、位串数据类型、日期时间数据类型以及多媒体数据类型,这些都是数据库设计和查询的基础。 在表达式部分,手册依次探讨了数值表达式、字符串表达式、时间值表达式、时间间隔值表达式以及各类运算符的优先级,这对于编写精确的查询至关重要。此外,手册还阐述了DM_SQL语言支持的数据库模式,包括模式的定义、切换和管理。 第二章通过示例库和参考脚本,为读者展示了如何在实践中操作DM_SQL,例如创建示例库、模式和表,以及数据的插入操作。这些例子有助于理解和掌握语言的实际运用。 第三章是数据定义的核心内容,包括数据库的修改、用户管理、模式和表空间的定义与操作。从数据库修改语句到用户权限管理,再到具体到表空间的定义、修改、删除,以及表空间失效文件的检查和恢复,这部分内容覆盖了数据库的结构建立和维护。 对于表和索引的管理,手册分别讲解了基表的定义、修改和删除,以及不同类型的索引——如索引定义、修改和删除,还包括位图连接索引和全文索引的创建与管理。空间索引和数组索引的管理也有所涉及,体现了DM7 SQL语言对复杂数据结构的支持。 《DM7 SQL语言使用手册》是一份全面而实用的教程,无论你是DM7平台的新手还是经验丰富的开发者,都能从中找到所需的SQL语言知识和操作技巧。通过深入学习和实践,用户可以有效地利用DM7的SQL功能来管理和操作数据,提升工作效率。

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 上传