使用sparl sql 统计fdp库下表名开头为db_的表数据量
时间: 2024-03-12 09:46:23 浏览: 153
您可以使用如下的 SQL 语句来统计 FDP 数据库中表名开头为 db_ 的表的数据量:
```
SELECT table_name, table_rows
FROM information_schema.tables
WHERE table_schema = 'fdp'
AND table_name LIKE 'db\_%'
```
其中,`information_schema.tables` 是 MySQL 中的一个元数据表,可以用来查询数据库中的表信息。`table_name` 和 `table_rows` 分别表示表名和表中的数据量。`table_schema` 表示数据库名,这里指定为 FDP 数据库。`table_name LIKE 'db\_%'` 表示查询表名开头为 db_ 的表,其中 `%` 表示通配符,可以匹配任意字符。
相关问题
使用sparl sql 统计hive中fdp库下表名开头为db_的表数据量
您可以使用如下的 SQL 语句来统计 Hive 中 FDP 数据库中表名开头为 db_ 的表的数据量:
```
SELECT table_name, tbl_rows
FROM (
SELECT tbl_name AS table_name,
SUM(totalRows) AS tbl_rows
FROM (
SELECT tbl_name, input_file_block_length AS totalRows
FROM hive_metastore.`TBLS` t
JOIN hive_metastore.`DBS` d ON t.`DB_ID` = d.`DB_ID`
JOIN hive_metastore.`SDS` s ON t.`SD_ID` = s.`SD_ID`
JOIN hive_metastore.`BUCKETING_COLS` b ON t.`TBL_ID` = b.`TBL_ID`
WHERE d.`NAME` = 'fdp'
AND tbl_name LIKE 'db_%'
) subq1
GROUP BY tbl_name
) subq2
```
其中,`hive_metastore` 是 Hive 中用于存储元数据的数据库,包含了 Hive 中所有的表、分区、列等信息。`TBLS` 表、`DBS` 表、`SDS` 表和 `BUCKETING_COLS` 表则分别存储了表的基本信息、数据库的基本信息、表的存储信息和表的分桶信息。通过这些表,我们可以查询到 FDP 数据库中所有表的信息。
具体地,上述 SQL 语句中,我们首先查询到 FDP 数据库中所有表名开头为 db_ 的表的文件大小(即 `input_file_block_length`),然后将它们汇总到每个表上,最后得到每个表的总数据量(即 `tbl_rows`)。
使用sparlsql 统计hive中fdp库下表名开头为db_的表数据量
您可以使用如下的 SQL 语句来统计 Hive 中 FDP 数据库中表名开头为 db_ 的表的数据量:
```
SELECT table_name, tbl_rows
FROM (
SELECT tbl_name AS table_name,
SUM(totalRows) AS tbl_rows
FROM (
SELECT tbl_name, input_file_block_length AS totalRows
FROM hive_metastore.`TBLS` t
JOIN hive_metastore.`DBS` d ON t.`DB_ID` = d.`DB_ID`
JOIN hive_metastore.`SDS` s ON t.`SD_ID` = s.`SD_ID`
JOIN hive_metastore.`BUCKETING_COLS` b ON t.`TBL_ID` = b.`TBL_ID`
WHERE d.`NAME` = 'fdp'
AND tbl_name LIKE 'db_%'
) subq1
GROUP BY tbl_name
) subq2
```
其中,`hive_metastore` 是 Hive 中用于存储元数据的数据库,包含了 Hive 中所有的表、分区、列等信息。`TBLS` 表、`DBS` 表、`SDS` 表和 `BUCKETING_COLS` 表则分别存储了表的基本信息、数据库的基本信息、表的存储信息和表的分桶信息。通过这些表,我们可以查询到 FDP 数据库中所有表的信息。
具体地,上述 SQL 语句中,我们首先查询到 FDP 数据库中所有表名开头为 db_ 的表的文件大小(即 `input_file_block_length`),然后将它们汇总到每个表上,最后得到每个表的总数据量(即 `tbl_rows`)。
阅读全文