相关表说明

在使用代码补全功能时,一般代码中会包含表,在进行补全时,系统会获取表的字段元信息。因此,在本案例中,先对涉及到的表进行说明,表DDL如下:

customersDDL
CREATE TABLE `dim_ec`.`customers`(
  `customer_id` int COMMENT '客户ID', 
  `customer_name` string COMMENT '客户姓名', 
  `city` string COMMENT '城市')
COMMENT '客户信息表'
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
ordersDDL
CREATE TABLE `dim_ec`.`orders`(
  `order_id` int COMMENT '订单ID', 
  `customer_id` int COMMENT '客户ID', 
  `product_id` int COMMENT '产品ID', 
  `order_date` string COMMENT '订单日期', 
  `total_amount` decimal(10,2) COMMENT '订单金额')
COMMENT '订单表'
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'

代码补全效果截图

案例说明 - 图1

案例说明 - 图2

Copilot自动补全了如下内容:表之间的JOIN条件、GROUP BY子句(按照SELECT中的非聚合字段进行分组)

最终在Copilot的智能补全下得到完整的用于统计每个客户的总订单金额的sql代码,点击运行得到如下结果:

案例说明 - 图3