HiveQL 是Apache Hive 的查询语言,它是一种类似SQL的语言(有一点细微的区别)
# 随便选择5条数据(使用LIMIT限制输出数量) SELECT * FROM ad_shop_master_latest LIMIT 5; # 使用分区查询 -- 单分区 SELECT * FROM db.t WHERE dt = '2025-09-15'; -- 多级分区 SELECT * FROM db.t WHERE dt = '2025-09-15' AND country = 'JP'; -- 多个取值 SELECT * FROM db.t WHERE dt IN ('2025-09-14','2025-09-15'); -- 范围(字符串日期要写成可比较的格式:YYYY-MM-DD) SELECT * FROM db.t WHERE dt BETWEEN '2025-09-01' AND '2025-09-15'; # 转移数据 INSERT INTO TABLE tgt SELECT * FROM src; INSERT OVERWRITE TABLE tgt SELECT * FROM src; # 从旧表查询数据,插入新表 INSERT INTO TABLE ad_mkt_test.ad_shop_master_latest (id, shop_url) SELECT id, shop_url FROM adimuser_ad_item.ad_shop_master_latest LIMIT 10; # 清空表(清空数据,表结构不变) TRUNCATE TABLE adimuser_ad_item.ad_shop_master_latest; # 复制表结构 # 仅复制表结构与分区列定义,不含数据 CREATE TABLE tgt LIKE src; # 查看信息 -- 1) 看列结构(列名、类型、注释) DESCRIBE db_name.table_name; -- 2) 看完整元数据(位置、格式、是否外部表、分区、桶、属性等) DESCRIBE FORMATTED db_name.table_name; -- 3) 查看建表语句(DDL) SHOW CREATE TABLE db_name.table_name; -- 4) 列出所有分区(分区表) SHOW PARTITIONS db_name.table_name; # 查询记录数量 # 精确条数(会扫全表) SELECT COUNT(*) AS cnt FROM db_name.table_name;
查询时用 WHERE 过滤分区列