帮我写一个hive count脚本 ,批量统计库名为fdp库下表名模糊匹配db_的表数据量
时间: 2024-03-11 22:48:44 浏览: 85
创建DB 分库分表脚本
好的,以下是 Hive 脚本,可以实现统计 fdp 库下表名模糊匹配 db_ 的表数据量:
```
SET hive.exec.dynamic.partition.mode=nonstrict;
DROP TABLE IF EXISTS tmp_db_tables;
CREATE TABLE tmp_db_tables(db_name STRING, table_name STRING);
INSERT INTO TABLE tmp_db_tables
SELECT TABLE_SCHEMA, TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'fdp'
AND TABLE_NAME LIKE 'db_%';
SET mapred.reduce.tasks=1;
INSERT OVERWRITE DIRECTORY '/tmp/fdp_db_count'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
SELECT db_name, table_name, COUNT(*)
FROM tmp_db_tables
LATERAL VIEW explode(split(db_name, ',')) db_names AS db_name
LATERAL VIEW explode(split(table_name, ',')) table_names AS table_name
JOIN fdp.`${db_name}.${table_name}` t
ON 1=1
GROUP BY db_name, table_name;
```
执行以上脚本后,会在 /tmp/fdp_db_count 目录下生成一个以逗号分隔的 CSV 文件,其中包含了每个表的数据量信息。
阅读全文