用途
本技能为华为云 DLI(Data Lake Insight,数据湖探索)提供全生命周期运维工具集,通过 hcloud CLI 的 dli 服务执行云端资源管理操作,覆盖队列、批作业、流作业、库表元数据、跨源连接、资源包、全局变量与模板、权限与巡检等十类能力。
主要能力
- 队列管理:ListQueues、ShowQueue、CreateQueue、DeleteQueue、RunQueueAction(扩缩容)、队列定时计划(ListQueuePlans、CreateQueuePlan、UpdateQueuePlan、DeleteQueuePlan)及 CIDR。
- 批处理作业(SQL/Spark):CreateSqlJob、ListSqlJobs、ShowSqlJobStatus/Detail/Progress、CancelSqlJob、ExportSqlJobResult、PreviewSqlJobResult,以及 Spark 对应操作与 ShowSparkJobLog。
- Flink 流作业:CreateFlinkSqlJob、CreateFlinkJarJob、ListFlinkJobs、ShowFlinkJob、UpdateFlink*、BatchRunFlinkJobs、BatchStopFlinkJobs、BatchDeleteFlinkJobs、ShowFlinkMetric。
- 数据库管理:ListDatabases、CreateDatabase、DeleteDatabase、UpdateDatabaseOwner、ListDatabaseUsers。
- 表管理:ListTables、ShowTable、CreateTable、DeleteTable、UpdateTableOwner、ListPartitions、PreviewTable、表用户与权限。
- 增强型连接:ListEnhancedConnections、Create/Update/DeleteEnhancedConnection、队列绑定、CreateConnectivityTask/ShowConnectivityTask。
- 资源包:ListJobResources、ShowJobResource、UploadJar/PythonFile/FileJobResources、DeleteJobResource、UpdateJobResourceOwner。
- 全局变量与作业模板:全局变量的增删改查;SQL/Flink SQL/Spark 模板的列表、创建、更新、删除。
- 权限与巡检:授权操作、队列/数据库/表用户、弹性资源池(CU)、配额、委托、catalogs。
使用方式
所有命令使用 hcloud dli <Operation> 形式,--cli-region 与 --project_id 由 KooCLI 从 profile 自动填充。完整操作目录与逐命令参数表见 references/dli-operation-catalog.md。
前置条件:
- 已安装并认证 hcloud CLI,配置有效 AK/SK profile(安装与验证见 references/cli-installation-guide.md)。
- IAM 权限:查询操作需 DLI 读权限;创建/更新/删除需 DLI 管理/写权限(见 references/iam-policies.md)。
- 区域:DLI 资源按区域划分,每条命令需传
--cli-region={region}。 - OBS 路径(资源上传/结果导出):需预先存在的 OBS 桶及可读路径,以 OBS 对象 URL 形式传给
--paths.[N]。 - SQL/Spark 作业队列:提交作业需运行中的 SQL 或通用队列,先检查 ListQueues。
典型工作流场景:
- 日常资源巡检:ListQueues --with-charge-info、ListElasticResourcePools + ScaleRecords、ListSqlJobs/ListFlinkJobs、ShowQuota(CU 使用超 80% 标记)、ShowDliAgency,输出结构化巡检报告。
- 批作业故障排查:按失败状态筛选作业,通过 ShowSqlJobStatus/Detail 与 ShowSparkJobLog 定位原因,输出根因报告。
- Flink 流作业运维:列表与详情查询、批量启停(需二次确认)、ShowFlinkMetric 查看 CU 指标。
- 库表元数据治理:库表清单、schema/位置/属主、分区布局、属主对齐;删除库表仅在用户二次确认后执行(cascade 风险)。
- 跨源连接:连接清单与状态、连通性测试、队列绑定、主机白名单更新(全量覆盖)。
- 闲置资源清理:列出陈旧资源,向用户报告清理建议并等待确认后执行删除。
适用场景
适用于华为云 DLI 数据湖资源的日常巡检、批作业与流作业运维、元数据治理、跨源连接管理与闲置资源清理等云端运维任务。
限制与安全约束
- 高风险操作需二次确认:删除数据库(尤其 --cascade)、删除表、删除队列、删除/取消运行中的流作业、批量停止/删除 Flink 作业、队列缩容(scale_in)、删除队列计划(元数据永久不可恢复)。
- 本技能仅执行云端操作,不自主通过 CreateSqlJob 对用户业务表运行写入/覆盖类 SQL(INSERT OVERWRITE、DELETE、UPDATE、DROP);SQL 提交仅限用户明确确认的非破坏性语句(如 SELECT / 元数据 SHOW)。
- 不得擅自清理生产业务元数据,闲置资源清理建议须先报告并经用户确认。
- 所有操作限于 DLI 资源管理,不修改 OBS 数据内容,不更改 IAM 策略。
- 安全门:执行任何高风险命令前,须向用户展示确切命令、范围与不可逆警告,等待明确确认关键词;不得未经逐条确认批量执行破坏性命令;输出与日志中需掩码 AK/SK。
核心命令示例
队列:
hcloud dli ListQueues --cli-region={region} --queue_type={sql|general|all} [--tags={key=value}]
hcloud dli CreateQueue --cli-region={region} --queue_name={queue_name} --cu_count={cu_count} [--queue_type={sql|general}] [--engine={spark|flink|hetero}] [--charging_mode={prePaid|postPaid}]
hcloud dli RunQueueAction --cli-region={region} --queue_name={queue_name} --action={scale_out|scale_in} [--cu_count={cu_count}] [--force=true]
SQL 作业:
hcloud dli CreateSqlJob --cli-region={region} --sql={sql_statement} [--queue_name={queue_name}] [--currentdb={database}] [--sql_type={ddl|dcl|import|query|insert}] [--conf.1={key=value}]
hcloud dli ListSqlJobs --cli-region={region} [--job-status={pending|running|success|failed|cancelled}] [--job-type={DDL|DCL|IMPORT|QUERY|INSERT}]
hcloud dli ExportSqlJobResult --cli-region={region} --job_id={job_id} --data_path={obs_path} --data_type={csv|json|parquet} [--compress={gzip|none}]
Spark 作业:
hcloud dli CreateSparkJob --cli-region={region} --file={jar_resource} --className={main_class} [--queue={queue_name}] [--name={job_name}] [--args.1={arg}] [--conf.1={key=value}] [--driver_memory={mem}] [--executor_memory={mem}] [--executor_cores={n}] [--num_executors={n}]
hcloud dli ShowSparkJobLog --cli-region={region} --batch_id={batch_id} [--size={n}] [--type={all|driver|executor}]
Flink 作业:
hcloud dli CreateFlinkSqlJob --cli-region={region} --name={job_name} [--queue_name={queue}] [--cu_number={cu}] [--sql={flink_sql}] [--parallel_number={n}] [--smn_topic={topic}]
hcloud dli BatchStopFlinkJobs --cli-region={region} --job_ids.1={job_id} [--trigger_savepoint={true|false}]
hcloud dli ShowFlinkMetric --cli-region={region} --job_ids.1={job_id} [--job_ids.2={job_id_2}]
数据库与表:
hcloud dli CreateDatabase --cli-region={region} --database_name={db_name} [--description={desc}]
hcloud dli DeleteDatabase --cli-region={region} --database_name={db_name} [--cascade={true|false}] [--async={true|false}]
hcloud dli CreateTable --cli-region={region} --database_name={db_name} --table_name={table_name} --data_location={DLI|OBS|VIEW} --columns.1.column_name={col} --columns.1.type={TYPE} [--data_path={s3a://...}] [--data_type={Parquet|ORC|CSV|JSON|Carbon|Avro}] [--delimiter={c}]
增强型连接:
hcloud dli CreateEnhancedConnection --cli-region={region} --name={conn_name} --dest_vpc_id={vpc_id} --dest_network_id={subnet_id} [--routetable_id={rt_id}]
hcloud dli UpdateEnhancedConnection --cli-region={region} --connection_id={connection_id} [--hosts.1.ip={ip}] [--hosts.1.name={host}]
暂未提供
资料未提供具体收费与价格信息、各操作的实际执行效果数据、支持的区域清单,以及除上述命令外的其他功能说明。