
# 在DLI使用Hudi提交Spark SQL作业
登录DLI管理控制台，选择"SQL编辑器"首进入提交SQL作业的界面。提交SQL作业时需要选择支持Hudi的Spark SQL队列。
1. 创建一张Hudi表： 
   将如下的建表语句粘贴至DLI SQL编辑器的输入区域，修改 LOCATION，执行引擎选择Spark，配置队列，数据目录，数据库，随后点击右上角的执行按钮，提交作业。
   注意：由DLI提供元数据服务时，暂不支持创建Hudi内表，即必须配置 LOCATION 指向 OBS 路径。
   ```
   CREATE TABLE
     hudi_table (id int, comb long, name string, dt date) USING hudi PARTITIONED BY (dt) OPTIONS (
       type = 'cow',
       primaryKey = 'id',
       preCombineField = 'comb'
     ) LOCATION 'obs://bucket/path/hudi_table';
   ```
   等待下方执行历史显示作业执行成功，代表建表成功，此时创建了一张Hudi的COW分区表。
   可以执行 SHOW TABLES 检查建表是否成功：
   ```
   SHOW TABLES;
   ```
   
   
2. 执行SQL写入刚才创建的Hudi表： 
   ```
   INSERT INTO hudi_table VALUES (1, 100, 'aaa', '2021-08-28'), (2, 200, 'bbb', '2021-08-28');
   ```
   随后可以在编辑器下方的"执行历史（最近一天）"窗格中检查执行结果，或者点击左侧"作业管理"-\> "SQL作业"跳转到SQL作业记录中检查。
   
   
3. 在执行SQL的时候配置Hudi参数： 
   ![](https://support.huaweicloud.com/sqlref-hudi-dli/public_sys-resources/note_3.0-zh-cn.png)
   DLI不支持直接使用SET语句配置参数
   点击"设置"，随后在"参数设置"一栏可以配置键和值，Hudi的参数可以通过此处提交。配置在此处的参数会在提交SQL作业时被应用。
   随后可以在左侧菜单点击"作业管理"-\>"SQL作业"，随后在列表中选中执行的作业，并点击下方窗格，唤出作业详情，在"参数设置"一栏中，可以检查参数配置情况。
   
   
4. 执行SQL查询刚才写入的内容： 
   ```
   select id,comb,name,dt from hudi_table where dt='2021-08-28';
   ```
   可以在编辑器下方窗格查看查询结果。
   
   
5. 删除刚才创建的Hudi表： 
   如果创建的是外表，执行SQL删除表时仅删除Hudi表的元数据，数据仍然存在OBS桶中，需要手动清理。
   ```
   DROP TABLE IF EXISTS hudi_table;
   ```
   
   
 
