Maxcompute查询SELECT * FROM meta.m_table WHERE is_partitioned ='TABLE'
时间: 2024-04-10 12:35:14 浏览: 159
在MaxCompute中,要查询表的元数据信息,可以通过访问 `meta` 库中的 `m_table` 表来实现。这个表存储了MaxCompute中所有表的元数据信息,包括表名、所属项目、拥有者、创建时间、列信息、分区信息等。
以下是一个查询语句的示例,用于获取所有分区表的元数据信息:
```sql
SELECT * FROM meta.m_table WHERE is_partitioned = 'TABLE';
```
执行此查询语句后,将返回所有具有分区的表的元数据信息。可以通过添加其他条件或使用更具体的过滤器来进一步筛选结果。
请注意,您需要具备相应的权限才能访问 `meta` 库中的元数据信息。
希望对您有所帮助!如果您还有其他问题,请随时提问。
相关问题
CREATE TABLE IF NOT EXISTS `default`.`aaa_001` ( `sjrq` STRING COMMENT '数据日期', `s_id` STRING COMMENT 'null', `shengao` STRING COMMENT '身高', `shengao_tag_desc_` STRING COMMENT '身高中文描述') COMMENT 'student_class宽表' PARTITIONED BY (dt STRING COMMENT '分区字段')STORED AS ORC; alter table default.aaa_001 add if not exists partition (dt = '2023-07-14'); insert overwrite table default.aaa_001 partition (dt = '2023-07-14') select '2023-07-14' as sjrq, a1.s_id as s_id, a2.a1_bqnr shengao, a2.a1_bqnrmc shengao_tag_desc_ from ( select a1.s_id as s_id from biaoqian.student_class a1 ) a1 left join (select t.zj, s1.bqnr as a1_bqnr, s1.bqnrmc as a1_bqnrmc from (select t.zj from( select zj from default.lab_t10_df where yjfq = '2023-07-14' and ejfq = '1010' and sjfq = '10101007') t GROUP BY t.zj) t left join (select sjrq,cjsj,zj,bqbs,bqbslx,bqnr,bqnrmc,ylzd1,ylzd2 from default.lab_t10_df where yjfq = '2023-07-14' and ejfq = '1010' and sjfq = '10101007') s1 on t.zj= s1.zj distribute by t.zj) a2 on a1.s_id= a2.zj where 1=1是什么中文意思
该 SQL 查询语句的中文意思是:创建一个名为 `default.aaa_001` 的表,如果该表不存在的话。表中包含了 `sjrq`(数据日期)、`s_id`、`shengao`(身高)和 `shengao_tag_desc_`(身高中文描述)四个列。表使用 `dt` 字段进行分区,并以 ORC 格式存储。
接下来,对 `default.aaa_001` 表进行了一系列操作。首先使用 `alter table` 添加了一个名为 `dt` 值为 '2023-07-14' 的分区。然后使用 `insert overwrite table` 将数据插入到 `default.aaa_001` 表的分区 `dt = '2023-07-14'` 中。
数据来源是一个复杂的查询操作,涉及到了多个子查询和表连接。最后通过条件 `where 1=1` 进行过滤,这里是一个无意义的条件,不会影响查询结果。
请注意,我只是一个 AI 模型,无法直接执行该查询操作。您需要使用相应的数据库管理工具或编程语言来执行该查询。
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")}分析下上面代码
上面的代码主要是一个HiveQL脚本,用于从`dm_finrisk.ods_event_hdfs_snapshot_di`表中提取`code`为`shield@cashLoanEvent`且`day`为昨天日期的数据,并将其存储到`dm_finrisk.dm_event_cashLoanEvent_di`表中的对应分区中。
具体来说,该脚本的执行步骤如下:
1. 第1行:设置Hive执行参数,包括动态分区模式、并行执行和并行执行线程数等。
2. 第3-8行:创建`dm_finrisk.dm_event_cashLoanEvent_di`表,该表包含5个列,分别为`event_uuid`、`event_code`、`dt`、`event_time`和`rawSnapshot`,其中`dt`为分区列。
3. 第10-15行:创建临时表`tmp.tmp_dm_event_cashLoanEvent_di_01_${zdt.addDay(-1).format("yyyyMMdd")}`,该表从`dm_finrisk.ods_event_hdfs_snapshot_di`表中选择`code`为`shield@cashLoanEvent`且`day`为昨天日期的记录,并将其中的`uuid`、`event`、`day`、`time`和`data`字段分别映射到`event_uuid`、`event_code`、`dt`、`event_time`和`rawSnapshot`列中。
4. 第17-22行:创建临时表`tmp.tmp_dm_event_cashLoanEvent_di_02_${zdt.addDay(-1).format("yyyyMMdd")}`,该表从临时表`tmp.tmp_dm_event_cashLoanEvent_di_01_${zdt.addDay(-1).format("yyyyMMdd")}`中选择所有列,用于后续的数据处理。
5. 第24行:如果`dm_finrisk.dm_event_cashLoanEvent_di`表中昨天的分区已经存在,则删除该分区。
6. 第26-27行:将临时表`tmp.tmp_dm_event_cashLoanEvent_di_02_${zdt.addDay(-1).format("yyyyMMdd")}`中的数据插入到`dm_finrisk.dm_event_cashLoanEvent_di`表的昨天分区中。
整个脚本的作用是将来自`dm_finrisk.ods_event_hdfs_snapshot_di`表的特定数据提取出来,并存储到`dm_finrisk.dm_event_cashLoanEvent_di`表的对应分区中,以便后续的分析和查询。