# 数据湖探索 DLI > 流处理、批处理的融合处理分析服务 ## 服务公告 - [产品公告](https://support.huaweicloud.com/prod-bulletin-dli/index.md): 产品公告 - [DLI计算引擎版本生命周期](https://support.huaweicloud.com/verspt-bulletin-dli/dli_bulletin_0004.md): DLI计算引擎版本号:格式为计算引擎名称 x.y.z,其中计算引擎分为Flink和Spark,版本号具体含义如图1所示。Flink计算引擎推荐版本:Flink 1.15。Spark计算引擎推荐版本: Spark 3.3.1。不建议长期混用不同版本的Spark/Flink引擎。长期混用不同版本的Spark/Flink引擎会导致代码在新旧版本 - [Flink 1.15版本说明](https://support.huaweicloud.com/verspt-bulletin-dli/dli_bulletin_0013.md): 数据湖探索(DLI)遵循开源Flink计算引擎的发布一致性。本文介绍Flink 1.15版本所做的变更说明。更多Flink 1.15版本说明请参考Release Notes - Flink Jar 1.15、Flink OpenSource SQL1.15版本使用说明。更多版本支持信息请参考DLI计算引擎版本生命周期。Flink 1.15 - [Flink 1.12版本说明](https://support.huaweicloud.com/verspt-bulletin-dli/dli_bulletin_0007.md): 数据湖探索(DLI)遵循开源Flink计算引擎的发布一致性。本文介绍Flink 1.12版本所做的变更说明。更多Flink 1.12版本说明请参考Release Notes - Flink 1.12。更多版本支持信息请参考DLI计算引擎版本生命周期。Flink 1.12新增支持DataGen源表、DWS源表、JDBC源表、MySQL CD - [Spark 3.3.1版本说明](https://support.huaweicloud.com/verspt-bulletin-dli/dli_bulletin_0012.md): 数据湖探索(DLI)遵循开源Spark计算引擎的发布一致性。本文介绍Spark 3.3.1版本所做的变更说明。更多Spark 3.3.1版本说明请参考Spark Release Notes。更多版本支持信息请参考DLI计算引擎版本生命周期。表1列举了Spark 3.3.1 版本主要的功能特性。更多版本新特性及性能优化请参考Release - [Spark 3.1.1版本说明](https://support.huaweicloud.com/verspt-bulletin-dli/dli_bulletin_0005.md): 数据湖探索(DLI)遵循开源Spark计算引擎的发布一致性。本文介绍Spark 3.1.1版本所做的变更说明。更多Spark 3.1.1版本说明请参考Spark Release Notes。更多版本支持信息请参考DLI计算引擎版本生命周期。下表列举了Spark 3.1.1 版本主要的功能特性。更多版本新特性请参考Release Notes - [Spark 2.4.5版本说明](https://support.huaweicloud.com/verspt-bulletin-dli/dli_bulletin_0006.md): 数据湖探索(DLI)遵循开源Spark计算引擎的发布一致性。本文介绍Spark 2.4.5版本所做的变更说明。更多Spark 2.4.5版本说明请参考Spark Release Notes。更多版本支持信息请参考DLI计算引擎版本生命周期。表1列举了Spark 2.4.5版本主要的功能特性。更多版本新特性请参考Release Notes - [Spark 2.4.x与Spark 3.3.x版本在SQL队列的差异对比](https://support.huaweicloud.com/verspt-bulletin-dli/dli_bulletin_0015.md): DLI整理了Spark 2.4.x与Spark 3.3.x版本在SQL队列的差异,便于您了解Spark版本升级后SQL队列上运行的作业在适配新版本引擎时的影响。说明:Spark SQL中的histogram_numeric函数返回一个结构体数组(x,y),不同版本的引擎x的类型不同。Spark2.4.x:Spark 3.2或更早版本中,x - [Spark 2.4.x与Spark 3.3.x版本在通用队列的差异对比](https://support.huaweicloud.com/verspt-bulletin-dli/dli_bulletin_0016.md): DLI整理了Spark2.4.x与Spark 3.3.x版本在通用队列的差异,便于您了解Spark版本升级后通用队列上运行的作业在适配新版本引擎时的影响。说明:log4j依赖从1.x版本修改为2.x版本Spark2.4.x:log4j依赖1.x版本(社区不再支持)。Spark 3.3.x:log4j依赖2.x版本。log4j依赖从1.x版 - [DLI datasourceV1表和datasourceV2表](https://support.huaweicloud.com/verspt-bulletin-dli/dli_bulletin_0017.md): DLI datasource v1表(以下简称V1表):DLI的Datasource表格式,建表/插入/truncate命令使用DLI自定义的command,表的数据路径为$tablepath/UUID/数据文件。DLI datasource v1表DLI datasource v2表(以下简称V2表):spark开源的Datasourc - [Spark 2.4.x与Spark 3.3.x版本授权差异说明](https://support.huaweicloud.com/verspt-bulletin-dli/dli_bulletin_0020.md): 在Spark2.4.x升级Spark 3.3.x后,部分SQL语法对权限的要求有所变化。需要您在IAM管理控制台“角色或策略授权”的操作界面修改自定义策略,以满足Spark 3.3.x版本的SQL语法的权限要求。避免因权限缺失导致在Spark 3.3.x版本执行SQL作业报错或失败。本节操作介绍使用Spark 2.4.x与Spark 3. - [DLI Spark 3.1.1版本停止服务(EOS)公告](https://support.huaweicloud.com/hist-bulletin-dli/dli_bulletin_0019.md): 华为云在2024年12月31 00:00(北京时间)将Spark 3.1.1版本停止服务(EOS)。DLI Spark 3.1.1版本停止服务(EOS)后,不再提供该软件版本的任何技术服务支持。建议您在执行作业时选择新版本的Spark引擎,推荐使用DLI Spark 3.3.1版本。正在使用DLI Spark 3.1.1版本的作业也请您 - [DLI“包年/包月”和“按需计费”计费模式队列和“队列CU时套餐包”下线(EOL)公告](https://support.huaweicloud.com/hist-bulletin-dli/dli_bulletin_0011.md): 为了更好的实现资源共享,提高计算资源利用率,DLI将“包年/包月”和“按需计费”计费模式队列升级为“弹性资源池队列”。即使用DLI计算资源需先购买弹性资源池,并在弹性资源池中创建队列。DLI“包年/包月”和“按需计费”计费模式队列和“队列CU时套餐包”在2024年3月31日 00:00(北京时间)停止销售(EOM)。DLI“包年/包月” - [DLI经典型跨源连接下线(EOL)公告](https://support.huaweicloud.com/hist-bulletin-dli/dli_bulletin_0008.md): 华为云在2024年06月30 00:00(北京时间)将DLI经典型跨源连接的相关功能下线(EOL)。DLI经典型跨源连接的相关功能下线(EOL)后,不再提供该功能任何技术服务与支持。如果您正在使用DLI经典型跨源连接的功能,请尽快更换使用增强型跨源连接,否则使用经典型跨源连接操作过程中出现的错误,不再提供该功能的任何技术服务支持。如您有 - [DLI Flink 1.10、Flink 1.11版本停止服务(EOS)公告](https://support.huaweicloud.com/hist-bulletin-dli/dli_bulletin_0002.md): 华为云在2023年12月31 00:00(北京时间)将DLI Flink 1.10、Flink1.11版本停止服务(EOS)。DLI Flink 1.10、Flink1.11版本停止服务(EOS)后,不再提供该软件版本的任何技术服务支持。建议您在执行作业时选择新版本的Flink引擎,推荐使用DLI Flink 1.15版本。正在使用Fl - [DLI Spark 2.3.2版本停止服务(EOS)公告](https://support.huaweicloud.com/hist-bulletin-dli/dli_bulletin_0003.md): 华为云在2023年12月31 00:00(北京时间)将Spark 2.3.2版本停止服务(EOS)。DLI Spark 2.3.2版本停止服务(EOS)后,不再提供该软件版本的任何技术服务支持。建议您在执行作业时选择新版本的Spark引擎,推荐使用DLI Spark 3.3.1版本。正在使用DLI Spark 2.3.2版本的作业也请您 - [DLI Flink1.7版本停止服务(EOS)公告](https://support.huaweicloud.com/hist-bulletin-dli/dli_bulletin_0010.md): 华为云在2022年12月31 00:00(北京时间)将DLI Flink 1.7版本停止服务(EOS)。DLI Flink 1.7版本停止服务(EOS)后,不再提供该软件版本相关的任何技术服务支持。建议您在执行作业时选择新版本的Flink引擎,推荐使用DLI Flink 1.15版本。正在使用Flink 1.7版本的作业也请您尽快切换至 ## 产品介绍 - [图解数据湖探索](https://support.huaweicloud.com/productdesc-dli/dli_07_0001.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [数据湖探索简介](https://support.huaweicloud.com/productdesc-dli/dli_01_0378.md): 数据湖探索(Data Lake Insight,简称DLI)是完全兼容Apache Spark、Apache Flink生态,提供一站式的流处理、批处理、交互式分析的Serverless融合处理分析服务。用户不需要管理任何服务器,即开即用。DLI支持标准SQL、Spark SQL、Flink SQL,支持多种接入方式,并兼容主流数据格式。 - [产品优势](https://support.huaweicloud.com/productdesc-dli/dli_07_0007.md): DLI提供标准SQL接口,用户仅需使用SQL便可实现海量数据查询分析。SQL语法全兼容标准ANSI SQL 2003。有效降低数据分析师、业务人员使用门槛,提升数据分析效率。DLI解耦计算和存储负载,存算分离架构,存储资源和计算资源按需灵活配置,提高了资源利用率,降低了成本。弹性资源池功能支持Flink、Spark等多引擎共享资源,进一步 - [应用场景](https://support.huaweicloud.com/productdesc-dli/dli_07_0002.md): DLI服务适用于海量日志分析、异构数据源联邦分析、大数据ETL处理。游戏运营数据分析游戏公司不同部门日常通过游戏数据分析平台,分析每日新增日志获取所需指标,通过数据来辅助决策。例如:运营部门通过平台获取新增玩家、活跃玩家、留存率、流失率、付费率等,了解游戏当前状态及后续响应活动措施;投放部门通过平台获取新增玩家、活跃玩家的渠道来源,来决定 - [产品功能](https://support.huaweicloud.com/productdesc-dli/dli_01_0698.md): 本页面介绍了DLI服务支持的主要功能。关于各功能支持的地域(Region)信息,可通过控制台查询详情。使用DLI提交作业前,您需要为提交作业准备所需的计算资源。弹性资源池弹性资源池为DLI作业运行提供所需的计算资源(CPU和内存),弹性资源池具备强大的计算能力、高可用性、及灵活的资源管理能力,适用于大规模计算任务场景和有长期资源规划需求的 - [计算资源类型和产品规格](https://support.huaweicloud.com/productdesc-dli/dli_07_0027.md): 使用DLI进行大数据分析时,首先需要根据不同的业务需求选择合适的计算资源来执行作业。DLI提供多种计算资源类型和产品规格,包括弹性资源池和队列,本节将详细介绍这两种资源的类型和产品规格,帮助您根据实际需求做出最佳选择。视频介绍DLI计算资源类型。在了解DLI计算资源模式前首先了解弹性资源池和队列的基本概念。弹性资源池弹性资源池是DLI计算 - [DLI支持的开发工具](https://support.huaweicloud.com/productdesc-dli/dli_07_0028.md): DLI支持使用多种客户端连接方式,以满足不同用户的需求和使用场景。本节操作介绍DLI支持的连接方式和具体的应用场景。在大数据分析和处理的场景中,不同用户可能需要根据自己的需求选择不同的客户端连接方式来访问数据湖服务(DLI)。然而,由于缺乏对多种连接方式的了解,用户可能会遇到选择困难,不知道哪种方式最适合自己的使用场景。DLI支持使用多种 - [DLI生态对接](https://support.huaweicloud.com/productdesc-dli/dli_07_0029.md): 在企业日常运营中,数据分析是决策支持的重要环节。然而,由于数据来源多样、格式不一,直接使用BI工具进行数据分析时,往往面临数据质量不高、数据处理效率低下的问题。如何提高数据处理效率,确保数据质量,成为企业亟待解决的问题。通过连接到DLI,BI工具可以更加灵活地使用DLI访问和分析数据,DLI服务通过对数据的融合分析处理,可以为BI工具提供 - [DLI“湖仓一体”](https://support.huaweicloud.com/productdesc-dli/dli_07_0030.md): 在企业数据处理的实践中,随着业务的快速发展,数据量急剧增加,传统的数据处理方式如关系型数据库和数据仓库已经无法满足对非结构化数据的高效处理需求。这导致了企业在处理大量非结构化数据时面临存储成本高、数据管理复杂和分析效率低下的问题。如何在保证数据处理效率的同时,降低存储成本并提高数据管理的灵活性,成为了企业亟待解决的问题。为此,“湖仓一体” - [资产识别与管理](https://support.huaweicloud.com/productdesc-dli/dli_07_0017.md): DLI 可以通过标签实现资源的标识与管理。通常您的业务系统可能使用了华为云的多种云服务,您可以为这些云服务下不同的资源实例分别设置标签,各服务的计费详单会体现这些资源实例设置的标签。如果您的业务系统是由多个不同的应用构成,为同一种应用拥有的资源实例设置统一的标签将很容易帮助您对不同的应用进行使用量分析和成本核算。对DLI来说,标签用于标识 - [身份认证与访问控制](https://support.huaweicloud.com/productdesc-dli/dli_07_0018.md): 用户访问DLI的方式主要有两种,包括DLI Console界面、DLI Open API等,其本质都是通过DLI提供的REST API接口进行请求。DLI的接口均需要通过认证鉴权才能访问,控制台发送的请求与调用API接口的请求均支持Token认证鉴权。您可以使用统一身份认证服务(Identity and Access Management - [数据保护技术](https://support.huaweicloud.com/productdesc-dli/dli_07_0019.md): 为了确保您的个人敏感数据(例如用户名、密码、手机号码等)不被未经过认证、授权的实体或者个人获取,DLI对用户数据的存储和传输进行加密保护,以防止个人数据泄露,保证您的个人数据安全。DLI服务不提供数据备份功能,您需根据业务需求定期导出数据并将数据备份存储,以保障数据安全。导出数据请参考导出DLI表数据至OBS中。用户删除DLI队列后,存储 - [审计与日志](https://support.huaweicloud.com/productdesc-dli/dli_07_0020.md): DLI对接云审计服务云审计服务(Cloud Trace Service,CTS),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。CTS可记录的DLI操作列表详见云审计服务支持的DLI操作列表说明。用户开通云审计服务并创建和配置追踪器 - [服务韧性](https://support.huaweicloud.com/productdesc-dli/dli_07_0021.md): DLI通过流量限制、跨AZ容灾、备份恢复等技术方案,保障数据的持久性和可靠性。流量限制:DLI通过设置流量控制机制,防止服务过载并保持服务的稳定性。跨AZ容灾:DLI云服务采用跨可用区容灾部署,减少单点故障的风险,提高系统的可用性和弹性。备份恢复:DLI自动化的备份策略和恢复计划,确保在发生故障时可以迅速恢复服务和数据。 - [监控安全风险](https://support.huaweicloud.com/productdesc-dli/dli_07_0022.md): 云监控服务为用户的云上资源提供了立体化监控平台。通过云监控您可以全面了解云上的资源使用情况、业务的运行状况,并及时收到异常告警做出反应,保证业务顺畅运行。DLI服务提供基于云监控服务CES的资源监控能力DLI已对接云监控服务,提供基于云监控服务的资源监控能力,帮助用户监控账号下的DLI队列,执行自动实时监控、告警和通知操作。用户可以实时掌 - [故障恢复](https://support.huaweicloud.com/productdesc-dli/dli_07_0023.md): 系统级故障恢复DLI系统采用存算分离的架构,计算集群基于K8s资源调度和故障切换机制,在系统故障时,支持自动故障恢复。DLI系统采用存算分离的架构,计算集群基于K8s资源调度和故障切换机制,在系统故障时,支持自动故障恢复。作业级故障恢复Flink、Spark作业支持配置自动重启恢复机制,在开启自动重启功能后,当作业出现异常时将自动重启恢复 - [更新管理](https://support.huaweicloud.com/productdesc-dli/dli_07_0024.md): DLI云服务通过华为云安全公告密切跟踪漏洞,如Apache Log4j2 远程代码执行漏洞(CVE-2021-44228)、Fastjson存在反序列化漏洞(CNVD-2022-40233)等。一旦发现服务模块涉及漏洞影响,会迅速通过官方解决方案升级现网更新漏洞。DLI云服务通过版本更新升级更新配置,确保服务的安全性和稳定性。 - [认证证书](https://support.huaweicloud.com/productdesc-dli/dli_07_0025.md): 华为云服务及平台通过了多项国内外权威机构(ISO/SOC/PCI等)的安全合规认证,用户可自行申请下载合规资质证书。合规证书下载华为云还提供以下资源来帮助用户满足合规性要求,具体请查看资源中心。资源中心另外,华为云还提供了以下销售许可证及软件著作权证书,供用户下载和参考。具体请查看合规资质证书。销售许可证&软件著作权证书 - [权限管理](https://support.huaweicloud.com/productdesc-dli/dli_07_0006.md): 如果您需要对创建的DLI资源,为企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制资源的访问。如果账号已经能满足您的要求,不需要通过IA - [约束与限制](https://support.huaweicloud.com/productdesc-dli/dli_07_0005.md): 更多弹性资源池约束限制请参考弹性资源池使用约束限制。更多队列使用约束限制请参考队列使用约束限制。DLI提供了存储资源的能力,用于存储数据库和DLI表,DLI存储按存储数据量计费。但DLI服务不提供数据备份功能,您需根据业务需求定期导出数据并将数据备份存储,以保障数据安全。导出数据请参考导出DLI表数据至OBS中。更多资源相关约束限制请参考 - [配额管理](https://support.huaweicloud.com/productdesc-dli/dli_07_0009.md): 为防止资源滥用,平台限定了各服务资源的配额,对用户的资源数量和容量做了限制。如果当前资源配额限制无法满足使用需要,您可以申请扩大配额。登录管理控制台。单击管理控制台左上角的,选择区域和项目。在页面右上角,选择“资源 > 我的配额”。系统进入“服务配额”页面。我的配额系统进入“服务配额”页面。您可以在“服务配额”页面,查看各项资源的总配额及 - [与其他云服务的关系](https://support.huaweicloud.com/productdesc-dli/dli_07_0004.md): 对象存储服务(Object Storage Service)作为DLI的数据来源及数据存储,与DLI配合一起使用,关系有如下四种。数据来源:使用DLI服务提供API,将OBS对应路径的数据导入到DLI。具体API请参考《导入数据》。具体API请参考《导入数据》。存储数据:DLI中支持创建OBS表,该类型表在DLI服务中只有元数据,实际数据 - [基本概念](https://support.huaweicloud.com/productdesc-dli/dli_07_0003.md): 本节介绍弹性资源池实际CUs、已使用CUs、CU范围、包周期CU(规格)的含义。实际CUs在CU范围的[最小值, 最大值]区间内变化。当实际CUs ≤ 包周期CU时,全部按包周期单价计费,无按需费用。当实际CUs > 包周期CU时,差额按按需单价每小时补收。弹性资源池CU设置相关约束:弹性资源池CU范围minCU小于等于实际CUs,如果扩 ## 计费说明 - [计费概述](https://support.huaweicloud.com/price-dli/dli_12_0001.md): 数据湖探索DLI的计费由不同的计费项组成,不同的计费项有不同的计费模式,如表1所示。视频介绍DLI计算资源类型和计费说明。DLI的计费项包括计算资源计费、存储资源计费、扫描量计费。DLI的计费详情请参见DLI产品价格详情。您可以通过DLI提供的价格计算器,快速计算出购买资源的参考价格。CU是弹性资源池的计价单位。 1CU= 1Core 4 - [弹性资源池计费](https://support.huaweicloud.com/price-dli/dli_12_0004.md): 弹性资源池为DLI作业运行提供计算资源。弹性资源池支持三种计费模式:包年包月:是预付费模式,按订单的购买周期计费。拥有专属的计算资源,空闲(无作业运行)时不会释放,使用体验更佳,价格比按需计费模式更优惠。适用于可预估资源使用周期的场景,例如已完成开发进入生产阶段的项目,推荐使用包年包月计费模式预留业务所需资源。包年包月的弹性资源池在使用过 - [存储计费](https://support.huaweicloud.com/price-dli/dli_12_0005.md): 存储资源是DLI服务内部的存储资源,用于存储数据库和DLI表。支持以下计费模式:按需计费:按需计费是一种后付费模式,DLI支持使用按需计费模式购买数据存储。按照存储在DLI服务中的数据存储量(单位为“GB”)收取存储费用。计费方式自创建起按自然小时收费。存储费用=单价*存储数据量(GB)*小时数。按小时结算,小时数按整点计算。套餐包:数据 - [扫描量计费](https://support.huaweicloud.com/price-dli/dli_12_0006.md): 按扫描量计费即:按运行查询作业扫描的数据量付费,如果扫描字节数量少于10M, 按10M计算。且数据定义语言(DDL)语句(如 CREATE、ALTER、DROP TABLE等语句)、管理分区语句、失败的查询语句无需付费。对于取消的查询,按取消查询时扫描的总数据量计费。扫描量支持以下计费模式:按需计费:在default队列中提交作业按扫描数 - [套餐包计费](https://support.huaweicloud.com/price-dli/dli_12_0007.md): DLI提供优惠的资源套餐包,购买套餐包后,资源按照套餐包类型计费。套餐包是用户预先购买的资源使用量配额,超出当前套餐包的额度,将自动转为按需收费。按订购周期重置:如重置周期为月,且按订购周期重置,即如果用户1月5日订购的套餐包,之后每个月5日同一时间重置免费资源。按自然周期重置:结合重置周期使用,如重置周期为月,且按自然周期重置,即每月1 - [计费样例](https://support.huaweicloud.com/price-dli/dli_12_0008.md): 某公司用户A申请了256CUs的弹性资源池,并将1TB数据存放在DLI表中。该公司想要了解采用哪种计费模式才是性价比最优的方式。数据湖探索服务目前支持三种作业:SQL作业,Flink作业和Spark作业。SQL作业的计费包括存储计费和计算计费,Flink作业和Spark作业的计费只有计算计费。示例价格仅供参考,实际计算请以DLI产品价格详 - [续费概述](https://support.huaweicloud.com/price-dli/dli_12_0010.md): 包年/包月DLI资源到期后会影响资源的正常使用。如果您想继续使用,需要在指定的时间内续费,否则队列、弹性资源池等资源会自动释放,数据丢失且不可恢复。续费操作仅适用于包年/包月资源,按需计费资源不需要续费,只需要保证账户余额充足即可。DLI的包周期资源包括:队列、弹性资源池。在到期前续费成功,所有资源得以保留,且作业的运行不受影响。资源到期 - [手动续费](https://support.huaweicloud.com/price-dli/dli_12_0011.md): 进入“续费管理”页面。可在“手动续费项”、“自动续费项”、“到期转按需项”、“到期不续费项”页签查询全部待续费资源,对资源进行手动续费的操作。所有需手动续费的资源都可归置到“手动续费项”页签,具体操作请参见如何恢复为手动续费。单个续费:在资源页面找到需要续费的资源,单击操作列的“续费”。批量续费:在资源页面勾选需要续费的资源,单击列表左上 - [自动续费](https://support.huaweicloud.com/price-dli/dli_12_0012.md): 自动续费可以减少手动续费的管理成本,避免因忘记手动续费而导致资源被自动删除。自动续费的规则如下所述:以资源的到期日计算第一次自动续费日期和计费周期。您可以在购买资源时开通自动续费,在购买资源时,自动续费周期以实际选择的续费时长为准。在到期前均可开通自动续费,到期前7日凌晨3:00首次尝试自动续费,如果扣款失败,每天凌晨3:00尝试一次,直 - [费用账单](https://support.huaweicloud.com/price-dli/dli_12_0013.md): 您可以在“费用中心 > 账单管理”查看DLI资源的费用账单,以了解该DLI资源在某个时间段的使用量和计费信息。包年/包月计费模式的资源完成支付后,会实时上报一条账单到计费系统进行结算。按需计费模式的资源按照固定周期上报使用量到计费系统进行结算。按需计费模式产品根据使用量类型的不同,分为按小时、按天、按月三种周期进行结算,具体扣费规则可以参 - [欠费说明](https://support.huaweicloud.com/price-dli/dli_12_0014.md): 用户在使用DLI服务时,账户的可用额度小于待结算的账单,即被判定为账户欠费。欠费后,可能会影响云服务资源的正常运行,请及时充值。已购买套餐包,但使用量超出套餐包额度,进而产生按需费用,同时账户中的余额不足以抵扣产生的按需费用。请参考已购买套餐包,为什么仍然产生按需计费?识别产生按需计费的原因,并重新选择正确的套餐包或保证账户中的余额充足。 - [停止计费](https://support.huaweicloud.com/price-dli/dli_12_0015.md): 对于包年/包月计费模式的资源,例如包年/包月的弹性资源池、包年/包月的队列等,用户在购买时会一次性付费,服务将在到期后自动停止使用。如果在计费周期内不再使用包年/包月资源,您可以执行退订操作,系统将根据资源是否属于五天无理由退订、是否使用代金券和折扣券等条件返还一定金额到您的账户。详细的退订规则请参见云服务退订规则概览。如果您已开启“自动 - [DLI的计费模式有哪些?](https://support.huaweicloud.com/price-dli/dli_12_0018.md): DLI在不同的计费项下有不同的计费模式,具体详见表1说明。创建队列的操作指导请参考:创建队列具体的计费模式请参考:《计费说明》。具体价格请参考:《数据湖探索价格详情》。 - [包年/包月计费模式的DLI资源可以和按需计费模式相互转换吗?](https://support.huaweicloud.com/price-dli/dli_12_0019.md): DLI暂不支持变更资源的计费模式。请您根据业务场景提前做好资源规划,如资源消耗较大,建议您选择包年/包月或购买套餐包的形式更加优惠。自建队列购买方式如下:购买队列请参考创建队列。购买队列请参考创建队列。弹性资源池购买方式如下:具体弹性资源池的购买和添加队列操作可以参考《数据湖探索用户指南》中的“创建弹性资源池”和“弹性资源池添加队列”相关 - [数据湖队列什么情况下是空闲状态?](https://support.huaweicloud.com/price-dli/dli_12_0021.md): 队列空闲状态是指在DLI 作业管理中,该队列下均无SQL 作业运行,或者 Flink 作业运行、Spark 作业运行。即一个自然小时内无作业运行,该自然小时为空闲状态。不会进行计费。通常按需计费的队列,在空闲1h后计算资源会被释放,再次使用时,需要重新分配计算资源,可能会耗费5~10min时间。按需计费以小时为单位进行结算。不足一小时按一 - [怎样排查DLI计费异常?](https://support.huaweicloud.com/price-dli/dli_12_0022.md): 如果您在使用DLI服务的过程中,感觉计费有异常,可按照以下步骤进行排查:包周期资源与预付费资源,本节操作重点介绍怎样排查按需资源使用中的扣费异常。登录DLI管理控制台。进入“作业管理”>“SQL作业”页面。查看需要确认的作业详情,确认在扣费时间段内是否有以下操作:是否使用自建的队列。是否执行SQL作业。如果使用了按需的弹性资源池下的队列执 - [已购买套餐包,为什么仍然产生按需计费?](https://support.huaweicloud.com/price-dli/dli_12_0023.md): 已经购买了DLI的套餐包,使用过程中仍然产生了按需费用。DLI提供优惠的资源套餐包,购买套餐包后,资源按照套餐包类型计费。套餐包是用户预先购买的资源使用量配额,超出当前套餐包的额度,将自动转为按需收费。建议您按以下顺序排查原因。如果处理完某个可能原因仍未解决问题,请继续排查其他可能原因。目前DLI支持的套餐包类型如表1所示。不同套餐包抵扣 - [怎样查看套餐包资源的使用情况?](https://support.huaweicloud.com/price-dli/dli_12_0024.md): 购买套餐包后,随着套餐包的使用您可以随时查看套餐包使用情况,了解套餐包详情。登录华为云费用中心。选择“资源包”。在“资源包列表”页签中单击目标资源包名称/ID,查看套餐包的详细信息。查看套餐包资源使用情况 - [怎样查看DLI的数据扫描量?](https://support.huaweicloud.com/price-dli/dli_12_0027.md): 登录DLI管理控制台。选择“作业管理 > SQL作业”。筛选执行队列为default队列,查看相应的作业。单击展开作业,查看已扫描的数据。如图1所示。查看作业扫描量 - [按需计费的弹性资源池,如果没提交作业运行就不计费?](https://support.huaweicloud.com/price-dli/dli_12_0028.md): 按需计费的弹性资源池默认勾选专属资源模式(不支持取消勾选专属资源模式),自创建起按自然小时收费。无作业运行仍正常收费。按实际CU进行计费,秒级计费,按小时结算。按需弹性资源池创建成功15分钟后方可删除。 - [想要使用扫描套餐包计费,购买队列还要额外收费吗?](https://support.huaweicloud.com/price-dli/dli_12_0029.md): 按数据扫描量计费是针对默认default 队列,即使用default队列时,是按扫描量计费。您单独购买的队列 ,可选择按需计费(按CU时计费)或包年包月计费。具体的计费模式请参考:计费说明。 - [超出套餐包额度的使用量怎么收费?](https://support.huaweicloud.com/price-dli/dli_12_0030.md): 购买了套餐包时,按需使用过程中优先抵扣套餐包的额度,超过额度的使用量按照按需计费。套餐包需结合重置周期使用,如重置周期为月,且按订购周期重置,即如果用户1月5日订购套餐包资源,之后每个月的5日同一时间重置套餐包资源。 - [弹性资源池的实际CUs、CU范围、规格的含义](https://support.huaweicloud.com/price-dli/dli_12_0031.md): 本节介绍实际CUs、已使用CUs、CU范围、包周期CU(规格)的含义。实际CUs是弹性资源池当前分配的可用于运行作业的计算资源总量(单位CUs)。同时作为计费的直接依据。实际CUs的计算规则:当资源池中没有队列时:实际CUs等于弹性资源池的最小CU。当资源池中有队列时,实际CUs的计算公式:实际CUs=max{(min[sum(队列max - [包年包月弹性资源池设置了定时扩缩容时,怎样计费?](https://support.huaweicloud.com/price-dli/dli_12_0032.md): 假设您在2023/03/08 15:50:04购买了包年/包月弹性资源池(CU范围:64CUs),购买时长为一个月,在资源运行一段时间后发现使用过程中大部分时间CU数在128CU以上(假设每天累计12个小时实际CUs为128CUs,超出规格64CUs。),因此在2023/03/10 15:50:04变更弹性资源池规格为128CU。弹性资源 ## 快速入门 - [使用DLI提交SQL作业查询OBS数据](https://support.huaweicloud.com/qs-dli/dli_13_0002.md): DLI可以查询存储在OBS中的数据,本节操作介绍使用DLI提交SQL作业查询OBS数据的操作步骤。本例新建sampledata.csv文件上传OBS桶,并新建弹性资源池队列,使用DLI创建数据库和表,使用DLI提供的SQL编辑器查询表的1000条数据。使用DLI提交SQL作业查询OBS数据的基本流程如表1所示。开始进行如下操作前,请务必参 - [使用DLI提交SQL作业查询RDS MySQL数据](https://support.huaweicloud.com/qs-dli/dli_13_0005.md): DLI可以查询存储在RDS数据库中的数据,本节操作介绍使用DLI提交SQL作业查询RDS MySQL数据的操作步骤。本例创建RDS实例并新建数据库和表,创建DLI弹性资源池队列,通过增强型跨源连接打通DLI弹性资源池和RDS实例的网络,并提交SQL作业跨源访问RDS的表数据。使用DLI提交SQL作业查询RDS MySQL数据操作流程如表1 - [使用DLI提交Flink OpenSource SQL作业查询RDS MySQL数据](https://support.huaweicloud.com/qs-dli/dli_13_0007.md): DLI Flink作业支持使用其他服务作为数据源和数据输出通道进行数据实时计算操作。本例采用Kafka服务作为数据源通道,以RDS作为数据输出通道,介绍创建并提交Flink OpenSource SQL作业进行实时计算的操作步骤。样例场景需要创建一个Flink OpenSource SQL作业,且该作业包含一个输入流和一个输出流。输入流用 - [使用DLI提交Flink Jar作业](https://support.huaweicloud.com/qs-dli/dli_13_0009.md): Flink Jar作业适用于需要自定义流处理逻辑、复杂的状态管理或特定库集成的数据分析场景。需要用户自行编写并构建Jar作业程序包,在提交Flink Jar作业前,将Jar作业程序包上传至OBS,并将程序包与数据和作业参数一起提交以运行作业。本例介绍通过DLI控制台提交Flink Jar作业程序包的基本流程。由于不同的业务需求,Jar包的 - [使用DLI提交Spark Jar作业](https://support.huaweicloud.com/qs-dli/dli_13_0003.md): DLI允许用户提交编译为Jar包的Spark作业,Jar包中包含了Jar作业执行所需的代码和依赖信息,用于在数据查询、数据分析、机器学习等特定的数据处理任务中使用。在提交Spark Jar作业前,将程序包上传至OBS,并将程序包与数据和作业参数一起提交以运行作业。本例介绍通过DLI控制台提交Jar作业程序包的基本流程。由于不同的业务需求, - [入门实践](https://support.huaweicloud.com/qs-dli/dli_13_0008.md): 我们整理了从队列网络连通、不同类型的作业分析、数据迁移场景的常用开发指南和最佳实践内容,帮助您更好的使用DLI进行大数据分析和处理。 ## 用户指南 - [DLI作业开发流程](https://support.huaweicloud.com/usermanual-dli/dli_01_0001.md): 本节内容为您介绍DLI作业开发流程。如果您是企业用户,并计划使用IAM对您所拥有的DLI资源进行精细的权限管理,请创建IAM用户并授权使用DLI。具体操作请参考创建IAM用户并授权使用DLI。首次使用DLI您需要根据控制台的引导更新DLI委托,用于将操作权限委托给DLI服务,让DLI服务以您的身份使用其他云服务,代替您进行一些资源运维工作 - [配置DLI云服务委托权限](https://support.huaweicloud.com/usermanual-dli/dli_01_0618.md): 使用DLI服务前请先配置DLI云服务权限,本节操作介绍配置DLI云服务权限(dli_management_agency)的场景和操作步骤。首次使用DLI服务,请参考本节操作按需配置DLI云服务委托权限。使用DLI的过程中需要与其他云服务协同工作,因此需要您将部分服务的操作权限委托给DLI服务,确保DLI具备基本使用的权限,让DLI服务以您 - [创建IAM用户并授权使用DLI](https://support.huaweicloud.com/usermanual-dli/dli_01_0418.md): 如果您需要对您所拥有的DLI资源进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),具体IAM使用场景可以参考IAM权限管理概述。如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用DLI服务的其它功能。本章节介绍创建IAM用户 - [配置DLI作业桶](https://support.huaweicloud.com/usermanual-dli/dli_01_0536.md): 使用DLI服务前需配置DLI作业桶,该桶用于存储DLI作业运行过程中产生的临时数据,例如:作业日志、作业结果。本节操作指导您在DLI管理控制台的“全局配置 > 工程配置”页面配置DLI作业桶。如果您的SQL队列已开启作业结果保存至DLI作业桶,请务必在提交SQL作业前配置DLI作业桶信息,否则SQL作业可能会提交失败。怎样查看SQL队列是 - [DLI弹性资源池与队列简介](https://support.huaweicloud.com/usermanual-dli/dli_01_0504.md): DLI的计算资源是执行作业的基础,本节内容介绍DLI计算资源的模式和队列类型。视频介绍DLI计算资源类型。在了解DLI计算资源模式前首先了解弹性资源池和队列的基本概念。弹性资源池弹性资源池是DLI计算资源的一种池化管理模式,可以看作DLI计算资源的集合。DLI支持在弹性资源池中创建多个队列,且这些队列可以共享弹性资源池中的资源。了解弹性资 - [创建弹性资源池并添加队列](https://support.huaweicloud.com/usermanual-dli/dli_01_0505.md): 弹性资源池为DLI作业运行提供所需的计算资源(CPU和内存),用于灵活应对业务对计算资源变化的需求。创建弹性资源池后,您可以在弹性资源池中创建多个队列,队列关联到具体的作业和数据处理任务,是资源池中资源被实际使用和分配的基本单元,即队列是执行作业所需的具体的计算资源。同一弹性资源池中,队列之间的计算资源支持共享。 通过合理设置队列的计算资 - [查看弹性资源池的基本信息](https://support.huaweicloud.com/usermanual-dli/dli_01_0622.md): 资源池创建完成后您可以通过管理控制台查看和管理您的弹性资源池。本节操作介绍在管理控制台如何查看弹性资源池基本信息,包括弹性资源池的VPC网段、IPv6网段、创建时间等信息。登录DLI管理控制台。选择“资源管理 > 弹性资源池”。进入弹性资源池列表页面,选择您需要查看的弹性资源池。在列表页面的右上方单击可以自定义显示列,并设置表格内容显示规 - [弹性资源池权限管理](https://support.huaweicloud.com/usermanual-dli/dli_01_0526.md): 针对不同用户,管理员可以通过权限设置赋予各用户不同的操作权限,控制各用户弹性资源池的操作范围。管理员用户和弹性资源池的所有者拥有所有权限,不需要进行权限设置且其他用户无法修改其队列权限。给新用户设置弹性资源池权限时,该用户所在用户组的所属区域需具有Tenant Guest权限。关于Tenant Guest权限的介绍和开通方法,详细参见《权 - [弹性资源池关联队列](https://support.huaweicloud.com/usermanual-dli/dli_01_0530.md): 参考创建弹性资源池并添加队列创建完弹性资源池后,您可以将已有的队列关联至弹性资源池,即可将弹性资源池的资源用于后续作业的运行您可以在弹性资源池页面通过“关联队列”将队列添加到弹性资源池。还可以在队列管理页面分配队列至弹性资源池。弹性资源池Flink版本只支持1.10及其以上版本,如果准备分配到弹性资源池的作业使用Flink1.7版本可能会 - [弹性资源池扩容或缩容](https://support.huaweicloud.com/usermanual-dli/dli_01_0686.md): 弹性资源池的“扩容”或“缩容”,本质上就是指调整资源池的“实际CUs”。在弹性资源池中:实际CUs:弹性资源池当前分配的实际资源大小(单位CUs)。即实际拥有的计算资源数量。弹性资源池使用实际CUs计费:如果是按需计费模式,那么按照实际CUs大小收费。参考弹性资源池计费模式说明。如果是包年/包月计费模式,那么规格的部分按包周期计费,(实际 - [弹性资源池CU设置](https://support.huaweicloud.com/usermanual-dli/dli_01_0507.md): CU设置主要是为了控制弹性资源池扩缩容的最大最小CU范围,避免无限制的资源扩容风险。例如,当前弹性资源池CU设置的最大CU为256CU,并且该弹性资源池添加了2个队列,2个队列扩缩容策略最小CU数为64CU,这时如果该弹性资源池再添加一个队列并且该队列最小CU为256CU时,因为受到CU最大设置的控制,该队列不能添加到该弹性资源池。本节介 - [弹性资源池包周期CU(规格)变更](https://support.huaweicloud.com/usermanual-dli/dli_01_0524.md): 弹性资源池包周期CU(规格)变更可以根据业务实际的资源使用需求,调整资源池的资源配置和计费模式,以实现资源的高效利用和成本优化。包年包月的弹性资源池CU数在包周期CU(规格)的范围内使用包年包月计费,超过包周期CU(规格)的部分则按弹性资源池CU时计费的方式计费,您可以根据实际CUs的使用情况通过规格变更来使得计费更优惠。例如,当前弹性资 - [弹性资源池标签管理](https://support.huaweicloud.com/usermanual-dli/dli_01_0525.md): 标签是用户自定义的、用于标识云资源的键值对,它可以帮助用户对云资源进行分类和搜索。标签由标签“键”和标签“值”组成。如果用户在其他云服务中使用了标签,建议用户为同一个业务所使用的云资源创建相同的标签键值对以保持一致性。DLI支持以下两类标签:资源标签:在DLI中创建的非全局的标签。预定义标签:在标签管理服务(简称TMS)中创建的预定义标签 - [调整弹性资源池中队列的扩缩容策略](https://support.huaweicloud.com/usermanual-dli/dli_01_0506.md): 弹性资源池上可以添加多个不同队列用于作业运行,具体添加弹性资源池添加队列的操作可以参考创建弹性资源池并添加队列。添加完队列后,可以根据不同队列计算资源使用量的波峰和波谷和优先级来配置要扩缩容的CU数,从而来保障作业的稳定运行。队列的最大CU直接影响弹性资源池实际CUs分配,在调整弹性资源池中队列的扩缩容策略时,如果配置的队列的扩缩容策略的 - [查看弹性资源池扩缩容历史](https://support.huaweicloud.com/usermanual-dli/dli_01_0532.md): 当弹性资源池添加队列、删除队列,或添加的队列扩缩容时,可能会引起弹性资源CUs扩缩容变化。控制台提供的“扩缩容历史”功能,可以查看弹性资源池的CUs变化历史。当前控制台仅支持查看30天以内的弹性资源池扩缩容历史。在DLI管理控制台左侧,选择资源管理 > 弹性资源池。选择需要查看的弹性资源池,单击操作列“更多”中的“扩缩容历史”。在扩缩容历 - [分配弹性资源池至项目](https://support.huaweicloud.com/usermanual-dli/dli_01_0566.md): 企业项目是一种云资源管理方式,企业可以根据组织架构规划企业项目,将分布在不同区域的资源按照企业项目进行统一管理,同时可以为每个企业项目设置拥有不同权限的用户组和用户。DLI支持在创建弹性资源池时选择企业项目,本节操作为您介绍DLI弹性资源池如何绑定、修改企业项目。修改弹性资源池的企业项目,会同时修改弹性资源池下的队列资源的企业项目。即弹性 - [查看队列的基本信息](https://support.huaweicloud.com/usermanual-dli/dli_01_0663.md): 本节操作介绍在管理控制台如何查看队列的基本信息,包括队列的引擎类型和引擎版本。登录DLI管理控制台。选择“资源管理 > 队列管理”。进入队列列表页面,选择您需要查看的队列。在列表页面的右上方单击可以自定义显示列,并设置表格内容显示规则、操作列显示规则。在列表页面上方的搜索区域,您可以名称和标签筛选需要的队列资源。在列表页面的右上方单击可以 - [队列权限管理](https://support.huaweicloud.com/usermanual-dli/dli_01_0015.md): 管理员用户和队列的所有者拥有队列的所有操作权限,且根据业务需求对其他用户分配队列的操作权限,确保用户之间的作业互不影响,保障作业的执行性能。本节操作介绍队列权限管理的相关操作。管理员用户和队列的所有者拥有所有权限,不需要进行权限设置且其他用户无法修改其队列权限。给新用户设置队列权限时,该用户所在用户组的所属区域需具有Tenant Gues - [分配队列至企业项目](https://support.huaweicloud.com/usermanual-dli/dli_01_0565.md): 企业项目是一种云资源管理方式,企业可以根据组织架构规划企业项目,将分布在不同区域的资源按照企业项目进行统一管理,同时可以为每个企业项目设置拥有不同权限的用户组和用户。DLI支持在创建队列时选择企业项目,本节操作为您介绍DLI队列资源如何绑定、修改企业项目。当前仅支持对未加入弹性资源池的队列资源修改企业项目。在绑定企业项目前,您已在“企业项 - [创建消息通知主题](https://support.huaweicloud.com/usermanual-dli/dli_01_0421.md): 确定创建消息通知主题后,您可在消息通知服务的“主题管理”页面中,对相应的主题添加订阅,选择不同方式(例如短信或者邮件等)进行订阅。订阅成功后,如果作业失败,则系统将会自动发送消息到您指定的订阅终端。如果作业提交1分钟内立即失败,通常不会触发消息通知。如果作业提交1分钟后失败,则系统将会自动发送消息到您指定的订阅终端。登录DLI管理控制台。 - [队列标签管理](https://support.huaweicloud.com/usermanual-dli/dli_01_0022.md): 标签是用户自定义的、用于标识云资源的键值对,它可以帮助用户对云资源进行分类和搜索。标签由标签“键”和标签“值”组成。如果用户在其他云服务中使用了标签,建议用户为同一个业务所使用的云资源创建相同的标签键值对以保持一致性。DLI支持以下两类标签:资源标签:在DLI中创建的非全局的标签。预定义标签:在标签管理服务(简称TMS)中创建的预定义标签 - [队列属性设置](https://support.huaweicloud.com/usermanual-dli/dli_01_0563.md): DLI支持在队列创建完成后设置队列的属性。当前支持设置:设置队列的Spark driver的相关参数:通过设置队列的Spark driver,以提升队列资源的调度效率。配置作业结果保存桶:设置是否开启队列的作业查询结果保存至DLI作业桶。开启Spark Native算子优化:开启Spark Native引擎特性,可以提升Spark SQL - [配置作业结果保存桶](https://support.huaweicloud.com/usermanual-dli/dli_01_0703.md): DLI支持将SQL作业的查询结果保存至DLI作业桶,便于持久化存储和管理作业查询结果。一旦开启作业结果保存策略,将无法关闭,作业结果将始终保存至用户设置的DLI作业桶。对于2024年5月之前开通并使用DLI服务的用户,需提交工单申请开通“查询结果写入桶”功能。2024年5月起,新用户可直接使用,无需申请。2024年5月起,新用户可直接使用 - [开启Spark Native算子优化](https://support.huaweicloud.com/usermanual-dli/dli_01_0685.md): Spark Native引擎是Apache Spark的一个核心组件,用于提高Spark SQL计算性而设计。通过使用向量化的C++加速库,实现对Spark算子性能加速。开启Spark Native引擎特性,可以提升Spark SQL的作业性能,减少CPU和内存的消耗。队列开启Spark Native引擎特性后,当前支持Scan和Filt - [测试队列与数据源网络连通性](https://support.huaweicloud.com/usermanual-dli/dli_01_0489.md): DLI提供的“测试地址连通性”用于验证DLI队列与目标地址之间的网络连通性。常用于读写外部数据源场景,在配置了跨源连接后,检验DLI队列与绑定的跨源对端地址之间的通信能力。登录DLI管理控制台。在左侧导航栏,选择“资源管理 > 队列管理”。在队列管理页面,选择需要测试地址连通性的队列,单击操作列下的“更多 > 测试地址连通性”。在“测试地 - [删除队列](https://support.huaweicloud.com/usermanual-dli/dli_01_0016.md): 根据实际使用情况,您可以通过删除操作释放队列。如果待删除的队列中有正在提交或正在运行的作业,将不支持删除操作。删除队列不会导致您数据库中的表数据丢失。如果操作列的删除为灰色,表示当前用户没有删除队列的权限。您可以向管理员申请删除队列的权限。 - [变更非弹性资源池模式队列的规格](https://support.huaweicloud.com/usermanual-dli/dli_01_0484.md): 新创建的包年包月计费队列需要运行作业后才可进行规格变更。本节操作仅适用于非弹性资源池模式队列,不适用于弹性资源池队列。目前只支持64CUs以上规格包年包月队列进行规格变更。如果在“规格变更”页面提示“Status of queue xxx is assigning, which is not available”,表示需要等待队列资源分配 - [非弹性资源池模式队列弹性扩缩容](https://support.huaweicloud.com/usermanual-dli/dli_01_0487.md): 新创建的按需计费队列需要运行作业后才可进行弹性扩缩容。本节操作仅适用于非弹性资源池模式队列,不适用于弹性资源池队列。16CUs队列不支持扩容和缩容。64CUs队列不支持缩容。目前只支持计费模式为“按需/CU时”和“按需/专属资源模式”的队列进行弹性扩缩容。如果在“弹性扩缩容”页面提示“Status of queue xxx is assi - [设置非弹性资源池模式队列的弹性扩缩容定时任务](https://support.huaweicloud.com/usermanual-dli/dli_01_0488.md): 通常,用户业务繁忙的场景是有周期性的,在某个周期内,用户需要更多的计算资源来处理业务,过了这个周期,则不需要那么多资源。如果用户购买的队列规格比较小,在业务繁忙时会存在资源不足的情况;而如果购买的队列规格比较大,又可能会存在资源浪费的情况。基于以上场景,DLI提供了队列弹性扩缩容定时任务功能。用户可以根据自己的业务周期或者使用情况,基于现 - [修改非弹性资源池模式队列的网段](https://support.huaweicloud.com/usermanual-dli/dli_01_0443.md): 使用增强型跨源时,如果DLI队列的网段和用户数据源的网段发生冲突,您可以通过修改网段操作更改包年包月队列的网段。如果待修改网段的队列中有正在提交或正在运行的作业,或者该队列已经绑定了增强型跨源,将不支持修改网段操作。本节操作仅适用于非弹性资源池模式队列,不适用于弹性资源池队列。目前只支持计费模式为“包年包月”和“按需/专属资源模式”的队列 - [典型场景示例:创建弹性资源池并运行作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0515.md): 本章节主要介绍从创建弹性资源池、创建增强型跨源、添加队列到弹性资源池并运行作业的一个完整流程,帮助您更好、更方便的使用弹性资源池。创建弹性资源池运行作业流程图登录DLI管理控制台,在左侧导航栏单击“资源管理 > 弹性资源池”,可进入弹性资源池管理页面。在弹性资源池管理界面,单击界面右上角的“购买弹性资源池”。在“购买弹性资源池”界面,填写 - [典型场景示例:配置弹性资源池队列扩缩容策略](https://support.huaweicloud.com/usermanual-dli/dli_01_0516.md): 一个企业有多个部门,多个部门不同业务数据分析的时间段可能有所差异,具体场景如下:A部门:在00:00-09:00时间段内资源请求量大,其他时间段有短时间的资源请求量不大的任务运行。B部门:在10:00-22:00时间段内资源请求量大,其他时间段内也有固定周期的作业请求也需要保障。针对上述场景,弹性资源池上可以添加两个队列,队列test_a - [创建非弹性资源池队列(废弃,不推荐使用)](https://support.huaweicloud.com/usermanual-dli/dli_01_0363.md): 非弹性资源池模式的队列是DLI的上一代计算资源管理方式,按使用需求购买和释放资源,需要预先估计资源使用需求再进行购买。优先推荐使用弹性资源池队列,提高资源使用的灵活性和资源利用效率。购买弹性资源池并在弹性资源池中添加队列请参考创建弹性资源池并添加队列。用户首次使用子账号创建队列时,需要先使用主账号登录控制台,在DLI的数据库中保持记录,才 - [了解数据目录、数据库和表](https://support.huaweicloud.com/usermanual-dli/dli_01_0228.md): 数据库和表是SQL作业、Spark作业场景开发的基础,在执行作业前您需要根据业务场景定义数据库和表。Flink支持动态数据类型,可以在运行时定义数据结构,不需要事先定义元数据。Flink支持动态数据类型,可以在运行时定义数据结构,不需要事先定义元数据。“数据目录”用于“DLI对接LakeFormation”场景下的“在DLI控制台创建La - [在DLI控制台创建数据目录、数据库和表](https://support.huaweicloud.com/usermanual-dli/dli_01_0005.md): 数据目录(Catalog)是元数据管理对象,一个数据目录下可以包含多个数据库。“数据目录”用于“DLI对接LakeFormation”场景下的“在DLI控制台创建LakeFormation数据目录映射”操作。目前“DLI对接LakeFormation”功能处于受限使用阶段。您需提交工单申请开通该功能,开通后才可在DLI管理控制台的SQL编 - [查看表元数据](https://support.huaweicloud.com/usermanual-dli/dli_01_0008.md): 元数据(Metadata)是用来定义数据类型的数据。主要是描述数据自身信息,包含源、大小、格式或其它数据特征。数据库字段中,元数据用于诠释数据仓库的内容。创建表时,会定义元数据,由列名、类型、列描述三列组成。元数据页面将显示目标表的列名、列类型、类型和描述。查看元数据的入口有两个,分别在数据管理和SQL编辑器页面。在数据管理页面查看元数据 - [在DLI控制台配置数据目录权限](https://support.huaweicloud.com/usermanual-dli/dli_01_0672.md): DLI数据目录支持在DLI控制台授权或通过IAM鉴权。针对不同用户通过权限设置分配不同的数据目录权限。管理员用户和数据目录的所有者(在DLI建立数据目录的用户)默认拥有数据目录所有权限,不需要进行权限设置且其他用户无法修改其数据目录权限。给新用户设置数据目录权限时,该用户所在用户组的所属区域需具有Tenant Guest权限。关于Tena - [在DLI控制台配置数据库权限](https://support.huaweicloud.com/usermanual-dli/dli_01_0447.md): 针对不同用户,可以通过权限设置分配不同的数据库权限。管理员用户和数据库的所有者拥有所有权限,不需要进行权限设置且其他用户无法修改其数据库权限。给新用户设置数据库权限时,该用户所在用户组的所属区域需具有Tenant Guest权限。关于Tenant Guest权限的介绍和开通方法,详细参见《权限策略》和《统一身份认证服务用户指南》中的创建用 - [在DLI控制台删除数据库](https://support.huaweicloud.com/usermanual-dli/dli_01_0011.md): 当数据库不再使用,例如测试数据库测试结束后;数据库存在错误或异常,无法修复;需要重新整理数据结构,如调整表设计;数据库空闲无实际用途,优化资源利用等场景,您都可以在DLI控制台删除不再使用的数据库。本节操作介绍在DLI管理控制台删除数据库的操作步骤。具有正在运行中的作业的数据库或者表不能删除。管理员用户、数据库的所有者和具有删除数据库权限 - [在DLI控制台修改数据库所有者](https://support.huaweicloud.com/usermanual-dli/dli_01_0376.md): 在实际使用过程中,开发人员创建了数据库和表,交给测试人员进行测试,测试人员测试完成后,再交给运维人员进行体验,在这种情况下,可以通过修改数据库的所有者,将数据转移给其他所有者。修改数据库所有者的入口有两个,分别在数据管理和SQL编辑器页面。在数据管理页面修改数据库所有者。登录DLI管理控制台。在左侧导航栏,单击数据管理>库表管理。在库表管 - [库表标签管理](https://support.huaweicloud.com/usermanual-dli/dli_01_0552.md): 标签是用户自定义的、用于标识云资源的键值对,它可以帮助用户对云资源进行分类和搜索。标签由标签“键”和标签“值”组成。如果用户在其他云服务中使用了标签,建议用户为同一个业务所使用的云资源创建相同的标签键值对以保持一致性。如您的组织已经设定DLI的相关标签策略,则需按照标签策略规则为资源添加标签。标签如果不符合标签策略的规则,则可能会导致资源 - [在DLI控制台配置表权限](https://support.huaweicloud.com/usermanual-dli/dli_01_0448.md): 针对不同用户,可以通过权限设置分配不同的表权限。管理员用户和表的所有者拥有所有权限,不需要进行权限设置且其他用户无法修改其表权限。给新用户设置表权限时,该用户所在用户组的所属区域需具有Tenant Guest权限。关于Tenant Guest权限的介绍和开通方法,详细参见《权限策略》和《统一身份认证服务用户指南》中的创建用户组。如果需要查 - [在DLI控制台删除表](https://support.huaweicloud.com/usermanual-dli/dli_01_0626.md): 当数据表不再使用,例如测试数据表测试结束后;数据表存在错误或异常,无法修复;需要重新整理数据结构,如调整表设计;数据表空闲无实际用途,优化资源利用等场景,您都可以在DLI控制台删除不再使用的数据表。本节操作介绍在DLI管理控制台删除数据表的操作步骤。具有正在运行中的作业的数据库或者表不能删除。管理员用户、表的所有者和具有删除表权限的用户可 - [在DLI控制台修改表所有者](https://support.huaweicloud.com/usermanual-dli/dli_01_0627.md): 在实际使用过程中,开发人员创建了数据库和表,交给测试人员进行测试,测试人员测试完成后,再交给运维人员进行体验,在这种情况下,可以通过修改表的所有者,将数据转移给其他所有者。登录DLI管理控制台。在左侧导航栏,单击数据管理>库表管理。单击需要修改的表对应数据库名,进入该数据库的“表管理”页面。单击目标表“操作”栏中的更多>修改所有者。在弹出 - [将OBS数据导入至DLI的表](https://support.huaweicloud.com/usermanual-dli/dli_01_0253.md): 本节操作介绍将OBS上的数据导入到DLI控制台的表中。DLI表(表类型:MANAGED)和OBS表(表类型:EXTERNAL)均支持数据导入功能。导入数据时只能指定一个路径,路径中不能包含逗号。如果将CSV格式数据导入分区表,需在数据源中将分区列放在最后一列。不建议对同一张表并发导入数据,因为有一定概率发生并发冲突,导致导入失败。导入文件 - [导出DLI表数据至OBS中](https://support.huaweicloud.com/usermanual-dli/dli_01_0010.md): 支持将数据从DLI表中导出到OBS服务中,导出操作将在OBS服务新建文件夹,或覆盖已有文件夹中的内容。支持导出json格式的文件,且文本格式仅支持UTF-8。只支持将DLI表(表类型为“Managed”)中的数据导出到OBS桶中,且导出的路径必须指定到文件夹级别。支持跨账号导出数据,即,如果B账户对A账户授权后,A账户拥有B账户OBS桶的 - [在DLI控制台预览表数据](https://support.huaweicloud.com/usermanual-dli/dli_01_0007.md): 预览页面将显示对应表的前10条数据。预览数据的入口有两个,分别在数据管理和SQL编辑器页面。在数据管理页面预览数据。在管理控制台左侧,单击数据管理>库表管理。单击需导出数据对应数据库名称,进入该数据库“表管理”页面。单击目标表“操作”栏中的更多,选择表属性。单击“预览”页签,即可预览该表数据。在SQL编辑器页面预览数据。在管理控制台左侧, - [DLI对接LakeFormation](https://support.huaweicloud.com/usermanual-dli/dli_01_0629.md): LakeFormation是企业级一站式湖仓构建服务,提供元数据统一管理能力,支持无缝对接多种计算引擎及大数据云服务,便捷高效地构建数据湖和运营相关业务,加速释放业务数据价值。在DLI的Spark作业和SQL作业场景,支持对接LakeFormation实现元数据的统一管理,本节操作介绍配置DLI与LakeFormation的数据连接的操作 - [LakeFormation资源权限支持列表与策略项](https://support.huaweicloud.com/usermanual-dli/dli_01_0630.md): DLI支持SQL资源鉴权的操作列表请参考数据权限列表。LakeFormation SQL资源权限支持列表请参考表1。 - [数据迁移与传输方式概述](https://support.huaweicloud.com/usermanual-dli/dli_01_0662.md): DLI支持在不迁移数据的情况下,直接访问OBS中存储的数据进行查询分析。您只需将本地数据导入OBS即可开始使用DLI进行数据分析。导入数据的具体操作请参考上传对象。为了将分散在不同系统中的数据迁移到DLI,确保数据可以在DLI集中分析和管理,您可以通过云数据迁移服务CDM等迁移工具迁移数据至DLI,再使用DLI提交作业分析数据。CDM支持 - [迁移数据场景概述](https://support.huaweicloud.com/usermanual-dli/dli_01_0632.md): 为了将分散在不同系统中的数据迁移到DLI,确保数据可以在DLI集中分析和管理,您可以通过云数据迁移服务CDM等迁移工具迁移数据至DLI,再使用DLI提交作业分析数据。CDM支持数据库、数据仓库、文件等多种类型的数据源,通过可视化界面对数据源迁移任务进行配置,提高数据迁移和集成的效率。将其他云服务或业务平台数据迁移到DLI ,或者将DLI数 - [使用CDM迁移数据至DLI](https://support.huaweicloud.com/usermanual-dli/dli_01_0633.md): CDM提供了可视化的迁移任务配置页面,支持多种数据源到数据湖的迁移能力。本节操作介绍使用CDM迁移工具将数据从数据源迁移至DLI的操作步骤。CDM集群用于执行数据迁移作业,将数据从数据源迁移至DLI。登录CDM管理控制台,单击“购买云数据迁移服务”。配置集群参数。其中CDM集群的区域、虚拟私有云、子网、安全组、企业项目建议选择与数据源和D - [典型场景示例:迁移Hive数据至DLI](https://support.huaweicloud.com/usermanual-dli/dli_01_0653.md): 本文为您介绍如何通过CDM数据同步功能,迁移MRS Hive数据至DLI。其他MRS Hadoop组件数据,均可以通过CDM与DLI进行双向同步。已创建DLI的SQL队列。创建DLI队列的操作可以参考创建DLI队列。创建DLI队列时队列类型需要选择为“SQL队列”。创建DLI队列时队列类型需要选择为“SQL队列”。已创建包含Hive组件的 - [典型场景示例:迁移Kafka数据至DLI](https://support.huaweicloud.com/usermanual-dli/dli_01_0654.md): 本文为您介绍如何通过CDM数据同步功能,迁移MRS Kafka数据至DLI。已创建DLI的SQL队列。创建DLI队列的操作可以参考创建DLI队列。创建DLI队列时队列类型需要选择为“SQL队列”。创建DLI队列时队列类型需要选择为“SQL队列”。已创建包含Kafka组件的MRS安全集群。具体创建MRS集群的操作可以参考创建MRS集群。本示 - [典型场景示例:迁移Elasticsearch数据至DLI](https://support.huaweicloud.com/usermanual-dli/dli_01_0655.md): 本文为您介绍如何通过CDM数据同步功能,迁移Elasticsearch类型的CSS集群数据至DLI。其他自建的Elasticsearch等服务数据,均可以通过CDM与DLI进行双向同步。已创建DLI的SQL队列。创建DLI队列的操作可以参考创建DLI队列。创建DLI队列时队列类型需要选择为“SQL队列”。创建DLI队列时队列类型需要选择为 - [典型场景示例:迁移RDS数据至DLI](https://support.huaweicloud.com/usermanual-dli/dli_01_0656.md): 本文为您介绍如何通过CDM数据同步功能,迁移关系型数据库RDS数据至DLI。其他关系型数据库数据都可以通过CDM与DLI进行双向同步。已创建DLI的SQL队列。创建DLI队列的操作可以参考创建DLI队列。创建DLI队列时队列类型需要选择为“SQL队列”。创建DLI队列时队列类型需要选择为“SQL队列”。已创建云数据库RDS的MySQL的数 - [典型场景示例:迁移DWS数据至DLI](https://support.huaweicloud.com/usermanual-dli/dli_01_0657.md): 本文为您介绍如何通过CDM数据同步功能,迁移数据仓库服务DWS数据至DLI。已创建DLI的SQL队列。创建DLI队列的操作可以参考创建DLI队列。创建DLI队列时队列类型需要选择为“SQL队列”。创建DLI队列时队列类型需要选择为“SQL队列”。已创建数据仓库服务DWS集群。具体创建DWS集群的操作可以参考创建DWS集群。已创建CDM迁移 - [配置DLI读写外部数据源数据的操作流程](https://support.huaweicloud.com/usermanual-dli/dli_01_0635.md): DLI执行作业需要读写外部数据源时需要具备两个条件:打通DLI和外部数据源之间的网络,确保DLI队列与数据源的网络连通。妥善保存数据源的访问凭证确保数据源认证的安全性,便于DLI安全访问数据源。本节操作介绍配置DLI读写外部数据源数据操作流程。配置DLI与数据源网络连通:您可以参考配置DLI与数据源网络连通(增强型跨源连接)配置DLI与数 - [增强型跨源连接概述](https://support.huaweicloud.com/usermanual-dli/dli_01_0003.md): 如果我们把“DLI弹性资源池”和“数据源”想象成两座彼此独立、四面环水的“孤岛”。要让两岛之间通车,必须先建桥,再在道路和桥梁的两端建立好路标。“DLI增强型跨源连接”就是可以帮助您一站式完成“桥”和“路标”建设的施工队。采用“对等连接”的方式建设桥梁,且定义“系统路由”指引方向,您还可以在此基础上“自定义路由”补充更多的路标。如果“DL - [创建增强型跨源连接](https://support.huaweicloud.com/usermanual-dli/dli_01_0006.md): 使用DLI访问其他数据源的数据前,首先要通过建立增强型跨源连接打通DLI和数据源之间的网络,DLI才能够访问、导入、查询、分析其他数据源的数据。例如:DLI连接MRS、RDS、CSS、Kafka、DWS时,需要打通DLI和对应数据源VPC之间的网络,才能实现数据互通。本节操作介绍在控制台创建增强型跨源连接的操作步骤。本节操作为您介绍使用增 - [建立DLI与共享VPC中资源的网络连接](https://support.huaweicloud.com/usermanual-dli/dli_01_0624.md): 共享VPC是通过资源访问管理服务(RAM)将本账号的VPC资源共享给其他账号使用。例如,账号A可以将自己账号下创建的VPC和子网共享给账号B。在账号B接受共享以后,账号B可以查看到共享的VPC和子网,并可以使用该共享VPC和子网创建资源。有关共享VPC的更多信息,请参见《虚拟私有云用户指南》的“共享VPC”相关内容。企业IT管理账号创建V - [DLI常用跨源分析开发方式](https://support.huaweicloud.com/usermanual-dli/dli_01_0410.md): 当DLI有访问外部数据源的业务需求时,首先需要通过建立增强型跨源连接,打通DLI与数据源之间的网络,再开发不同的作业访问数据源以实现DLI跨源分析。本节操作介绍DLI支持的数据源对应的开发方式。Flink作业访问DIS,OBS和SMN数据源,无需创建跨源连接,可以直接访问。推荐使用增强型跨源连接打通DLI与数据源之间的网络。表1提供DLI - [DLI使用委托获取访问凭证](https://support.huaweicloud.com/usermanual-dli/dli_01_0687.md): 在使用DLI执行大数据处理、跨服务数据交互查询时,鉴权认证是保障服务访问合法性、数据安全性的核心前置环节。如果把 AK/SK、用户名/密码直接写在作业代码或参数配置中,会存在明文泄露的安全风险。随着云服务架构的升级与安全要求的不断提升,DLI围绕多样化的服务访问场景与差异化的鉴权协议兼容需求,提出了两种核心鉴权方案:(推荐)DLI 委托+ - [Flink Opensource SQL使用DEW管理访问凭据](https://support.huaweicloud.com/usermanual-dli/dli_09_0210.md): DLI将Flink作业的输出数据写入到MySQL或DWS时,需要在Connector中设置账号、密码等敏感参数。但是这些信息如果使用明文形式存储存在数据安全风险,推荐做加密处理,以保障用户的数据隐私安全。密码安全中心(Data Encryption Workshop,DEW)和云凭据管理服务(Cloud Secret Management - [获取Flink作业委托临时凭证用于访问其他云服务](https://support.huaweicloud.com/usermanual-dli/dli_09_0212.md): 临时安全凭证是具备临时访问权限的身份凭证,包括临时AK/SK和SecurityToken,临时AK/SK和SecurityToken必须同时使用。了解临时安全凭证。DLI提供了一个通用接口,可用于获取用户在启动Flink作业时设置的委托的临时凭证。该接口将获取到的该作业委托的临时凭证封装到com.huaweicloud.sdk.core. - [Flink Jar 使用DEW获取访问凭证读写OBS](https://support.huaweicloud.com/usermanual-dli/dli_09_0211.md): DLI将Flink Jar作业的输出数据写入到OBS时,需要配置AKSK访问OBS,为了确保AKSK数据安全,您可以通过密码安全中心(Data Encryption Workshop,DEW)、云凭据管理服务(Cloud Secret Management Service,CSMS),对AKSK统一管理,有效避免程序硬编码或明文配置等问题 - [获取Spark作业委托临时凭证用于访问其他云服务](https://support.huaweicloud.com/usermanual-dli/dli_09_0216.md): DLI提供了一个通用接口,可用于获取用户在启动Spark作业时设置的委托的临时凭证。该接口将获取到的该作业委托的临时凭证封装到com.huaweicloud.sdk.core.auth.BasicCredentials类中。获取到的委托的临时认证封装到com.huaweicloud.sdk.core.auth.ICredentialPro - [Spark Jar 使用DEW获取访问凭证读写OBS](https://support.huaweicloud.com/usermanual-dli/dli_09_0215.md): 临时安全凭证是具备临时访问权限的身份凭证,包括临时AK/SK和SecurityToken,临时AK/SK和SecurityToken必须同时使用。了解临时安全凭证。DLI将Spark Jar作业的输出数据写入到OBS时,需要配置AKSK访问OBS,为了确保AKSK数据安全,您可以通过密码安全中心(Data Encryption Works - [跨源认证概述](https://support.huaweicloud.com/usermanual-dli/dli_01_0561.md): 在跨源分析场景中,如果在作业中直接配置认证信息会触发密码泄露的风险,因此推荐您使用“密码安全中心DEW”或“DLI提供的跨源认证方式”来存储数据源的认证信息。密码安全中心(Data Encryption Workshop, DEW)为您解决数据安全、密钥安全、密钥管理复杂等问题。推荐使用DEW来存储数据源的认证信息。Spark 3.3.1 - [创建CSS类型跨源认证](https://support.huaweicloud.com/usermanual-dli/dli_01_0427.md): 通过在DLI控制台创建的CSS类型的跨源认证,将CSS安全集群的认证信息存储到DLI,无需在SQL作业中配置账号密码,安全访问CSS安全集群。本节操作介绍在DLI控制台创建CSS安全集群的跨源认证的操作步骤。已创建CSS安全集群,且集群满足以下条件:CSS集群版本选择“6.5.4”或“6.5.4”以上版本。CSS集群已开启“安全模式”。C - [创建Kerberos跨源认证](https://support.huaweicloud.com/usermanual-dli/dli_01_0558.md): 通过在DLI控制台创建的Kerberos类型的跨源认证,将数据源的认证信息存储到DLI,无需在SQL作业中配置账号密码,安全访问数据源。MRS Kafka开启Kerberos认证,未开启SSL认证时,创建Kerberos类型的认证。建表时通过krb_auth_name关联跨源认证。MRS Kafka开启Kerberos认证,同时开启了SS - [创建Kafka_SSL类型跨源认证](https://support.huaweicloud.com/usermanual-dli/dli_01_0560.md): 通过在DLI控制台创建的Kafka_SSL类型的跨源认证,将Kafka的认证信息存储到DLI,无需在SQL作业中配置账号密码,安全访问Kafka实例。MRS Kafka开启Kerberos认证,未开启SSL认证时,创建Kerberos类型的认证。建表时通过krb_auth_name关联跨源认证。MRS Kafka开启Kerberos认证, - [创建Password类型跨源认证](https://support.huaweicloud.com/usermanual-dli/dli_01_0559.md): 通过在DLI控制台创建的Password类型的跨源认证,将DWS、RDS、DCS和DDS数据源的密码信息存储到DLI,无需在SQL作业中配置账号密码,安全访问DWS、RDS、DDS、DCS数据源。Password类型跨源认证支持连接的数据源如表1所示。创建跨源认证。登录DLI管理控制台。选择“跨源管理 > 跨源认证”。单击“创建”。填写认 - [跨源认证权限管理](https://support.huaweicloud.com/usermanual-dli/dli_01_0480.md): 通过跨源认证的用户授权,可设置分配不同的跨源认证,且不同用户的作业不影响跨源认证的使用。管理员用户和跨源认证的所有者拥有所有权限,不需要进行权限设置且其他用户无法修改其跨源认证权限。给新用户设置跨源认证权限时,该用户所在用户组具有Tenant Guest权限。关于Tenant Guest权限的介绍和开通方法,详细参见《权限策略》和《统一身 - [查看增强型跨源连接的基本信息](https://support.huaweicloud.com/usermanual-dli/dli_01_0623.md): 增强型跨源连接创建完成后您可以通过管理控制台查看和管理您的增强型跨源连接。本节操作介绍在管理控制台如何查看增强型跨源连接基本信息,包括增强型跨源连接的是否支持IPv6、主机信息等。登录DLI管理控制台。选择“跨源管理 > 增强型跨源”。进入增强型跨源连接列表页面,选择您需要查看的增强型跨源连接。在列表页面的右上方单击可以自定义显示列,并设 - [增强型跨源连接权限管理](https://support.huaweicloud.com/usermanual-dli/dli_01_0018.md): 增强型跨源支持项目级授权,授权后,项目内的用户具备该增强型跨源连接的操作权。可查看该增强型跨源连接、可将创建的弹性资源池与该增强型跨源连接绑定、可自定义路由等操作。以此实现增强型跨源连接的跨项目应用。本节操作介绍对增强型跨源连接授权或回收权限的操作步骤。如果被授权的项目属于相同区域(region)的不同用户,则需使用被授权项目所属的用户账 - [增强型跨源连接绑定弹性资源池](https://support.huaweicloud.com/usermanual-dli/dli_01_0009.md): 如果其他弹性资源池想要通过已创建的增强型跨源连接来连接数据源,可以在增强型跨源连接页面绑定弹性资源池。本节的操作指导介绍增强型跨源连接绑定弹性资源池的操作指导。增强型跨源仅支持包年包月队列和按需专属的弹性资源池/队列。绑定跨源的DLI队列网段和数据源网段不能重合。不支持绑定系统预置的default队列。登录DLI管理控制台。在左侧导航栏, - [增强型跨源连接与弹性资源池解绑](https://support.huaweicloud.com/usermanual-dli/dli_01_0555.md): 当弹性资源池不需要使用增强型跨源连接访问数据源时,可将增强型跨源连接与弹性资源池解绑。增强型跨源绑定弹性资源池所创建的对等连接状态为“已失败”时,不支持解绑该弹性资源池。登录DLI管理控制台。在左侧导航栏中,选择跨源管理 > 增强型跨源。解绑弹性资源池。方法一:选择待删除的增强型跨源连接,单击操作列的“更多 >解绑弹性资源池”。在解绑弹性 - [添加增强型跨源连接的路由信息](https://support.huaweicloud.com/usermanual-dli/dli_01_0014.md): 增强型跨源连接是通过在DLI弹性资源池和数据源之间建立对等连接来打通两个VPC网络。如果我们把对等连接比喻为弹性资源池和数据源之间的专属桥梁,那么路由就是指引桥梁方向的指示牌,用于告知网络流量的行动方向。路由规则即在路由中通过配置目的地址、下一跳类型、下一跳地址等信息,来决定网络流量的走向。路由分为系统路由和自定义路由。增强型跨源连接创建 - [删除增强型跨源连接的路由信息](https://support.huaweicloud.com/usermanual-dli/dli_01_0556.md): 本节操作指导用户删除不再使用的路由信息。当自定义路由表被关联至子网时,则无法删除。请先通过更换子网关联的路由表将子网关联到其他的路由表,然后尝试删除。登录DLI管理控制台。在左侧导航栏中,选择跨源管理 > 增强型跨源。选择待添加路由的增强型跨源连接,并删除路由。方法一:选择待删除的增强型跨源连接,单击操作列的“路由信息”。选择待删除的路由 - [修改弹性资源池的主机信息](https://support.huaweicloud.com/usermanual-dli/dli_01_0013.md): 主机信息用于配置主机的IP与域名的映射关系,在作业配置时只需使用配置的域名即可访问对应的主机。在跨源连接创建完成后,支持修改主机信息。常见的访问MRS的HBase集群时需要配置实例的主机名(即域名)与主机对应的IP地址。已获取MRS主机信息。请参考怎样获取MRS主机信息?登录DLI管理控制台。在左侧导航栏中,选择跨源管理 > 增强型跨源。 - [增强型跨源连接标签管理](https://support.huaweicloud.com/usermanual-dli/dli_01_0019.md): 标签是用户自定义的、用于标识云资源的键值对,它可以帮助用户对云资源进行分类和搜索。标签由标签“键”和标签“值”组成。如果用户在其他云服务中使用了标签,建议用户为同一个业务所使用的云资源创建相同的标签键值对以保持一致性。如您的组织已经设定DLI的相关标签策略,则需按照标签策略规则为资源添加标签。标签如果不符合标签策略的规则,则可能会导致资源 - [删除增强型跨源连接](https://support.huaweicloud.com/usermanual-dli/dli_01_0553.md): 本节操作介绍在控制台删除不再使用的增强型跨源连接的操作步骤。登录DLI管理控制台。在左侧导航栏中,选择跨源管理 > 增强型跨源。选择待删除的增强型跨源连接,单击操作列的“删除”。单击“是”,删除增强型跨源连接。 - [典型场景示例:配置DLI与内网数据源的网络连通](https://support.huaweicloud.com/usermanual-dli/dli_01_0460.md): DLI 在访问内网数据源(如 MRS、RDS、CSS、Kafka、DWS 等)时,需通过增强型跨源连接与目的服务的VPC建立对等连接,实现网络互通。本节操作介绍使用增强型跨源连接配置DLI与内网数据源的网络连通的操作指导。获取数据源信息:记录数据源的内网IP与端口等网络信息,为后续配置连通性做准备。获取弹性资源池网段:记录DLI弹性资源池 - [典型场景示例:配置DLI与公网网络连通](https://support.huaweicloud.com/usermanual-dli/dli_01_0459.md): 公网数据源指的是可以通过互联网访问的数据源。这些数据源资源有一个公网IP地址,配置DLI与公网网络连通可以实现对这些数据源的访问。本节提供了详细的操作指导,介绍如何通过设置SNAT规则和配置路由信息,实现DLI服务与公网的网络连接。登录虚拟私有云控制台,创建虚拟私有云。创建的VPC供NAT访问公网使用。创建VPC的具体操作请参考创建虚拟私 - [DLI委托概述](https://support.huaweicloud.com/usermanual-dli/dli_01_0419.md): 各云服务之间存在业务交互关系,一些云服务需要与其他云服务协同工作,需要您创建云服务委托,将操作权限委托给DLI服务,让DLI服务以您的身份使用其他云服务,代替您进行一些资源运维工作。例如:在DLI新建Flink作业所需的AKSK存储在DEW中,如需允许DLI在执行作业时访问DEW数据,需要提供IAM委托将DEW数据操作权限委托给DLI,允 - [创建DLI自定义委托权限](https://support.huaweicloud.com/usermanual-dli/dli_01_0616.md): 使用Flink 1.15和Spark 3.3及以上版本的引擎执行作业时,当您所需的委托没有包含在DLI系统委托dli_management_agency时,您需要在IAM页面创建相关委托,并在作业配置中添加新建的委托信息。dli_management_agency包含跨源操作、消息通知、用户授权操作所需的权限,除此之外的其他委托权限需求, - [常见场景的委托权限策略](https://support.huaweicloud.com/usermanual-dli/dli_01_0617.md): 本节操作提供了DLI常见场景的委托权限策略,用于用户自定义权限时配置委托的权限策略。委托策略中的“Resource”根据需要具体情况进行替换。适用场景:数据清理委托,表生命周期清理数据及lakehouse表数据清理使用。该委托需新建后自定义权限,但委托名称固定为dli_data_clean_agency。请在设置委托的授权范围时分别对OB - [典型场景DLI委托权限配置示例](https://support.huaweicloud.com/usermanual-dli/dli_01_0619.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [创建并提交SQL作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0320.md): DLI提供SQL作业编辑器,用于使用SQL语句执行数据查询操作。DLI的SQL编辑器支持SQL2003,兼容SparkSQL,可以批量执行SQL语句。且作业编辑窗口常用语法采用不同颜色突出显示。支持单行注释和多行注释(以“--”开头,后续内容即为注释。),更多语法描述请参见《数据湖探索SQL语法参考》。本节内容介绍使用DLI的SQL编辑器 - [典型场景示例:使用Spark SQL作业分析OBS数据](https://support.huaweicloud.com/usermanual-dli/dli_01_0682.md): DLI支持将数据存储到OBS上,后续再通过创建OBS表即可对OBS上的数据进行分析和处理。本指导中的操作内容包括:创建OBS表、导入OBS表数据、插入和查询OBS表数据等内容来帮助您更好的在DLI上对OBS表数据进行处理。已创建OBS的桶。具体OBS操作可以参考《对象存储服务用户指南》。本指导中的OBS桶名都为“dli-test-021” - [导出SQL作业结果](https://support.huaweicloud.com/usermanual-dli/dli_01_0621.md): 导出作业结果是将SQL作业分析后的数据结果按指定格式存储到指定位置。DLI默认将SQL作业结果存储在DLI作业桶中。同时也支持下载作业结果到本地或导出作业结果到指定的OBS桶。DLI在指定了一个默认的OBS桶作为作业结果的存储位置,请在DLI管理控制台的“全局配置 > 工程配置”中配置桶信息。当作业完成后,系统会自动将结果存储到这个默认桶 - [配置SQL防御规则](https://support.huaweicloud.com/usermanual-dli/dli_01_0612.md): 大数据领域的SQL引擎层出不穷,在带给解决方案多样性的同时,也暴露出一定的问题,例如SQL输入语句质量良莠不齐、SQL问题难定位、大SQL语句消耗资源过多等。低质量的SQL会对数据分析平台系统带来不可预料的冲击,影响系统的性能或者平台稳定性。DLI在Spark SQL引擎中增加SQL防御能力,基于用户可理解的SQL防御策略,实现对典型大S - [设置SQL作业优先级](https://support.huaweicloud.com/usermanual-dli/dli_01_0535.md): 在实际作业运行中,由于作业的重要程度以及紧急程度不同,需要重点保障重要和紧急的作业正常运行,因此需要满足它们正常运行所需的计算资源。DLI提供的设置作业优先级功能,可以对每个SQL设置作业优先级,当资源不充足时,可以优先满足优先级较高的作业的计算资源。运行在基础版弹性资源池队列上的作业不支持设置作业优先级。对于每个作业都允许设置优先级,其 - [查询SQL作业日志](https://support.huaweicloud.com/usermanual-dli/dli_01_0637.md): DLI作业桶用于存储DLI作业运行过程中产生的临时数据,例如:作业日志、作业结果。本节操作指导您在DLI管理控制台配置DLI作业桶,并获取SQL作业日志的操作方法。请勿将该DLI作业桶绑定的OBS桶用作其它用途,避免出现作业结果混乱等问题。DLI作业要由用户主账户统一设置及修改,子用户无权限。不配置DLI作业桶无法查看作业日志。您可以通过 - [管理SQL作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0017.md): DLI SQL作业管理页面显示所有SQL作业,作业数量较多时,系统分页显示,可根据需要跳转至指定页面。您可以查看任何状态下的作业。作业列表默认按创建时间降序排列。在SQL作业页面,选中一条作业,单击该作业对应的,可查看该条作业的详细信息。不同类型的作业,显示的作业详情不同。作业详情根据作业类型、状态和配置选项不同显示可能存在差异,具体以实 - [查看SQL执行计划](https://support.huaweicloud.com/usermanual-dli/dli_01_0638.md): SQL执行计划是数据库查询的逻辑流程图,它展示了数据库管理系统如何执行一个特定的SQL查询。执行计划详细列出了执行查询所需的各个步骤,例如表扫描、索引查找、连接操作(如内连接、外连接)、排序和聚合等。执行计划可以帮助分析查询的性能,识别可能的性能瓶颈,通过了解查询的执行逻辑,并根据这些信息调整查询或数据库结构,以提高SQL查询效率。本节操 - [创建SQL作业模板](https://support.huaweicloud.com/usermanual-dli/dli_01_0021.md): 为了便捷快速的执行SQL操作,DLI支持定制模板或将正在使用的SQL语句保存为模板。保存模板后,不需编写SQL语句,可通过模板直接执行SQL操作。SQL模板包括样例模板和自定义模板。当前系统默认的样例模板包括22条标准的TPC-H查询语句,可以满足用户大部分的TPC-H需求场景测试,TPC-H样例说明请参考DLI预置的SQL模板中TPC- - [使用SQL作业模板开发并提交SQL作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0639.md): 为了便捷快速地执行SQL操作,DLI支持定制模板或将正在使用的SQL语句保存为模板。保存模板后,不需编写SQL语句,可通过模板直接执行SQL操作。当前系统提供了多条标准的TPC-H查询语句模板,您可以按需选择自定义模板或系统模板创建SQL作业。本样例演示通过一个TPC-H样例模板开发并提交SQL作业的基本流程:登录DLI管理控制台。在DL - [DLI预置的SQL模板中TPC-H样例数据说明](https://support.huaweicloud.com/usermanual-dli/dli_01_05111.md): 当您首次登录DLI管理控制台时,系统会自动为您创建名为"tpch"的测试数据库,并生成TPC-H标准测试数据集。这些测试表可用于熟悉DLI的基本操作和SQL语法,您可以在预置的SQL模板中选择tpch的标准语句进行测试。TPC-H(商业智能计算测试) 是交易处理效能委员会(TPC,Transaction Processing Perfor - [在DataArts Studio开发DLI SQL作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0673.md): 华为云数据治理中心DataArts Studio提供了一站式数据治理平台,可以实现与DLI服务的对接,从而提供统一的数据集成、数据开发服务,方便企业对全部数据进行管控。本节操作介绍在DataArts Studio开发DLI SQL作业的操作步骤。环境准备:准备执行作业所需的DLI资源和DataArts Studio资源。请参考环境准备。创 - [下载并安装JDBC驱动包](https://support.huaweicloud.com/usermanual-dli/dli_01_0676.md): JDBC用于连接DLI服务,您可以在Maven获取JDBC安装包,或在DLI管理控制台下载JDBC驱动文件。本文介绍通过JDBC连接DLI并提交SQL作业。连接DLI服务的地址格式为:jdbc:dli:///。因此您需要获取对应的Endpoint和项目编号。在地区和终端节点获取DLI对应的Endp - [使用JDBC连接DLI并提交SQL作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0677.md): 在Linux或Windows环境下您可以使用JDBC应用程序连接DLI服务端提交作业。使用JDBC连接DLI提交的作业仅支持运行在Spark引擎上。使用JDBC 2.X版本时,对于2024年5月之前开通并使用DLI服务的用户,查询结果最多只能返回1000条。如需查看更多的作业结果,推荐开启队列的“查询结果写入桶”功能,从作业桶中查询超过1 - [DLI JDBC Driver支持的API列表](https://support.huaweicloud.com/usermanual-dli/dli_01_0679.md): DLI JDBC Driver支持JDBC标准的众多API,也有部分API不支持用户调用,例如涉及事务调用的APIprepareCall,调用这类API将抛出SQLFeatureNotSupportedException异常。API详情请参考JDBC官网https://docs.oracle.com/javase/8/docs/api/j - [Flink作业概述](https://support.huaweicloud.com/usermanual-dli/dli_01_0403.md): DLI支持的两种类型的Flink作业:Flink OpenSource SQL类型作业:完全兼容社区版的Flink,确保了作业可以在这些Flink版本上无缝运行。在社区版Flink的基础上,DLI扩展了Connector的支持,新增了Redis、DWS作为数据源类型。为用户提供了更多的数据源选择,使得数据集成更加灵活和方便。Flink O - [创建Flink OpenSource SQL作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0498.md): 本章节介绍如何新建Flink OpenSource SQL作业。DLI Flink OpenSource SQL类型作业完全兼容社区Flink版本,并在社区connector基础之上,新增了Redis、DWS(GaussDB)数据源类型。社区Flink SQL DDL/DML/函数等语法说明及限制可参考Table API & SQL。Fl - [创建Flink Jar作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0457.md): Flink Jar作业是基于Flink能力进行二次开发的场景,即构建自定义应用Jar包并提交到DLI的队列运行。Flink Jar作业场景需要用户自行编写并构建应用Jar包,适用于对流计算处理复杂度要求较高的用户场景,且用户可以熟练掌握Flink二次开发能力。本节操作介绍在DLI管理控制台创建Flink Jar作业的操作步骤。创建Flin - [配置Flink作业权限](https://support.huaweicloud.com/usermanual-dli/dli_01_0479.md): 针对不同用户,可以通过权限设置分配不同的作业,不同用户之间的作业效率互不影响,保障作业性能。管理员用户和作业的所有者拥有所有权限,不需要进行权限设置且其他用户无法修改其作业权限。给新用户设置作业权限时,该用户所在用户组的所属区域需具有Tenant Guest权限。关于Tenant Guest权限的介绍和开通方法,详细参见《权限策略》和《统 - [查看Flink作业详情](https://support.huaweicloud.com/usermanual-dli/dli_01_0462.md): 创建作业后,您可以在DLI管理控制台查看Flink作业的基本信息、作业详情、任务列表、执行计划等信息。本节操作介绍怎样查看Flink作业相关信息。单击“作业管理 > Flink作业”,进入Flink作业管理页面。Flink作业管理页面显示所有的Flink作业,通过Flink作业列表可以了解Flink作业的基本信息。在DLI的列表页面提供了 - [设置Flink作业优先级](https://support.huaweicloud.com/usermanual-dli/dli_01_0650.md): 在实际作业运行中,由于作业的重要程度以及紧急程度不同,需要重点保障重要和紧急的作业正常运行,因此需要满足它们正常运行所需的计算资源。DLI提供的设置作业优先级功能,可以对每个Flink作业设置作业优先级,当资源不充足时,可以优先满足优先级较高的作业的计算资源。Flink 1.12及以上版本的作业支持设置作业优先级。运行在基础版弹性资源池队 - [开启Flink作业动态扩缩容](https://support.huaweicloud.com/usermanual-dli/dli_01_0534.md): 在实际作业运行中,由于作业的数据流量变化,导致所需计算资源不同,造成流量较小时计算资源浪费,流量较大时计算资源不足以满足计算所需。DLI提供的动态扩缩容功能可以根据当前作业的负载情况,例如:数据输入输出量、数据输入输出速率、反压等情况,动态的调整当前作业所用的计算资源,提升资源利用率。开启Flink作业动态扩缩容后,系统将根据Flink作 - [查询Flink作业日志](https://support.huaweicloud.com/usermanual-dli/dli_01_0651.md): DLI作业桶用于存储DLI作业运行过程中产生的临时数据,例如:作业日志、作业结果。本节操作指导您在DLI管理控制台配置DLI作业桶,并查看Flink作业日志的操作方法。请勿将该DLI作业桶绑定的OBS桶用作其它用途,避免出现作业结果混乱等问题。DLI作业要由用户主账户统一设置及修改,子用户无权限。不配置DLI作业桶无法查看作业日志。您可以 - [Flink作业常用操作](https://support.huaweicloud.com/usermanual-dli/dli_01_0461.md): 用户创建了新作业后,需要根据用户的实际需求对作业进行操作,包括编辑作业基本信息,启停作业、导入/导出作业等。用户可以对已经创建的作业进行编辑,如修改SQL语句、作业名称和描述、作业配置信息等。具体请参考创建Flink OpenSource SQL作业,创建Flink Jar作业。用户可以启动已创建保存的作业或已经停止的作业。启动单个作业选 - [管理Flink作业模板](https://support.huaweicloud.com/usermanual-dli/dli_01_0464.md): Flink模板包括样例模板和自定义模板。用户可以在已有的样例模板中进行修改,来实现实际的作业逻辑需求,节约编辑SQL语句的时间。也可以根据自己的习惯和方法自定义作业模板,方便后续可以直接调用或修改。Flink模板管理主要包括如下功能:Flink SQL样例模板Flink OpenSource SQL样例模板自定义模板新建模板基于模板新建作 - [添加Flink作业标签](https://support.huaweicloud.com/usermanual-dli/dli_01_0463.md): 标签是用户自定义的、用于标识云资源的键值对,它可以帮助用户对云资源进行分类和搜索。标签由标签“键”和标签“值”组成。DLI支持对Flink作业添加标签。如果想对Flink作业添加如项目名称、业务类别、背景信息等相关信息的标识,用户可以通过添加标签来实现。如果用户在其他云服务中使用了标签,建议用户为同一个业务所使用的云资源创建相同的标签键值 - [创建Spark作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0384.md): DLI Spark作业为用户提供全托管式的Spark计算服务。在总览页面,单击Spark作业右上角的“创建作业”,或在Spark作业管理页面,单击右上角的“创建作业”,均可进入Spark作业编辑页面。进入Spark作业编辑页面,页面会提示系统将创建DLI临时数据桶。该桶用于存储使用DLI服务产生的临时数据,例如:作业日志、作业结果等。如果 - [典型场景示例:使用Spark Jar作业读取和查询OBS数据](https://support.huaweicloud.com/usermanual-dli/dli_01_0683.md): DLI完全兼容开源的Apache Spark,支持用户开发应用程序代码来进行作业数据的导入、查询以及分析处理。本示例从编写Spark程序代码读取和查询OBS数据、编译打包到提交Spark Jar作业等完整的操作步骤说明来帮助您在DLI上进行作业开发。在进行Spark Jar作业开发前,请准备以下开发环境。DLI进行Spark Jar作业开 - [设置Spark作业优先级](https://support.huaweicloud.com/usermanual-dli/dli_01_0652.md): 在实际作业运行中,由于作业的重要程度以及紧急程度不同,需要重点保障重要和紧急的作业正常运行,因此需要满足它们正常运行所需的计算资源。DLI提供的设置作业优先级功能,可以对每个Spark作业设置作业优先级,当资源不充足时,可以优先满足优先级较高的作业的计算资源。Spark 2.4.5及以上版本的作业支持设置作业优先级。运行在基础版弹性资源池 - [查询Spark作业日志](https://support.huaweicloud.com/usermanual-dli/dli_01_0379.md): DLI作业桶用于存储DLI作业运行过程中产生的临时数据,例如:作业日志、作业结果。本节操作指导您在DLI管理控制台配置DLI作业桶,并获取Spark作业日志的操作方法。请勿将该DLI作业桶绑定的OBS桶用作其它用途,避免出现作业结果混乱等问题。DLI作业要由用户主账户统一设置及修改,子用户无权限。不配置DLI作业桶无法查看作业日志。您可以 - [管理Spark作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0385.md): 在总览页面单击“Spark作业”简介,或在左侧导航栏单击“作业管理 > Spark作业”,可进入Spark作业管理页面。Spark作业管理页面显示所有的Spark作业,作业数量较多时,系统分页显示,您可以查看任何状态下的作业。在Spark作业页面,单击对应作业“操作”列中的编辑,跳转至“Spark作业编辑”页面,可根据需要修改参数,执行作 - [管理Spark作业模板](https://support.huaweicloud.com/usermanual-dli/dli_01_0551.md): 在创建Spark作业时,您可以在已有的Spark样例模板中进行修改,来实现实际的作业逻辑需求,节约编辑SQL语句的时间。当前云平台尚未提供预置的Spark模板,但支持用户自定义Spark作业模板,本节操作介绍在Spark管理页面创建Spark模板的操作方法。Spark作业模板的创建方法是在创建Spark作业时,可直接将配置完成的作业信息设 - [在DataArts Studio开发DLI Spark作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0680.md): 华为云数据治理中心DataArts Studio提供了一站式数据治理平台,可以实现与DLI服务的对接,从而提供统一的数据集成、数据开发服务,方便企业对全部数据进行管控。本节操作介绍在DataArts Studio的数据开发模块开发DLI Spark作业的操作步骤。获取Spark作业的演示JAR包,并在DataArts Studio控制台的 - [使用Livy提交Spark Jar作业](https://support.huaweicloud.com/usermanual-dli/dli_01_0681.md): DLI Livy是基于开源的Apache Livy用于提交Spark作业到DLI的客户端工具。创建弹性资源池并添加队列。添加队列时选择“通用队列”,即用于执行Spark作业的计算资源。具体请参考创建队列。准备一个linux弹性云服务器ECS,用于安装DLI Livy。ECS需要放通30000至32767端口、8998端口。具体操作请参考添 - [使用CES监控DLI服务](https://support.huaweicloud.com/usermanual-dli/dli_01_0445.md): 本章节定义了数据湖探索服务上报云监控的监控指标的命名空间,监控指标列表和维度定义,用户可以通过云监控服务提供的管理控制台或API接口来检索数据湖探索服务产生的监控指标和告警信息。SYS.DLI在管理控制台搜索“云监控服务”。进入云监控服务的控制台后,在左侧列表中,单击“数据湖探索”。选择队列进行查看相关监控信息。 - [配置DLI对接AOM Prometheus监控](https://support.huaweicloud.com/usermanual-dli/dli_01_0665.md): AOM服务提供的Prometheus监控是一种全面对接开源Prometheus生态的监控解决方案。它支持多种类型的组件监控,提供预置监控大盘和全面托管的Prometheus服务,通过Prometheus监控来统一采集、存储和显示监控对象的数据,适用于时间序列数据库的收集和处理,尤其适用于监控Flink作业场景。本节操作介绍配置DLI对接A - [DLI对接AOM Prometheus监控的配置项](https://support.huaweicloud.com/usermanual-dli/dli_01_0666.md): 在配置DLI对接AOM Prometheus监控时,系统会自动完成DLI对接AOM Prometheus监控的配置项中的参数配置。如果这些默认配置不满足您的需求,您可以在Flink作业的“自定义配置”中手动配置以下参数,且优先以您的配置为准。 - [DLI支持的Prometheus基础监控指标](https://support.huaweicloud.com/usermanual-dli/dli_01_0667.md): 表1提供了DLI支持的Prometheus基础监控指标,AOM Prometheus支持免费存储基础指标。除基础指标外,AOM Prometheus提供的自定义指标按计费规则付费使用。 - [使用CTS审计DLI服务](https://support.huaweicloud.com/usermanual-dli/dli_01_0318.md): 通过云审计服务,您可以记录与DLI服务相关的操作事件,便于日后的查询、审计和回溯。关于如何开通云审计服务以及如何查看追踪事件,请参考《云审计服务快速入门》中的相关章节。关于云审计服务事件结构的关键字段详解,请参见《云审计服务用户指南》中的事件结构和事件样例。 - [DLI权限体系概述](https://support.huaweicloud.com/usermanual-dli/dli_01_0440.md): DLI服务有两套权限体系,两种权限控制机制共同使用,权限相互叠加,且权限机制可以互补,共同提供更全面的权限控制。DLI服务的权限管理侧重于对DLI服务内部资源和操作的精细管理,而IAM权限管理则侧重于从身份认证和全局权限策略的角度进行控制。通过两者的结合,可以实现从用户身份到具体资源操作的全方位权限管理。例如对用户组A中的用户A赋予删除数 - [DLI权限管理概述](https://support.huaweicloud.com/usermanual-dli/dli_01_0690.md): DLI服务本身的权限管理功能主要适用于DLI内部资源的权限控制,而非依赖于IAM的统一身份认证管理。DLI服务是区域项目级服务,所以DLI的授权是基于区域项目级的。DLI根据权限对象的不同,授权的类型可以分为用户授权、跨项目授权与跨租户项目授权三类。用户授权:基于同账号内IAM用户的管理,实现用户权限精准分配。跨项目授权:同一个账号、同一 - [DLI权限列表](https://support.huaweicloud.com/usermanual-dli/dli_01_0691.md): DLI管理控制台授权操作请参考弹性资源池权限管理。通过API授权请参考数据赋权API。DLI管理控制台授权操作请参考队列权限管理通过API授权请参考数据赋权API。DLI管理控制台授权操作请参考在DLI控制台配置数据目录权限。通过API授权请参考数据赋权API。DLI管理控制台授权操作请参考在DLI控制台配置数据库权限。通过API授权请参 - [DLI授权操作指引](https://support.huaweicloud.com/usermanual-dli/dli_01_0692.md): 本节操作介绍使用DLI控制台提供的资源授权的操作方法。 - [IAM权限管理概述](https://support.huaweicloud.com/usermanual-dli/dli_01_0417.md): 统一身份认证服务(Identity and Access Management,简称IAM)提供权限管理的基础服务,提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全地控制云上资源的访问,并进行精细的权限管理。IAM可以授权不同企业用户对云服务资源的访问范围。例如您的员工中有负责数据分析的人员,您希望他们拥有DLI计算的使用权限, - [IAM授权的主体](https://support.huaweicloud.com/usermanual-dli/dli_01_0693.md): 在IAM(Identity and Access Management)体系中,授权主体主要分为用户和用户组。通过与企业项目(Enterprise Project)结合,可以实现对资源的分组隔离和精细化权限控制。企业项目是提供的一种资源分组管理功能,用于将资源划分为不同的逻辑单元,实现资源的分组隔离和权限控制。在使用IAM授权时通过将IA - [IAM权限列表](https://support.huaweicloud.com/usermanual-dli/dli_01_0441.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [通过IAM角色或策略授予使用DLI的权限](https://support.huaweicloud.com/usermanual-dli/dli_01_0451.md): 如果您需要对您所拥有的DLI进行角色与策略的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),通过IAM,您可以:根据企业的业务组织,在您的账号中,给企业中不同职能部门的员工创建IAM用户,让员工拥有唯一安全凭证,并使用DLI资源。根据企业用户的职能,设置不同的访问权限,以达 - [通过IAM身份策略授予使用DLI的权限](https://support.huaweicloud.com/usermanual-dli/dli_01_0694.md): 如果您需要对您所拥有的DLI进行身份策略的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),通过IAM,您可以:根据企业的业务组织,在您的账号中,给企业中不同职能部门的员工创建用户或用户组,让员工拥有唯一安全凭证,并使用DLI资源。根据企业用户的职能,设置不同的访问权限,以达 - [典型场景应用示例:创建用户组并授权使用DLI弹性资源池和数据库资源](https://support.huaweicloud.com/usermanual-dli/dli_01_0695.md): 某电商企业在区域A开展数据分析业务,市场部的员工user1、user2与技术部的员工user3、user4,需要使用DLI弹性资源池和数据库资源完成不同工作。将市场部人员加入用户组G1,将技术部人员加入用户组G2。将用户加入用户组将计算资源E1和数据库DB1关联企业项目A,主要存储销售数据、用户行为数据。将计算资源E2 和数据库DB2关联 - [典型场景应用示例:授予IAM用户向云服务传递委托的权限](https://support.huaweicloud.com/usermanual-dli/dli_01_0699.md): 使用IAM身份策略授权的场景,如果该委托需要用于IAM用户提交作业使用,请确保通过IAM提供的“身份策略授权”授予IAM用户“iam:agencies:pass”策略,即授予向云服务传递委托的权限,否则IAM用户无法使用该委托提交作业。本节操作介绍授予IAM用户向云服务传递委托的权限的操作方法。角色与策略授权与身份策略授权的区分方法可以参 - [使用自定义镜像增强作业运行环境](https://support.huaweicloud.com/usermanual-dli/dli_01_0494.md): 通过下载DLI提供的基础镜像再按需制作自定义镜像,将作业运行需要的依赖(文件、jar包或者软件)、私有能力等内置到自定义镜像中,以此改变Spark作业和Flink作业的容器运行环境,增强作业的功能、性能。例如,在自定义镜像中加入机器学习相关的Python包或者C库,可以通过这种方式帮助用户实现功能扩展。用户使用自定义镜像功能需要具备Doc - [管理DLI全局变量](https://support.huaweicloud.com/usermanual-dli/dli_01_0476.md): DLI支持在管理控制台设置全局变量,将作业开发过程中频繁使用的变量设置为全局变量,可以避免在编辑作业过程中重复定义,减少开发与维护成本。通过使用全局变量可以替换长难复杂变量,简化复杂参数,提升SQL语句可读性。本节操作为您介绍如何创建全局变量。在DLI控制台左侧导航栏中单击“全局配置 > 全局变量”。在“全局变量”页面,单击右上角“创建变 - [程序包管理概述](https://support.huaweicloud.com/usermanual-dli/dli_01_0407.md): 在执行DLI作业前需要将UDF Jar包或Jar作业程序包上传到云平台进行统一的管理和维护。有以下两种方式管理程序包:(推荐使用)上传至OBS管理程序包:提前将对应的jar包上传至OBS桶中,在作业配置时选择对应的OBS路径。(DLI程序包功能即将停用)上传至DLI管理程序包:提前将对应的jar包上传至OBS桶中,并在DLI管理控制台的数 - [创建DLI程序包](https://support.huaweicloud.com/usermanual-dli/dli_01_0367.md): DLI支持用户通过批处理方式将程序包提交至通用队列中运行。如果用户需要更新程序包,可以使用相同的程序包或文件上传至DLI的同一个位置(同一个分组),直接覆盖原有的程序包或文件。所使用的程序包需提前上传至OBS服务中保存。在管理控制台左侧,单击数据管理>程序包管理。在程序包管理页面,单击右上角“创建”可创建程序包。在创建程序包对话框,参见表 - [配置DLI程序包权限](https://support.huaweicloud.com/usermanual-dli/dli_01_0477.md): 针对不同用户,可以通过权限设置分配不同的程序包组或程序包,不同用户之间的作业效率互不影响,保障作业性能。管理员用户、程序包组拥有程序包组的所有权限。不需要进行权限设置,且其他用户无法修改其程序包组权限。管理员用户、程序包的所有者拥有程序包的所有权限。不需要进行权限设置,且其他用户无法修改其程序包权限。程序包组作为一个单元,用于管理行为一致 - [修改DLI程序包所有者](https://support.huaweicloud.com/usermanual-dli/dli_01_0478.md): DLI提供了修改程序包组或程序包的所有者的功能。登录DLI管理控制台,选择“数据管理 > 程序包管理”。在程序包管理页面,单击程序包“操作 ”列中的更多 > 修改所有者。如果该程序包进行过分组设置,选择“组”或者“程序包”进行修改。修改程序包所有者如果该程序包没有进行过分组设置,则可以参考下图,直接修改该程序包的所有者。程序包管理-修改程 - [DLI程序包标签管理](https://support.huaweicloud.com/usermanual-dli/dli_01_0369.md): 标签是用户自定义的、用于标识云资源的键值对,它可以帮助用户对云资源进行分类和搜索。标签由标签“键”和标签“值”组成。DLI支持对程序包组或程序包添加标签。在DLI管理控制台单击“数据管理 > 程序包管理”。选择程序包,单击操作列的“更多 > 标签”,显示当前程序包组或程序包的标签信息。单击添加/编辑标签,弹出添加/编辑标签对话框。在添加/ - [DLI内置依赖包](https://support.huaweicloud.com/usermanual-dli/dli_01_0397.md): DLI内置依赖包是平台默认提供的依赖包,用户打包Spark或Flink jar作业jar包时,不需要额外上传这些依赖包,以免与平台内置依赖包冲突。请在Flink作业的日志中获取Flink 1.15相关依赖包信息:查看Flink日志。登录DLI管理控制台,选择“作业管理 > Flink作业”。单击作业名称,选择“运行日志”。控制台只展示最新 - [管理DLI资源配额](https://support.huaweicloud.com/usermanual-dli/dli_01_0550.md): 为防止资源滥用,平台限定了各服务资源的配额,对用户的资源数量和容量做了限制。如果当前资源配额限制无法满足使用需要,您可以申请扩大配额。登录管理控制台。单击管理控制台左上角的,选择区域和项目。在页面右上角,选择“资源 > 我的配额”。系统进入“服务配额”页面。我的配额系统进入“服务配额”页面。您可以在“服务配额”页面,查看各项资源的总配额及 ## 最佳实践 - [最佳实践内容概览](https://support.huaweicloud.com/bestpractice-dli/dli_05_0043.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [DLI安全最佳实践](https://support.huaweicloud.com/bestpractice-dli/dli_05_0063.md): 数据湖探索(Data Lake Insight,简称DLI)是完全兼容Apache Spark、Apache Flink生态,提供一站式的流处理、批处理、交互式分析的Serverless融合处理分析服务。用户不需要管理任何服务器,即开即用。本文提供了DLI使用过程中的安全最佳实践,旨在为提高整体安全能力提供可操作的规范性指导。根据该指导文 - [使用DLI分析车联网场景驾驶行为数据](https://support.huaweicloud.com/bestpractice-dli/dli_05_0001.md): 在车联网领域,云计算与大数据为企业提供了强大的分析挖掘能力,可以帮助企业和车队管理者更加科学、便捷地进行车辆数据管理与分析。根据已有的某货运公司车辆定时上报的详单数据和货运订单数据,DLI可以完成对该货运公司车辆行驶特点分析、记录明细的查询。详细的数据说明请参考数据说明。使用DLI进行驾驶行为数据分析的操作过程主要包括以下步骤:步骤1:上 - [使用DLI将CSV数据转换为Parquet数据](https://support.huaweicloud.com/bestpractice-dli/dli_05_0014.md): Parquet是面向分析型业务的列式存储格式,这种格式可以加快查询速度,查询Parquet格式数据时,只检查所需要的列并对它们的值执行计算,也就是说,只读取一个数据文件或表的一小部分数据。Parquet还支持灵活的压缩选项,因此可以显著减少磁盘上的存储。使用DLI可轻松将CSV格式数据转换为Parquet格式数据。将CSV格式的数据上传到 - [使用DLI分析电商BI报表](https://support.huaweicloud.com/bestpractice-dli/dli_05_0017.md): 某电商商城在保持高速发展的同时,沉淀了数亿的忠实用户,积累了海量的真实数据。如何利用BI工具从历史数据中找出商机,是大数据应用在精准营销中的关键问题,也是所有电商平台在做智能化升级时所需要的核心技术。本案例以某商城真实的用户、商品、评论数据(脱敏后)为基础,利用数据湖探索来分析用户和商品的各种数据特征,可为营销决策、广告推荐、信用评级、品 - [使用DLI分析账单消费数据](https://support.huaweicloud.com/bestpractice-dli/dli_05_0005.md): 本文主要介绍如何使用华为云DLI上的实际消费数据(文中涉及账户的信息已脱敏),在DLI的大数据分析平台上进行分析,找出费用优化的空间,并给出使用DLI过程中降低成本的一些优化措施。使用DLI进行账单分析与优化的操作过程主要包括以下步骤:步骤1:获取消费数据。获取账户的实际消费数据。步骤2:分析账户消费结构并优化。在DLI上分析账户消费结构 - [使用DLI分析电商实时业务数据](https://support.huaweicloud.com/bestpractice-dli/dli_05_0006.md): 当前线上购物无疑是最火热的购物方式,而电商平台则又可以以多种方式接入,例如通过web方式访问、通过app的方式访问、通过微信小程序的方式访问等等。而电商平台则需要每天统计各平台的实时访问数据量、订单数、访问人数等等指标,从而能在显示大屏上实时展示相关数据,方便及时了解数据变化,有针对性地调整营销策略。而如何高效快捷地统计这些指标呢?假设平 - [BI工具连接DLI方案概述](https://support.huaweicloud.com/bestpractice-dli/dli_05_0071.md): BI工具是数据分析的强大助手,提供数据可视化、报表生成和仪表板创建等功能。DLI服务通过对数据的融合分析处理,可以为BI工具提供标准的、有效的高质量数据,供给后续的数据统计分析使用。通过连接到DLI,BI工具可以更加灵活的使用DLI访问和分析数据,帮助企业快速做出基于数据的决策。DLI为BI工具提供了便捷的连接方法:DBeaver、DBT - [配置DBeaver连接DLI进行数据查询和分析](https://support.huaweicloud.com/bestpractice-dli/dli_05_0072.md): DBeaver 是一个免费且开源的数据库管理工具,支持多种数据库,通过DBeaver这款可视化数据库管理工具可以查看数据库结构、执行SQL查询和脚本、浏览和导出数据等。本节操作介绍DBeaver连接DLI服务的操作步骤。工具包DLI的JDBC驱动:单击dli-jdbc-x.x.x.jar获取JDBC驱动,驱动名称:huaweicloud- - [配置DBT连接DLI进行数据调度和分析](https://support.huaweicloud.com/bestpractice-dli/dli_05_0073.md): DBT(Data Build Tool),是一款开源的数据建模和转换工具,运行在Python环境上。DBT连接DLI,用来定义和执行SQL转换,支持从数据集成、转换到分析的整个数据生命周期管理,适用于大规模数据分析项目和复杂的数据分析场景。本节操作介绍DBT连接DLI的操作步骤。环境要求确保您的系统环境满足以下要求。操作系统:Window - [配置Grafana连接DLI进行数据查询和分析](https://support.huaweicloud.com/bestpractice-dli/dli_05_0074.md): Grafana是一个开源的数据可视化,使用Grafana的丰富图表类型对DLI中存储的数据进行统一的展示和分析。本节操作介绍Grafana连接DLI的操作步骤。环境要求:确保您的系统环境满足以下要求。操作系统:Windows 或 Linux操作系统结构:WindowsAMD64, LinuxAMD64, LinuxARM64, Darwi - [配置YongHong BI连接DLI进行数据查询和分析](https://support.huaweicloud.com/bestpractice-dli/dli_05_0075.md): YongHong BI是一款企业级数据分析工具。支持数据可视化、报表制作、数据分析和决策支持的功能,帮助企业洞察业务数据,提升决策效率。本节操作介绍YongHong BI连接DLI的操作步骤。环境要求:已安装YongHong BI。已安装YongHong BI。DLI的JDBC驱动:单击dli-jdbc-x.x.x.jar获取JDBC驱动 - [配置Superset连接DLI进行数据查询和分析](https://support.huaweicloud.com/bestpractice-dli/dli_05_0078.md): Superset是一个开源的数据探索和可视化平台,支持对数据进行快速、直观的探索,同时支持创建丰富的数据可视化和交互式仪表板。通过将Superset与DLI对接,用户可以访问DLI进行数据查询和分析,简化了数据访问流程,提供了数据的统一管理和分析能力,使得用户能够更深入地洞察数据。本节操作介绍Superset连接DLI服务的操作步骤。获取 - [配置Power BI连接DLI进行数据查询和分析](https://support.huaweicloud.com/bestpractice-dli/dli_05_0076.md): Power BI提供了数据集成、数据仓库、报告和数据可视化等功能,能够将复杂的数据转换为易于理解和交互的可视化图表和仪表板,从而帮助企业做出基于数据的决策。将Power BI与DLI连接进行数据查询和分析,简化了数据访问流程,提供了数据的统一管理和分析能力,从而获得更深入的数据洞察。本节操作介绍PowerBI连接DLI,以访问和分析DLI - [配置Fine BI连接DLI进行数据查询和分析](https://support.huaweicloud.com/bestpractice-dli/dli_05_0077.md): Fine BI是一款智能可视化工具,专注于数据分析和可视化。它支持连接多种数据源,能够将复杂的数据转换为直观的图表和仪表板,快速获得数据洞察。本节操作介绍Fine BI连接DLI,以访问和分析DLI中的数据的操作步骤。环境要求:确保您的系统环境满足以下要求。操作系统:仅支持Windows 10, Windows 11版本x64位操作系统。 - [配置Tableau通过Kyuubi连接DLI进行数据查询和分析](https://support.huaweicloud.com/bestpractice-dli/dli_05_0079.md): Tableau是一款数据分析和可视化工具,支持通过拖放式界面连接到各种数据源,创建交互式和共享式的数据可视化,从而将数据转化为可操作的见解。Kyuubi是一个分布式 SQL 查询引擎,它提供了标准的SQL接口,使用户能够方便地访问和分析存储在大数据平台中的数据。通过将Tableau与Kyuubi对接,用户可以利用Kyuubi访问DLI进行 - [配置Beeline通过Kyuubi连接DLI进行数据查询和分析](https://support.huaweicloud.com/bestpractice-dli/dli_05_0080.md): Beeline是数据分析师和数据工程师的重要工具之一,适用于大规模数据处理的场景。Beeline提供了的SQL引擎,使得用户可以使用SQL的语言来执行数据查询、数据分析和管理任务。Kyuubi是一个分布式 SQL 查询引擎,它提供了标准的SQL接口,使用户能够方便地访问和分析存储在大数据平台中的数据。通过将Beeline与Kyuubi对接 - [配置DLI队列与内网数据源的网络连通](https://support.huaweicloud.com/bestpractice-dli/dli_05_0052.md): DLI执行作业时如需访问外部数据源数据,如:DLI连接MRS、RDS、CSS、Kafka、DWS时,需要打通DLI和外部数据源之间的网络。DLI增强型跨源连接,底层采用对等连接的方式打通与目的数据源的VPC网络,通过点对点的方式实现数据互通。创建增强型跨源连接网络不通的问题,可以根据本指导的整体流程和步骤进行排查验证。已创建DLI队列。创 - [配置DLI 队列与公网网络连通](https://support.huaweicloud.com/bestpractice-dli/dli_05_0061.md): 本节操作为您提供DLI队列在公网访问场景下网络打通的方法。通过配置SNAT规则,添加到公网的路由信息,可以实现队列到和公网的网络打通。登录虚拟私有云控制台,创建虚拟私有云。创建的VPC供NAT访问公网使用。创建VPC的具体操作请参考创建虚拟私有云。本例以按需计费的专属资源队列为例。队列的计费类型必须为:“包年/包月”,“按需计费”(按需计 ## 开发指南 - [下载并安装JDBC驱动包](https://support.huaweicloud.com/devg-dli/dli_09_0125.md): JDBC用于连接DLI服务,您可以在Maven获取JDBC安装包,或在DLI管理控制台下载JDBC驱动文件。本文介绍通过JDBC连接DLI并提交SQL作业。连接DLI服务的地址格式为:jdbc:dli:///。因此您需要获取对应的Endpoint和项目编号。在地区和终端节点获取DLI对应的Endp - [使用JDBC连接DLI并提交SQL作业](https://support.huaweicloud.com/devg-dli/dli_09_0127.md): 在Linux或Windows环境下您可以使用JDBC应用程序连接DLI服务端提交作业。使用JDBC连接DLI提交的作业仅支持运行在Spark引擎上。使用JDBC 2.X版本时,对于2024年5月之前开通并使用DLI服务的用户,查询结果最多只能返回1000条。如需查看更多的作业结果,推荐开启队列的“查询结果写入桶”功能,从作业桶中查询超过1 - [DLI JDBC Driver支持的API列表](https://support.huaweicloud.com/devg-dli/dli_09_0129.md): DLI JDBC Driver支持JDBC标准的众多API,也有部分API不支持用户调用,例如涉及事务调用的APIprepareCall,调用这类API将抛出SQLFeatureNotSupportedException异常。API详情请参考JDBC官网https://docs.oracle.com/javase/8/docs/api/j - [使用Livy提交Spark Jar作业](https://support.huaweicloud.com/devg-dli/dli_09_0201.md): DLI Livy是基于开源的Apache Livy用于提交Spark作业到DLI的客户端工具。创建弹性资源池并添加队列。添加队列时选择“通用队列”,即用于执行Spark作业的计算资源。具体请参考创建队列。准备一个linux弹性云服务器ECS,用于安装DLI Livy。ECS需要放通30000至32767端口、8998端口。具体操作请参考添 - [使用Spark SQL作业分析OBS数据](https://support.huaweicloud.com/devg-dli/dli_05_0044.md): DLI支持将数据存储到OBS上,后续再通过创建OBS表即可对OBS上的数据进行分析和处理。本指导中的操作内容包括:创建OBS表、导入OBS表数据、插入和查询OBS表数据等内容来帮助您更好的在DLI上对OBS表数据进行处理。已创建OBS的桶。具体OBS操作可以参考《对象存储服务用户指南》。本指导中的OBS桶名都为“dli-test-021” - [在DataArts Studio开发DLI SQL作业](https://support.huaweicloud.com/devg-dli/dli_05_0081.md): 华为云数据治理中心DataArts Studio提供了一站式数据治理平台,可以实现与DLI服务的对接,从而提供统一的数据集成、数据开发服务,方便企业对全部数据进行管控。本节操作介绍在DataArts Studio开发DLI SQL作业的操作步骤。环境准备:准备执行作业所需的DLI资源和DataArts Studio资源。请参考环境准备。创 - [在Spark SQL作业中使用UDF](https://support.huaweicloud.com/devg-dli/dli_09_0171.md): DLI支持用户使用Hive UDF(User Defined Function,用户定义函数)进行数据查询等操作,UDF只对单行数据产生作用,适用于一进一出的场景。在DLI Console上执行UDF相关操作时,需要使用自建的SQL队列。跨账号使用UDF时,除了创建UDF函数的用户,其他用户如果需要使用时,需要先进行授权才可使用对应的UD - [在Spark SQL作业中使用UDAF](https://support.huaweicloud.com/devg-dli/dli_05_0062.md): DLI支持用户使用Hive UDAF(User Defined Aggregation Function,用户定义聚合函数)可对多行数据产生作用,通常与groupBy联合使用;等同于SQL中常用的SUM(),AVG(),也是聚合函数。在DLI Console上执行UDAF相关操作时,需要使用自建的SQL队列。跨账号使用UDAF时,除了创建 - [在Spark SQL作业中使用UDTF](https://support.huaweicloud.com/devg-dli/dli_09_0204.md): DLI支持用户使用Hive UDTF(User-Defined Table-Generating Functions)自定义表值函数,UDTF用于解决一进多出业务场景,即其输入与输出是一对多的关系,读入一行数据,输出多个值。在DLI Console上执行UDTF相关操作时,需要使用自建的SQL队列。不同的IAM用户使用UDTF时,除了创建 - [流生态作业开发指引](https://support.huaweicloud.com/devg-dli/dli_09_0162.md): 流生态系统基于Flink和Spark双引擎,完全兼容Flink/Storm/Spark开源社区版本接口,并且在此基础上做了特性增强和性能提升,为用户提供易用、低时延、高吞吐的数据湖探索。数据湖探索的流生态开发包括云服务生态、开源生态和自拓展生态:云服务生态DLI服务在Stream SQL中支持与其他服务的连通。用户可以直接使用SQL从这些 - [从Kafka读取数据写入到RDS](https://support.huaweicloud.com/devg-dli/dli_09_0009.md): 本指导仅适用于Flink 1.12版本。该场景为根据商品的实时点击量,获取每小时内点击量最高的3个商品及其相关信息。商品的实时点击量数据为输入源发送到Kafka中,再将Kafka数据的分析结果输出到RDS中。例如,输入如下样例数据:预期输出:2021-03-24 08:00:00 - 2021-03-24 08:59:59,0002,na - [从Kafka读取数据写入到DWS](https://support.huaweicloud.com/devg-dli/dli_09_0010.md): 本指导仅适用于Flink 1.12版本。该场景为对汽车驾驶的实时数据信息进行分析,将满足特定条件的数据结果进行汇总。汽车驾驶的实时数据信息为数据源发送到Kafka中,再将Kafka数据的分析结果输出到DWS中。例如,输入如下样例数据:预期输出:average_speed <= 90 和 total_miles <= 200000的车辆,即 - [从Kafka读取数据写入到Elasticsearch](https://support.huaweicloud.com/devg-dli/dli_09_0011.md): 本指导仅适用于Flink 1.12版本。本示例场景对用户购买商品的数据信息进行分析,将满足特定条件的数据结果进行汇总输出。购买商品数据信息为数据源发送到Kafka中,再将Kafka数据的分析结果输出到Elasticsearch中。例如,输入如下样例数据:DLI从Kafka读取数据写入Elasticsearch,在Elasticsearch - [从MySQL CDC源表读取数据写入到DWS](https://support.huaweicloud.com/devg-dli/dli_09_0012.md): 本指导仅适用于Flink 1.12版本。CDC是变更数据捕获(Change Data Capture)技术的缩写,它可以将源数据库的增量变动记录,同步到一个或多个数据目的中。CDC在数据同步过程中,还可以对数据进行一定的处理,例如分组(GROUP BY)、多表的关联(JOIN)等。本示例通过创建MySQL CDC源表来监控MySQL的数据 - [从PostgreSQL CDC源表读取数据写入到DWS](https://support.huaweicloud.com/devg-dli/dli_09_0013.md): 本指导仅适用于Flink 1.12版本。CDC是变更数据捕获(Change Data Capture)技术的缩写,它可以将源数据库的增量变动记录,同步到一个或多个数据目的中。CDC在数据同步过程中,还可以对数据进行一定的处理,例如分组(GROUP BY)、多表的关联(JOIN)等。本示例通过创建PostgreSQL CDC源表来监控Pos - [Flink Jar作业开发基础样例](https://support.huaweicloud.com/devg-dli/dli_09_0150.md): 用户可以基于Flink的API进行二次开发,构建自己的应用Jar包,提交到DLI队列运行,实现与MRS Kafka、HBase、Hive、HDFS,DWS,DCS等数据源的交互。本章节以通过自定义作业与MRS进行交互为例进行说明。更多样例代码请通过DLI样例代码获取。登录MRS管理控制台,创建MRS集群,选择开启kerberos,勾选Ka - [使用Flink Jar写入数据到OBS开发指南](https://support.huaweicloud.com/devg-dli/dli_09_0191.md): DLI提供了使用自定义Jar运行Flink作业并将数据写入到OBS的能力。本章节JAVA样例代码演示将kafka数据处理后写入到OBS,具体参数配置请根据实际环境修改。已安装和配置IntelliJ IDEA等开发工具以及安装JDK和Maven。Maven工程的pom.xml文件配置请参考JAVA样例代码(Flink 1.12)中“pom文 - [使用Flink Jar连接开启SASL_SSL认证的Kafka](https://support.huaweicloud.com/devg-dli/dli_09_0206.md): 本节操作介绍使用Flink Jar连接开启SASL_SSL认证的Kafka的操作方法。如需使用Flink OpenSource SQL连接开启SASL_SSL认证的Kafka,请参考Flink SQL语法参考-Kafka源表。已在DLI控制台创建了弹性资源池并添加了通用类型的队列。具体操作请参考创建弹性资源池并添加队列。具体操作请参考创 - [使用Flink Jar读写DIS开发指南](https://support.huaweicloud.com/devg-dli/dli_09_0208.md): 本节操作介绍基于Flink 1.12版本的Flink Jar作业读写DIS数据的操作方法。Flink 1.12版本Flink Opensource SQL作业不支持使用DLI提供的connector读写DIS,因此推荐您使用本节操作提供的方法。Flink 1.15不再推荐使用DIS服务, 建议搭配DMS kafka使用。请参考Kafka - [从MySQL CDC读取数据写入到Elasticsearch](https://support.huaweicloud.com/devg-dli/zh-cn_topic_0000002430224928.md): CDC是变更数据捕获(Change Data Capture)技术的缩写,它可以将源数据库的增量变动记录,同步到一个或多个数据目的中。CDC在数据同步过程中,还可以对数据进行一定的处理,例如分组(GROUP BY)、多表的关联(JOIN)等。本示例通过创建MySQL CDC源表来监控MySQL的数据变化,并将变化的数据信息插入到Elast - [Flink Opensource SQL使用DEW管理访问凭据](https://support.huaweicloud.com/devg-dli/dli_09_0210.md): DLI将Flink作业的输出数据写入到MySQL或DWS时,需要在Connector中设置账号、密码等敏感参数。但是这些信息如果使用明文形式存储存在数据安全风险,推荐做加密处理,以保障用户的数据隐私安全。密码安全中心(Data Encryption Workshop,DEW)和云凭据管理服务(Cloud Secret Management - [Flink Jar 使用DEW获取访问凭证读写OBS](https://support.huaweicloud.com/devg-dli/dli_09_0211.md): DLI将Flink Jar作业的输出数据写入到OBS时,需要配置AKSK访问OBS,为了确保AKSK数据安全,您可以通过密码安全中心(Data Encryption Workshop,DEW)、云凭据管理服务(Cloud Secret Management Service,CSMS),对AKSK统一管理,有效避免程序硬编码或明文配置等问题 - [获取Flink作业委托临时凭证用于访问其他云服务](https://support.huaweicloud.com/devg-dli/dli_09_0212.md): 临时安全凭证是具备临时访问权限的身份凭证,包括临时AK/SK和SecurityToken,临时AK/SK和SecurityToken必须同时使用。了解临时安全凭证。DLI提供了一个通用接口,可用于获取用户在启动Flink作业时设置的委托的临时凭证。该接口将获取到的该作业委托的临时凭证封装到com.huaweicloud.sdk.core. - [Flink作业高可靠推荐配置指导(异常自动重启)](https://support.huaweicloud.com/devg-dli/dli_09_0207.md): 本节操作介绍创建Flink作业时,配置流应用实现高可靠性能的操作方法。用户在消息通知服务(SMN)中提前创建一个“主题”,并将其指定的邮箱或者手机号添加至主题订阅中。此时指定的邮箱或者手机会收到请求订阅的通知,单击链接确认订阅即可。创建主题添加订阅登录DLI管理控制台,创建Flink作业,编写作业SQL后,配置“运行参数”。本例对重点参数 - [使用Spark Jar作业读取和查询OBS数据](https://support.huaweicloud.com/devg-dli/dli_09_0205.md): DLI完全兼容开源的Apache Spark,支持用户开发应用程序代码来进行作业数据的导入、查询以及分析处理。本示例从编写Spark程序代码读取和查询OBS数据、编译打包到提交Spark Jar作业等完整的操作步骤说明来帮助您在DLI上进行作业开发。在进行Spark Jar作业开发前,请准备以下开发环境。DLI进行Spark Jar作业开 - [使用Spark作业访问DLI元数据](https://support.huaweicloud.com/devg-dli/dli_09_0176.md): DLI支持用户编写代码创建Spark作业来创建数据库、创建DLI表或OBS表和插入表数据等操作。本示例完整的演示通过编写java代码、使用Spark作业创建数据库、创建表和插入表数据的详细操作,帮助您在DLI上进行作业开发。该功能受限使用阶段,如需使用请提交工单申请开通“使用Spark作业访问DLI元数据”的使用权限。如果使用Spark - [概述](https://support.huaweicloud.com/devg-dli/dli_09_0020.md): DLI支持原生Spark的DataSource能力,并在其基础上进行了扩展,能够通过SQL语句或者Spark作业访问其他数据存储服务并导入、查询、分析处理其中的数据,目前支持的DLI跨源访问服务有:表格存储服务CloudTable,云搜索服务CSS,分布式缓存服务DCS,文档数据库服务DDS,数据仓库服务GaussDB(DWS),MapR - [CSS安全集群配置](https://support.huaweicloud.com/devg-dli/dli_09_0189.md): 当前CSS服务提供的Elasticsearch 6.5.4或以上集群版本为用户增加了安全模式功能,开启安全模式后,将会为用户提供身份验证、授权以及加密等功能。DLI服务对接CSS安全集群时,需要先进行以下准备工作。选择CSS Elasticsearch 6.5.4或以上集群版本,创建CSS安全集群,并下载安全集群证书(CloudSearc - [scala样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0061.md): 在DLI管理控制台上已完成创建跨源连接。具体操作请参考《数据湖探索用户指南》。开发说明构造依赖信息,创建SparkSession导入依赖涉及到的mvn依赖库 org.apache.spark spark-sql_2.11 - [pyspark样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0090.md): 在DLI管理控制台上已完成创建跨源连接。具体操作请参考《数据湖探索用户指南》。开发说明代码实现详解import相关依赖包from __future__ import print_function from pyspark.sql.types import StructType, StructField, IntegerType, Stri - [java样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0190.md): 在DLI管理控制台上已完成创建跨源连接。具体操作请参考《数据湖探索用户指南》。开发说明代码实现构造依赖信息,创建SparkSession导入依赖涉及到的mvn依赖库 org.apache.spark spa - [scala样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0069.md): 本例提供使用Spark作业访问DWS数据源的scala样例代码。在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。构造依赖信息,创建SparkSession导入依赖涉及到的 - [pyspark样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0087.md): 本例提供使用Spark作业访问DWS数据源的pyspark样例代码。在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。您还可以使用DEW管理数据源访问凭证。import相关 - [java样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0199.md): 本例提供使用Spark作业访问DWS数据源的java样例代码。在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。您还可以使用DEW管理数据源访问凭证。导入依赖涉及到的mvn - [MRS配置](https://support.huaweicloud.com/devg-dli/dli_09_0196.md): 在DLI管理控制台上已完成创建跨源连接。具体操作请参考《数据湖探索用户指南》。对接MRS HBase需要在DLI队列的host文件中添加MRS集群节点的/etc/hosts信息。详细操作请参考《数据湖探索用户指南》中的“修改主机信息”章节描述。详细操作请参考《数据湖探索用户指南》中的“修改主机信息”章节描述。参考《从零开始使用Kerber - [scala样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0063.md): 支持对接CloudTable的HBase和MRS的HBase。前提条件在DLI管理控制台上已完成创建跨源连接。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建跨源连接。具体操作请参考《数据湖 - [pyspark样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0078.md): 支持对接CloudTable的HBase和MRS的HBase。前提条件在DLI管理控制台上已完成创建跨源连接。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建跨源连接。具体操作请参考《数据湖 - [java样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0197.md): 本样例只适用于MRS的HBase。前提条件在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户 - [故障处理](https://support.huaweicloud.com/devg-dli/dli_09_0198.md): 问题现象运行Spark作业,作业运行失败,作业日志中提示java server connection或container启动失败。运行Spark作业,作业运行失败,作业日志中提示java server connection或container启动失败。解决方案确认是否已修改跨源连接的主机信息,如果没有,请参考DLI跨源连接中配置MRS主机 - [scala样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0065.md): 支持对接CloudTable的OpenTSDB和MRS的OpenTSDB。前提条件在DLI管理控制台上已完成创建跨源连接。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建跨源连接。具体操作请 - [pyspark样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0081.md): 支持对接CloudTable的OpenTSDB和MRS的OpenTSDB。前提条件在DLI管理控制台上已完成创建跨源连接。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建跨源连接。具体操作请 - [java样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0193.md): 本样例只适用于MRS的OpenTSDB。前提条件在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探 - [故障处理](https://support.huaweicloud.com/devg-dli/dli_09_0195.md): 问题现象运行Spark作业,作业运行失败,作业日志中提示No respond错误运行Spark作业,作业运行失败,作业日志中提示No respond错误解决方案重新创建Spark作业,创建作业时需要在“Spark参数(--conf)”中添加配置:“spark.sql.mrs.opentsdb.ssl.enabled=true”。重新创建S - [scala样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0067.md): 前提条件在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬 - [pyspark样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0084.md): 前提条件在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬 - [java样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0187.md): 前提条件在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建跨源连接并绑定队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬 - [scala样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0094.md): redis只支持增强型跨源。只能使用包年包月队列。前提条件在DLI管理控制台上已完成创建增强跨源连接,并绑定包年包月队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建增强跨源连接,并绑定 - [pyspark样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0097.md): redis只支持增强型跨源。只能使用包年包月队列。前提条件在DLI管理控制台上已完成创建增强跨源连接,并绑定包年包月队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建增强跨源连接,并绑定 - [java样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0100.md): redis只支持增强型跨源。只能使用包年包月队列。前提条件在DLI管理控制台上已完成创建增强跨源连接,并绑定包年包月队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。在DLI管理控制台上已完成创建增强跨源连接,并绑定 - [故障处理](https://support.huaweicloud.com/devg-dli/dli_09_0188.md): 问题将代码直接复制到py文件中后,'\'后出现“unexpected character”问题。将代码直接复制到py文件中后,'\'后出现“unexpected character”问题。解决方案将'\'后面的缩进或是空格全部删除。将'\'后面的缩进或是空格全部删除。 - [scala样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0114.md): mongo只支持增强型跨源。只能使用包年包月队列。DDS即文档数据库服务,兼容MongoDB协议。在DLI管理控制台上已完成创建增强跨源连接,并绑定包年/包月队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。构造依赖 - [pyspark样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0117.md): mongo只支持增强型跨源。只能使用包年包月队列。DDS即文档数据库服务,兼容MongoDB协议。前提条件在DLI管理控制台上已完成创建增强跨源连接,并绑定包年/包月队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 - [java样例代码](https://support.huaweicloud.com/devg-dli/dli_09_0110.md): mongo只支持增强型跨源。只能使用包年包月队列。DDS即文档数据库服务,兼容MongoDB协议。前提条件在DLI管理控制台上已完成创建增强跨源连接,并绑定包年/包月队列。具体操作请参考《数据湖探索用户指南》。认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 - [Spark Jar 使用DEW获取访问凭证读写OBS](https://support.huaweicloud.com/devg-dli/dli_09_0215.md): 临时安全凭证是具备临时访问权限的身份凭证,包括临时AK/SK和SecurityToken,临时AK/SK和SecurityToken必须同时使用。了解临时安全凭证。DLI将Spark Jar作业的输出数据写入到OBS时,需要配置AKSK访问OBS,为了确保AKSK数据安全,您可以通过密码安全中心(Data Encryption Works - [获取Spark作业委托临时凭证用于访问其他云服务](https://support.huaweicloud.com/devg-dli/dli_09_0216.md): DLI提供了一个通用接口,可用于获取用户在启动Spark作业时设置的委托的临时凭证。该接口将获取到的该作业委托的临时凭证封装到com.huaweicloud.sdk.core.auth.BasicCredentials类中。获取到的委托的临时认证封装到com.huaweicloud.sdk.core.auth.ICredentialPro ## 语法参考 - [Spark SQL常用配置项说明](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0266.md): 本章节为您介绍DLI 批作业SQL语法的常用配置项。 - [Spark SQL语法概览](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0219.md): 本章节介绍了目前DLI所提供的Spark SQL语法列表。参数说明,示例等详细信息请参考具体的语法说明。 - [Spark开源命令支持说明](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0477.md): 本章节介绍了目前DLI对开源的Spark SQL语法的支持情况。详细的语法、参数说明,示例等信息请参考Spark官方文档。 - [创建数据库](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0071.md): 创建数据库。IF NOT EXISTS:所需创建的数据库已存在时使用,可避免系统报错。COMMENT:对数据库的描述。DBPROPERTIES:数据库的属性,且属性名和属性值成对出现。DATABASE与SCHEMA两者没有区别,可替换使用,建议使用DATABASE。“default”为内置数据库,不能创建名为“default”的数据库。完 - [删除数据库](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0072.md): 删除数据库。IF EXISTS:所需删除的数据库不存在时使用,可避免系统报错。DATABASE与SCHEMA两者没有区别,可替换使用,建议使用DATABASE。RESTRICT表示如果该database不为空(有表存在),DROP操作会报错,执行失败,RESTRICT是默认逻辑。CASCADE表示即使该database不为空(有表存在), - [查看指定数据库](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0073.md): 查看指定数据库的相关信息,包括数据库名称、数据库的描述等。EXTENDED:除了显示上述信息外,还会额外显示数据库的属性信息。如果所要查看的数据库不存在,则系统报错。已参考示例中描述创建对应的数据库,如testdb。查看testdb数据库的相关信息。DESCRIBE DATABASE testdb; - [查看所有数据库](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0074.md): 查看当前工程下所有的数据库。无。DATABASES与SCHEMAS是等效的,都将返回所有的数据库名称。查看当前的所有数据库。查看当前的所有以test开头的数据库。 - [使用DataSource语法创建OBS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0076.md): 本节介绍使用DataSource语法创建OBS表。DataSource语法和Hive语法主要区别在于支持的表数据存储格式范围、支持的分区数等有差异,详细请参考语法格式和注意事项说明。推荐使用OBS并行文件系统进行存储。并行文件系统是一种高性能文件系统,提供毫秒级别访问时延,TB/s级别带宽和百万级别的IOPS,适用于大数据交互式分析场景。 - [使用Hive语法创建OBS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0077.md): 使用Hive语法创建OBS表。DataSource语法和Hive语法主要区别在于支持的表数据存储格式范围、支持的分区数等有差异,详细请参考语法格式和注意事项说明。推荐使用OBS并行文件系统进行存储。并行文件系统是一种高性能文件系统,提供毫秒级别访问时延,TB/s级别带宽和百万级别的IOPS,适用于大数据交互式分析场景。创建表时会统计大小。 - [使用DataSource语法创建DLI表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0098.md): 使用DataSource语法创建DLI表。DataSource语法和Hive语法主要区别在于支持的表数据存储格式范围、支持的分区数等有差异,详细请参考语法格式和注意事项说明。CTAS建表语句不能指定表的属性。若没有指定分隔符,则默认为逗号(,)。关于分区表的使用说明:创建分区表时,PARTITIONED BY中指定分区列必须是表中的列,且 - [使用Hive语法创建DLI表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0204.md): 使用Hive语法创建DLI表。DataSource语法和Hive语法主要区别在于支持的表数据存储格式范围、支持的分区数等有差异,详细请参考语法格式和注意事项说明。CTAS建表语句不能指定表的属性。Hive DLI表不支持在建表时指定多字符的分隔符。关于分区表的使用说明:创建分区表时,PARTITONED BY中指定分区列必须是不在表中的列 - [删除表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0087.md): 删除表。OBS表:仅删除其元数据信息,不删除存放在OBS上的数据。DLI表:删除其数据及相应的元数据信息。所要删除的表必须是当前数据库下存在的,否则会出错,可以通过添加IF EXISTS来避免出错。参考创建OBS表或者创建DLI表中的示例描述创建对应的表。在当前所在数据库下删除名为test的表。DROP TABLE IF EXISTS t - [查看所有表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0090.md): 查看当前数据库下所有的表。显示当前数据库下的所有表及视图。FROM/IN:指定数据库名,显示特定数据库下的表及视图。无。参考创建OBS表或者创建DLI表中的示例描述创建对应的表。查看当前所在数据库中的所有表与视图。SHOW TABLES;查看testdb数据库下所有以test开头的表。SHOW TABLES IN testdb LIKE - [查看建表语句](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0091.md): 返回对应表的建表语句。使用Spark 3.3.1版本引擎查看建表语句时请使用以下语法(仅适用于查询Hive表的建表语句)CREATE TABLE:建表语句。语句所涉及的表必须存在,否则会出错。Spark 2.4.5版本示例:执行以下命令返回测试表testDB01.testTable5的建表语句SHOW CREATE TABLE testD - [查看表属性](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0092.md): 查看表的属性。TBLPROPERTIES:TBLPROPERTIES子句允许用户给表添加key/value的属性。property_name大小写敏感,不能同时指定多个property_name,否则会出错。返回test表中属性property_key1的值。 - [查看指定表所有列](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0093.md): 查看指定表中的所有列。COLUMNS:表中的列。FROM/IN:指定数据库,显示指定数据库下的表的列名。FROM和IN没有区别,可替换使用。所指定的表必须是数据库中存在的表,否则会出错。查看student表中的所有列。 - [查看指定表所有分区](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0094.md): 查看指定表的所有分区。PARTITIONS:表中的分区。PARTITION:分区。所要查看分区的表必须存在且是分区表,否则会出错。查看student表下面的所有的分区。SHOW PARTITIONS student;查看student表中dt='2010-10-10'的分区。SHOW PARTITIONS student PARTITIO - [查看表统计信息](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0105.md): 查看表统计信息。返回所有列的列名和列数据类型。EXTENDED:显示表的所有元数据,通常只在debug时用到。FORMATTED:使用表格形式显示所有表的元数据。若所查看的表不存在,将会出错。查看student表的所有列的列名与列数据类型。 - [添加列](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0263.md): 添加一个或多个新列到表上。ADD COLUMNS:添加列。COMMENT:列描述。该SQL不建议并发执行,并发情况下添加列结果可能互相覆盖。 - [修改列注释](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0470.md): 修改非分区表或分区表的列注释信息。CHANGE COLUMN:修改列COMMENT:列描述。修改表t1中的c1列的注释信息为“the new comment”。 - [开启或关闭数据多版本(废弃,不推荐使用)](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0354.md): 多版本功能计划废弃,不推荐使用。更多相关功能推荐:Hudi多版本清理操作、Hudi Archive操作说明。更DLI提供多版本功能,用于数据的备份与恢复。开启多版本功能后,在进行删除或修改表数据时(insert overwrite或者truncate操作),系统会自动备份历史数据并保留一定时间,后续您可以对保留周期内的数据进行快速恢复,避 - [添加分区(只支持OBS表)](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0081.md): 创建OBS分区表成功后,OBS表实际还没有生成分区信息。生成分区信息主要有以下两种场景:给OBS分区表插入对应的分区数据,数据插入成功后OBS表才会生成分区元数据信息,后续则可以根据对应分区列进行查询等操作。手工拷贝分区目录和数据到OBS分区表路径下,执行本章节介绍的分区添加命令生成分区元数据信息,后续即可根据对应分区列进行查询等操作。本 - [重命名分区(只支持OBS表)](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0082.md): 重命名分区。PARTITION:分区。RENAME:重命名。该命令仅支持操作OBS表,不支持对DLI表进行操作。所要重命名分区的表和分区必须已存在,否则会出错。新分区名不能与其他分区重名,否则将出错。若分区表是按照多个字段进行分区的,重命名分区时需要指定所有的分区字段,指定字段的顺序可任意。partition_specs中的参数默认带有“ - [删除分区](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0083.md): 本节操作介绍删除分区表的一个或多个分区。分区表分为两种,OBS表和DLI表。在删除分区时,DLI表和OBS表都支持利用指定条件删除分区表的一个或多个分区。OBS表还支持按指定筛选条件删除分区。所要删除分区的表必须是已经存在的表,否则会出错。所要删除的分区必须是已经存在的,否则会出错,可通过语句中添加“IF EXISTS”避免该错误。DRO - [指定筛选条件删除分区(只支持OBS表)](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0343.md): 指定筛选条件删除分区表的一个或多个分区。该命令仅支持操作OBS表,不支持对DLI表进行操作。删除操作仅删除表分区元数据,在使用本节语句删除分区时,OBS目录的数据不会自动删除。所要删除分区的表必须是已经存在的表,否则会出错。所要删除的分区必须是已经存在的,否则会出错,可通过语句中添加“IF EXISTS”避免该错误。DROP:删除表分区。 - [修改表分区位置(只支持OBS表)](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0084.md): 修改表分区的位置。PARTITION:分区。LOCATION:分区路径。所要修改位置的表分区必须是已经存在的,否则将报错。partition_specs中的参数默认带有“( )”,例如:PARTITION (dt='2009-09-09',city='xxx')。所指定的新的OBS路径必须是已经存在的绝对路径,否则将报错。若新增分区指定的 - [更新表分区信息(只支持OBS表)](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0079.md): 更新表在元数据库中的分区信息。或PARTITIONS:分区。SERDEPROPERTIES:Serde属性。该命令的主要应用场景是针对分区表,如当手动在OBS上面添加分区目录时,再通过上述命令将该新增的分区信息刷新到元数据库中,通过“SHOW PARTITIONS table_name”命令查看新增的分区。分区目录名称必须按照指定的格式输 - [REFRESH TABLE刷新表元数据](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0359.md): Spark为了提高性能会缓存Parquet的元数据信息。当更新了Parquet表时,缓存的元数据信息未更新,导致Spark SQL查询不到新插入的数据作业执行报错,报错信息参考如下:DLI.0002: FileNotFoundException: getFileStatus on error message该场景下就需要使用REFRES - [设置多版本备份数据保留周期(废弃,不推荐使用)](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0350.md): 多版本功能计划废弃,不推荐使用。更多相关功能推荐:Hudi多版本清理操作、Hudi Archive操作说明。更在DLI数据多版本功能开启后,备份数据默认保留7天,您可以通过配置系统参数dli.multi.version.retention.days调整保留周期。保留周期外的多版本数据后续在执行insert overwrite或者trunc - [查看多版本备份数据(废弃,不推荐使用)](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0351.md): 多版本功能计划废弃,不推荐使用。更多相关功能推荐:Hudi多版本清理操作、Hudi Archive操作说明。更在DLI数据多版本功能开启后,您可以通过SHOW HISTORY命令查看表的备份数据。开启和关闭多版本语法请参考开启或关闭数据多版本(废弃,不推荐使用)。DLI数据多版本功能当前仅支持通过Hive语法创建的OBS表,具体建表SQL - [恢复多版本备份数据(废弃,不推荐使用)](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0352.md): 多版本功能计划废弃,不推荐使用。更多相关功能推荐:Hudi多版本清理操作、Hudi Archive操作说明。更在DLI数据多版本功能开启后,您可以通过RESTORE TABLE命令恢复表或分区数据到指定版本。开启和关闭多版本语法请参考开启或关闭数据多版本(废弃,不推荐使用)。DLI数据多版本功能当前仅支持通过Hive语法创建的OBS表,具 - [配置多版本过期数据回收站(废弃,不推荐使用)](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0353.md): 多版本功能计划废弃,不推荐使用。更多相关功能推荐:Hudi多版本清理操作、Hudi Archive操作说明。更在DLI数据多版本功能开启后,过期的备份数据后续在执行insert overwrite或者truncate语句时会被系统直接清理。OBS并行文件系统可以通过配置回收站加速删除操作过期的备份数据。通过在表属性添加配置dli.mult - [清理多版本数据(废弃,不推荐使用)](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0355.md): 多版本功能计划废弃,不推荐使用。更多相关功能推荐:Hudi多版本清理操作、Hudi Archive操作说明。更多版本数据保留周期是在表每次执行insert overwrite或者truncate语句时触发,所以当表的多版本数据在保留周期时间外但是后续该表不会再执行insert overwrite或者truncate语句时,多版本保留周期外 - [创建表时指定表的生命周期](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0466.md): DLI提供了表生命周期管理功能,在创建表时指定表的生命周期。DLI会根据每张表的最后修改时间和表的生命周期来判断是否要回收此表。通过设置表的生命周期,可以帮助您更好的管理数目众多的表,自动清理长期不再使用的数据表,简化数据表的回收流程。同时支持数据恢复设置,避免因误操作丢失数据。在创建表时通过TBLPROPERTIES指定表的生命周期。非 - [修改表生命周期的时间](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0467.md): 修改已存在的分区表或非分区表的生命周期。当第一次开启生命周期时,会扫描表/分区会扫描路径下的表数据文件,更新表/分区的LAST_ACCESS_TIME,耗时与分区数和文件数相关。表生命周期处于受限使用阶段,如需使用请提交工单申请开通。表生命周期功能支持Hive、DataSource语法创建表、多版本表,暂不支持跨源表、Carbon表。生命 - [禁止或恢复表的生命周期](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0468.md): 禁止或恢复指定表或分区的生命周期。使用禁止或恢复表的生命周期有以下两种场景:表或分区表开启了生命周期的功能,该功能可以禁止或恢复表的生命周期,即修改“dli.table.lifecycle.status”的参数值。表或分区表未开启生命周期的功能,使用禁止或恢复表的生命周期,则会增加“dli.table.lifecycle.status”这 - [导入数据](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0100.md): LOAD DATA可用于导入CSV、Parquet、ORC、JSON、Avro格式的数据,内部将转换成Parquet数据格式进行存储。INPATH:数据路径。OPTIONS:属性列表。以下是可以在导入数据时使用的配置选项:DATA_TYPE: 指定导入的数据类型,当前支持CSV、Parquet、ORC、JSON、Avro类型,默认值为CS - [插入数据](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0095.md): 将SELECT查询结果或某条数据插入到表中。insert overwrite语法不适用于同一张表内部的“自读自写”场景(包括分区表和非分区表),直接在原表上执行insert overwrite可能会导致数据丢失或数据不一致的风险。如果要实现“自读自写”场景数据操作,建议使用一个临时表来处理数据。如图1所示。"自读自写"即目的表和数据源表都 - [复用子查询](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0479.md): 在执行select查询语句时,通过对同一子查询的结果进行缓存,并在查询的不同部分重复使用,避免重复计算相同的子查询,从而提高查询性能。示例1:基于表sales定义子查询sales_data,查询销售金额大于100的商品,最后查询该子查询的所有数据。WITH sales_data AS ( SELECT product_name, sa - [清空数据](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0217.md): 清除DLI表或者OBS表的数据。只支持清除DLI表或者OBS表的数据。 - [导出查询结果](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0205.md): INSERT OVERWRITE DIRECTORY用于将查询结果直接写入到指定的目录,支持按CSV、Parquet、ORC、JSON、Avro格式进行存储。USING:指定所存储格式。OPTIONS:导出时的属性列表,为可选项。file_format为csv时,options参数可以参考表3。通过配置spark.sql.shuffle. - [创建DLI表关联HBase](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0119.md): 使用CREATE TABLE命令创建DLI表并关联HBase上已有的表。Spark跨源开发场景中直接配置跨源认证信息存在密码泄露的风险,优先推荐您使用DLI提供的跨源认证方式。跨源认证简介及操作方法请参考跨源认证简介。创建DLI表关联HBase之前需要创建跨源连接。管理控制台操作请参考增强型跨源连接。请确保在DLI队列host文件中添加M - [插入数据至HBase表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0120.md): INSERT INTO命令将DLI表中的数据插入到已关联的hbase表中。将SELECT查询结果插入到表中:INSERT INTO DLI_TABLE SELECT field1,field2... [FROM DLI_TEST] [WHERE where_condition] [LIMIT num] [GROUP B - [查询HBase表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0121.md): SELECT命令用于查询hbase表中的数据。LIMIT:对查询结果进行限制,number参数仅支持INT类型。所查询的表必须是已经存在的表,否则会出错。查询表中的数据。通过hbase进行数据过滤,即HBase Client将过滤条件传给HBase服务端进行处理,HBase服务端只返回用户需要的数据,提高了Spark SQL查询的速度。对 - [创建DLI表关联OpenTSDB](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0122.md): 使用CREATE TABLE命令创建DLI表并关联OpenTSDB上已有的metric,该语法支持CloudTable服务的OpenTSDB和MRS服务的OpenTSDB。创建DLI表关联OpenTSDB之前需要创建跨源连接。管理控制台操作请参考增强型跨源连接。创建DLI表时,不需要指定timestamp和value字段,系统会根据指定的 - [插入数据至OpenTSDB表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0123.md): 使用INSERT INTO命令将DLI表中的数据插入到已关联的OpenTSDB metric中。若OpenTSDB上不存在metric,插入数据时会在OpenTSDB上自动创建一个新的metric。插入的数据不能为null;插入的数据相同,会覆盖原数据;插入的数据只有value值不同,也会覆盖原数据。不支持INSERT OVERWRITE - [查询OpenTSDB表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0124.md): SELECT命令用于查询OpenTSDB表中的数据。若OpenTSDB上不存在metric,查询对应的DLI表会报错。若OpenTSDB开了安全模式,则访问时,需要设置conf:dli.sql.mrs.opentsdb.ssl.enabled=trueLIMIT:对查询结果进行限制,number参数仅支持INT类型。所查询的表必须是已经存 - [创建DLI表关联DWS](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0193.md): 使用CREATE TABLE命令创建DLI表并关联DWS上已有的表。Spark跨源开发场景中直接配置跨源认证信息存在密码泄露的风险,优先推荐您使用DLI提供的跨源认证方式。跨源认证简介及操作方法请参考跨源认证简介。创建DLI表关联DWS之前需要创建跨源连接。管理控制台操作请参考增强型跨源连接。创建DWS关联表时,不需要指定关联表的Sche - [插入数据至DWS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0194.md): INSERT INTO命令将DLI表中的数据插入到已关联的指定DWS表中。本节功能仅适用于调用数据量在1万次以下的小数据量调测场景,批量数据写入DWS请参考《从DLI导入表数据到DWS集群》。将SELECT查询结果插入到表中:INSERT INTO DLI_TABLE SELECT field1,field2... [FROM D - [查询DWS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0195.md): SELECT命令用于查询DWS表中的数据。LIMIT:对查询结果进行限制,number参数仅支持INT类型。所查询的表必须是已经存在的表,否则会出错。查询表dli_to_dws中的数据。 - [创建DLI表关联RDS](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0197.md): 使用CREATE TABLE命令创建DLI表并关联RDS上已有的表。该功能支持访问RDS的MySQL集群和PostGre集群。Spark跨源开发场景中直接配置跨源认证信息存在密码泄露的风险,优先推荐您使用DLI提供的跨源认证方式。跨源认证简介及操作方法请参考跨源认证简介。创建DLI表关联RDS之前需要创建跨源连接。管理控制台操作请参考增强 - [插入数据至RDS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0198.md): INSERT INTO命令将DLI表中的数据插入到已关联的指定RDS表中。将SELECT查询结果插入到表中:INSERT INTO DLI_TABLE SELECT field1,field2... [FROM DLI_TEST] [WHERE where_condition] [LIMIT num] [GROUP B - [查询RDS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0199.md): SELECT命令用于查询RDS表中的数据。LIMIT:对查询结果进行限制,number参数仅支持INT类型。所查询的表必须是已经存在的表,否则会出错。查询表test_ct中的数据。 - [创建DLI表关联CSS](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0201.md): 使用CREATE TABLE命令创建DLI表并关联CSS上已有的表。Spark跨源开发场景中直接配置跨源认证信息存在密码泄露的风险,优先推荐您使用DLI提供的跨源认证方式。跨源认证简介及操作方法请参考跨源认证简介。创建DLI表关联CSS之前需要创建跨源连接。管理控制台操作请参考增强型跨源连接。batch.size.entries和batc - [插入数据至CSS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0202.md): INSERT INTO命令将DLI表中的数据插入到已关联的指定CSS表中。将SELECT查询结果插入到表中:INSERT INTO DLI_TABLE SELECT field1,field2... [FROM DLI_TEST] [WHERE where_condition] [LIMIT num] [GROUP B - [查询CSS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0203.md): SELECT命令用于查询CSS表中的数据。LIMIT:对查询结果进行限制,number参数仅支持INT类型。所查询的表必须是已经存在的表,否则会出错。查询表dli_to_css中的数据。 - [创建DLI表关联DCS](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0226.md): 使用CREATE TABLE命令创建DLI表并关联DCS上已有的Key。Spark跨源开发场景中直接配置跨源认证信息存在密码泄露的风险,优先推荐您使用DLI提供的跨源认证方式。跨源认证简介及操作方法请参考跨源认证简介。创建DLI表关联DCS之前需要创建跨源连接,绑定队列。管理控制台操作请参考增强型跨源连接。指定KeyCREATE TABL - [插入数据至DCS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0227.md): INSERT INTO命令将DLI表中的数据插入到已关联的DCS Key中。将SELECT查询结果插入到表中:INSERT INTO DLI_TABLE SELECT field1,field2... [FROM DLI_TEST] [WHERE where_condition] [LIMIT num] [GROUP - [查询DCS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0228.md): SELECT命令用于查询DCS表中的数据。LIMIT:对查询结果进行限制,number参数仅支持INT类型。查询表test_redis中的数据。 - [创建DLI表关联DDS](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0230.md): 使用CREATE TABLE命令创建DLI表并关联DDS上已有的collection。Spark跨源开发场景中直接配置跨源认证信息存在密码泄露的风险,优先推荐您使用DLI提供的跨源认证方式。跨源认证简介及操作方法请参考跨源认证简介。创建DLI表关联DDS之前需要创建跨源连接,绑定队列。管理控制台操作请参考增强型跨源连接。文档数据库服务(D - [插入数据至DDS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0231.md): INSERT INTO命令将DLI表中的数据插入到已关联的指定DDS表中。将SELECT查询结果插入到表中:INSERT INTO DLI_TABLE SELECT field1,field2... [FROM DLI_TEST] [WHERE where_condition] [LIMIT num] [GROUP B - [查询DDS表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0232.md): SELECT命令用于查询DDS表中的数据。LIMIT:对查询结果进行限制,number参数仅支持INT类型。如果在建表时没有指定schema信息,则查询出来的结果将会包含"_id"字段用于存放doc中的"_id"。查询表test_table1中的数据。 - [创建DLI表关联Oracle](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0461.md): 使用CREATE TABLE命令创建DLI表并关联Oracle上已有的表。创建DLI表关联Oracle之前需要创建增强型跨源连接。管理控制台操作请参考增强型跨源连接。管理控制台操作请参考增强型跨源连接。由于仅支持增强型跨源方式连接Oracle,且仅按需专属队列和包周期队列支持增强型跨源。因此仅按需专属队列和包周期队列支持在SQL作业中连接 - [插入数据至Oracle表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0462.md): INSERT INTO命令将数据插入到已关联的指定Oracle表中。将SELECT查询结果插入到表中:INSERT INTO DLI_TABLE SELECT field1,field2... [FROM DLI_TEST] [WHERE where_condition] [LIMIT num] [GROUP BY f - [查询Oracle表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0463.md): SELECT命令用于查询Oracle表中的数据。LIMIT:对查询结果进行限制,number参数仅支持INT类型。如果在建表时没有指定schema信息,则查询出来的结果将会包含"_id"字段用于存放doc中的"_id"。查询表test_oracle中的数据。 - [创建视图](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0130.md): 创建视图。CREATE VIEW:基于给定的select语句创建视图,不会将select语句的结果写入磁盘。OR REPLACE:指定该关键字后,若视图已经存在将不报错,并根据select语句更新视图的定义。所要创建的视图必须是当前数据库下不存在的,否则会报错。当视图存在时,可通过增加OR REPLACE关键字来避免报错。视图中包含的表或 - [删除视图](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0131.md): 删除视图。DROP:删除指定视图的元数据。虽然视图和表有很多共同之处,但是DROP TABLE不能用来删除VIEW。所要删除的视图必须是已经存在的,否则会出错,可以通过IF EXISTS来避免该错误。删除名为student_view的视图。 - [查看计划](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0138.md): 执行该语句将返回该SQL语句的逻辑计划与物理执行计划。EXTENDED:指定该关键字后,会同时输出逻辑计划与物理执行计划。CODEGEN:指定该关键字后,若有codegen产生的代码也将输出。无。返回“SELECT * FROM test”SQL语句的逻辑计划与物理执行计划。 - [数据权限列表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0140.md): DLI中SQL语句与数据库、表、角色相关的权限矩阵如表1所示。Privilege在进行数据库和表赋权或回收权限时,DLI支持的权限类型如下所示。DATABASE上可赋权/回收的权限:DROP_DATABASE(删除数据库)CREATE_TABLE(创建表)CREATE_VIEW(创建视图)EXPLAIN(将SQL语句解释为执行计划)CRE - [创建角色](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0141.md): 在当前database或指定database中创建一个新的角色。只有在database上具有CREATE_ROLE权限的用户才能创建角色。例如:管理员用户、database的owner用户和被赋予了CREATE_ROLE权限的其他用户。每个角色必须属于且只能属于一个database。无。要创建的role_name必须在当前database - [删除角色](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0148.md): 在当前database或指定database中删除角色。无。要删除的role_name必须在当前database或指定database中存在,否则会报错。当未指定db_name时,表示在当前database中删除角色。 - [绑定角色](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0142.md): 绑定用户和角色。无。role_name和username必须存在,否则会报错。 - [解绑角色](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0147.md): 取消用户和角色的绑定。无。role_name和user_name必须存在,且user_name绑定了该role_name。取消用户user_name1和role1的绑定。 - [显示角色](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0143.md): 显示所有的角色或者显示当前database下绑定到user_name的角色。ALL:显示所有的角色。ALL关键字与user_name不可同时存在。显示绑定到该用户的所有角色。SHOW ROLES;显示project下的所有角色。SHOW ALL ROLES;只有管理员才有权限执行show all roles语句。只有管理员才有权限执行sh - [分配权限](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0144.md): 授予用户或角色权限。ROLE:限定后面的role_name是一个角色。USER:限定后面的user_name是一个用户。privilege必须是可授权限中的一种。且如果赋权对象在resource或上一级resource上已经有对应权限时,则会赋权失败。Privilege支持的权限类型可参见数据权限列表。resource可以是queue、d - [回收权限](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0146.md): 回收已经授予用户或角色的权限。ROLE:限定后面的rol e_name是一个角色。USER:限定后面的user_name是一个用户。privilege必须为赋权对象在resource中的已授权限,否则会回收失败。Privilege支持的权限类型可参见数据权限列表。resource可以是queue、database、table、view、c - [显示已授权限](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0145.md): 显示某个用户在resource上已经授予的权限。USER:限定后面的user_name是一个用户。resource可以是queue、database、table、column、view,格式分别为:queue的格式为:queues.queue_namedatabase的格式为:databases.db_nametable的格式为:data - [显示所有角色和用户的绑定关系](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0149.md): 在当前database显示角色与某用户的绑定关系。无。变量ROLE必须存在。 - [概述](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0057.md): 数据类型是数据的一个基本属性,用于区分不同类型的数据。不同的数据类型所占的存储空间不同,能够进行的操作也不相同。数据库中的数据存储在表中。表中的每一列都定义了数据类型,用户存储数据时,须遵从这些数据类型的属性,否则可能会出错。DLI当前只支持原生数据类型。 - [原生数据类型](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0058.md): DLI支持原生数据类型,请参见表1。VARCHAR和CHAR在DLI实际存储是STRING型,因此超出长度的字符串不会被截断。FLOAT类型在DLI实际存储是DOUBLE型。有符号整数,存储空间为4字节,-2147483648~2147483647,在NULL情况下,默认值为0。字符串类型。单精度浮点型,存储空间为4字节,在NULL情况下 - [复杂数据类型](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0059.md): Spark SQL支持复杂数据类型,如表1所示。创建含有复杂数据类型字段的表时,该表存储格式不支持CSV(txt)。如果表中含有复杂数据类型字段时,该表不支持CSV(txt)格式的文件数据导入。MAP数据类型建表必须指定schema,且不支持date、short、timestamp数据类型。对于JSON格式OBS表,MAP的键类型只支持S - [创建函数](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0283.md): DLI支持创建使用UDF和UDTF等自定义函数应用于Spark作业开发当中。具体使用自定义函数端到端的开发指导可以参考:Spark SQL作业使用UDF和Spark SQL作业使用UDTF。或如果在数据库中存在同名的函数,系统将会报错。只支持Hive语法创建函数。请注意避免该场景:如果创建的自定义函数F1指定类C1,程序包名JAR1,创建 - [删除函数](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0284.md): 删除函数。TEMPORARY:所删除的函数是否为临时函数。IF EXISTS:所删除的函数不存在时使用,可避免系统报错。删除一个已存在的函数。如果要删除的函数不存在,则系统报错。只支持HIVE语法。删除函数mergeBill。 - [显示函数详情](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0281.md): 查看指定函数的相关信息。EXTENDED:显示扩展使用信息。返回已有函数的元数据(实现类和用法),如果函数不存在,则系统报错。查看函数mergeBill的相关信息。 - [显示所有函数](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0285.md): 查看当前工程下所有的函数。其中regex为正则表达式,可以参考如下表1参数样例。其他更多正则表达式的使用,可参考官网说明。LIKE:此限定符仅为兼容性而使用,没有任何实际作用。显示与给定正则表达式或函数名匹配的函数。如果未提供正则表达式或名称,则显示所有函数。如果声明了USER或SYSTEM,那么将分别显示用户定义的Spark SQL函数 - [日期函数概览](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0066.md): DLI所支持的日期函数如表1所示。 - [add_months](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_add_months.md): add_months函数用于计算日期值增加指定月数后的日期。即start_date在num_months个月之后的date。返回开始日期startdate增加num_months个月后的日期,返回值格式为yyyy-mm-dd。返回值date类型的日期值。startdate非DATE或STRING类型时,返回报错,错误信息:data typ - [current_date](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_current_date.md): current_date函数用于返回当前日期值。返回值格式为yyyy-mm-dd。相似函数:getdate,getdate函数用于返回当前系统时间。返回值格式为yyyy-mm-dd hh:mi:ss。无返回DATE类型的日期值,格式为yyyy-mm-dd返回2023-08-16。 - [current_timestamp](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_current_timestamp.md): CURRENT_TIMESTAMP函数用于返回当前时间戳。无返回TIMESTAMP类型的时间戳。返回1692002816300。 - [date_add](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_date_add.md): date_add函数用于计算按照days幅度递增startdate日期的天数。如需要获取当前日期基础上指定变动幅度的日期,可结合current_date或getdate函数共同使用。请注意date_add函数与date_sub函数逻辑反。返回DATE类型的日期值,格式为yyyy-mm-dd。startdate非DATE或STRING类型时 - [dateadd](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_dateadd.md): dateadd函数用于按照指定的单位datepart和幅度delta修改date的值。如需要获取当前日期基础上指定变动幅度的日期,可结合current_date或getdate函数共同使用。返回STRING类型的日期值。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或S - [date_sub](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_date_sub.md): date_sub函数按照days幅度递减startdate日期的天数。如需要获取当前日期基础上指定变动幅度的日期,可结合current_date或getdate函数共同使用。请注意date_sub函数与date_add函数逻辑反。返回DATE类型的日期值。startdate非DATE或STRING类型时,返回报错,错误信息:data ty - [date_format](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_date_format.md): date_format函数用于将date按照format指定的格式转换为字符串。按指定类型返回STRING类型的日期。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。date值为NULL时,返回NULL。for - [datediff](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_datediff.md): datediff函数用于计算两个时间date1、date2的日期差值。相似函数:datediff1,datediff1函数用于计算两个时间date1、date2的差值,将差值以指定的时间单位datepart表示。返回BIGINT类型。date1、date2非DATE或STRING类型时,返回报错,错误信息:data type mismat - [datediff1](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_datediff1.md): datediff1函数用于计算两个时间date1、date2的差值,将差值以指定的时间单位datepart表示。相似函数:datediff,datediff函数用于计算两个时间date1、date2的日期差值,不支持指定返回的时间单位。返回BIGINT类型。date1、date2非DATE或STRING类型时,返回报错,错误信息:data - [datepart](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_datepart.md): datepart函数用于计算日期date中符合指定时间单位datepart的值。返回BIGINT类型。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch;date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL;datepart值为NULL时,返回NULL。datepar - [datetrunc](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_datetrunc.md): datetrunc函数用于计算将日期date按照datepart指定的时间单位进行截取后的日期值。截取datepart之前的部分,除截取的部分外自动填充为默认值。可参考示例代码。返回DATE或STRING类型的日期值。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch;date为DATE或ST - [day/dayofmonth](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_day_dayofmonth.md): day函数用于返回指定日期的天。返回INT类型date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。date值为NULL时,返回NULL。返回1。返回NULL。返回NULL。 - [from_unixtime](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_from_unixtime.md): from_unixtime函数用于计算将数字型的UNIX值代表的时间戳转换为日期值。将时间戳转换为时间格式,返回STRING类型的日期值,格式为“yyyy-MM-dd HH:mm:ss”或“yyyyMMddHHmmss.uuuuuu”或 "yyyyMMdd"。unixtime值为NULL时,返回NULL。返回2023-08-16 09:3 - [from_utc_timestamp](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_from_utc_timestamp.md): from_utc_timestamp函数用于计算将UTC的时间戳转化为timezone所对应的UNIX格式的时间戳。返回TIMESTAMP类型的时间戳。timestamp非DATE或STRING类型时,返回报错,错误信息:data type mismatch;timestamp为DATE或STRING类型,但不符合日期值的入参格式时,返回 - [getdate](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_getdate.md): getdate函数用于返回当前系统时间。返回值格式为yyyy-mm-dd hh:mi:ss。相似函数:current_date,current_date函数用于返回当前日期值。返回值格式为yyyy-mm-dd。无返回STRING类型的日期值,格式为yyyy-mm-dd hh:mi:ss。假设当前时间为2023-08-10 10:54:00 - [hour](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_hour.md): hour函数用于返回指定时间的小时,范围为0到23。返回INT类型的值。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。date值为NULL时,返回NULL。返回10。返回12。返回NULL。返回NULL。 - [isdate](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_isdate.md): isdate函数用于判断一个日期字符串能否根据指定的格式转换为一个日期值。返回BOOLEAN类型的值。date或format值为NULL时,返回NULL。返回true。返回false。 - [last_day](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_last_day.md): last_day函数用于返回date所在月份的最后一天。相似函数:lastday,lastday函数用于返回date所在月的最后一天,截取到天,时分秒部分为00:00:00。返回DATE类型的日期值,格式为yyyy-mm-dddate非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DAT - [lastday](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_lastday.md): lastday函数用于返回date所在月的最后一天,截取到天,时分秒部分为00:00:00。相似函数:last_day,last_day函数用于返回date所在月份的最后一天。返回值格式为:yyyy-mm-dd。返回STRING类型的日期值。格式为yyyy-mm-dd hh:mi:ss。date非DATE或STRING类型时,返回报错,错 - [minute](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_minute.md): minute函数用于返回指定时间的分钟,范围为0到59。返回INT类型。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。date值为NULL时,返回NULL。返回54。返回54。返回NULL。返回NULL。 - [month](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_month.md): month函数用于返回指定时间的月份,范围为1至12月。返回INT类型。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。date值为NULL时,返回NULL。返回8。返回NULL。返回NULL。 - [months_between](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_months_between.md): months_between函数用于返回date1与date2之间的月份差。返回DOUBLE类型的值。date1、date2非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date1、date2为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。当date1晚于date2时,返 - [next_day](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_next_day.md): next_day函数用于返回start_date之后最接近day_of_week的日期。返回DATE类型的日期值,格式为yyyy-mm-dd。start_date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。start_date为DATE或STRING类型,但不符合日期值的入参格式时,返回NUL - [quarter](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_quarter.md): quarter函数用于返回该date所在的季度,范围为1~4。返回INT类型。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。date值为NULL时,返回NULL。返回3。返回3。返回NULL。 - [second](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_second.md): second函数用于返回指定时间的秒,范围为0到59。返回INT类型。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。date值为NULL时,返回NULL。返回36。返回36。返回NULL。返回NULL。 - [to_char](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_to_char.md): to_char函数用于将日期按照指定格式转换为字符串。返回STRING类型。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。format值为NULL时,返回NULL。返回静态数据示例2023-08*16。返回2 - [to_date](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_to_date.md): to_date函数用于返回时间中的年月日。相似函数:to_date1,to_date1函数用于将指定格式的字符串转换为日期值,支持指定转换的日期格式。返回DATE类型的日期值,格式为yyyy-mm-dd。timestamp非DATE或STRING类型时,返回报错,错误信息:data type mismatch。timestamp为DATE - [to_date1](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_to_date1.md): to_date1函数用于将指定格式的字符串转换为日期值。相似函数:to_date,to_date函数用于返回时间中的年月日,不支持指定转换的日期格式。返回STRING类型的日期值。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式 - [to_utc_timestamp](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_to_utc_timestamp.md): to_utc_timestamp函数用于将timezone所对应的时间戳转换为UTC的时间戳。返回BIGINT类型值。timestamp非DATE或STRING类型时,返回报错,错误信息:data type mismatch。timestamp为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。timestamp值为N - [trunc](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_trunc.md): trunc函数用于将date按照特定的格式进行清零操作。清零操作即返回默认值,年、月、日的默认值为01,时、分、秒、毫秒 的默认值为00。返回DATE类型的日期值,格式为yyyy-mm-dd。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期 - [unix_timestamp](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_unix_timestamp.md): unix_timestamp函数用于将日期值转化为数字型的UNIX格式的日期值。函数返回值将返回正常UNIX格式时间戳前十位。返回BIGINT类型的值。timestamp值为NULL时,返回NULL。timestamp和pattern都为空时,返回从“1970-01-01 00:00:00”到现在的秒数代表的时间戳。返回169214999 - [weekday](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_weekday.md): weekday函数用于返回日期值是当前周的第几天。返回INT类型的值。周一作为一周的第一天,返回值为0。其他日期依次递增,周日返回6。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。date值为NULL时,返回 - [weekofyear](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_weekofyear.md): weekofyear函数用于返回指定日期是一年中的第几周,范围为0到53。返回INT类型的值。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。date值为NULL时,返回NULL。返回33。返回NULL。返回N - [year](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_year.md): year函数用于返回指定日期中的年份。返回INT类型的值。date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。date值为NULL时,返回NULL。返回2023。返回NULL。返回NULL。返回NULL。 - [字符串函数概览](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0067.md): DLI所支持的字符函数如字符串函数所示。 - [ascii](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_ascii.md): ascii函数用于返回字符串str第一个字符的ASCII码。返回BIGINT的值。str非STRING、BIGINT、DOUBLE、DECIMAL或DATETIME类型时,返回报错。str值为NULL时,返回NULL。返回字符串ABC第一个字符的ASCII码。命令示例如下。返回97。 select ascii('ABC');返回97。 s - [concat](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_concat.md): concat函数用于拼接数组或字符串。输入为ARRAY数组:将多个ARRAY数组中的所有元素连接在一起,生成一个新的ARRAY数组。输入为字符串:将多个字符串连接在一起,生成一个新的字符串。输入为ARRAY数组参数说明参数是否必选参数类型说明a、b是STRINGARRAY数组。array中的T指代ARRAY数组元素的数据类型,数组中 - [concat_ws](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_concat_ws.md): concat_ws函数用于连接多个字符串,字符串之间以指定的分隔符分隔。或返回将参数中的所有字符串或ARRAY数组中的元素按照指定的分隔符连接在一起的结果。返回STRING类型或STRUCT类型的值。str1或str2非STRING、BIGINT、DECIMAL、DOUBLE或DATETIME类型时,返回报错。如果参数(待拼接字符)为NU - [char_matchcount](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_char_matchcount.md): char_matchcount函数用于计算str1中有多少个字符出现在str2中。返回BIGINT类型。str1或str2值为NULL时,返回NULL。返回3。返回NULL。 - [encode](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_encode.md): encode函数用于使用charset的编码方式对str进行编码。encode(string , string )返回BINARY类型的值。str或charset值为NULL时,返回NULL。将字符串abc按照UTF-8格式编码。命令示例如下。返回abc。select encode("abc", "UTF-8" - [find_in_set](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_find_in_set.md): find_in_set函数用于查找字符串str1在以逗号(,)分隔的字符串str2中的位置,从1开始计数。返回BIGINT类型的值。当str2中无法匹配到str1或str1中包含逗号(,)时,返回0。当str1或str2值为NULL时,返回NULL。查找字符串ab在字符串abc,123,ab,c中的位置。命令示例如下。返回3。select - [get_json_object](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_get_json_object.md): get_json_object函数用于根据所给路径对json对象进行解析,当json对象非法时将返回NULL。返回STRING类型的值。如果json为空或非法的json格式,返回NULL。如果json合法,path也存在,则返回对应字符串。提取JSON对象src_json.json中的信息。命令示例如下。jsonString = {"st - [instr](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_instr.md): instr函数用于返回substr在str中最早出现的下标。当参数中出现NULL时,返回NULL,当str中不存在substr时返回0,注意下标从1开始。相似函数:instr1,instr1函数用于计算子串str2在字符串str1中的位置,instr1函数支持指定起始搜索位置和匹配次数。返回BIGINT类型的值。如果在str1中未找到st - [instr1](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_instr1.md): instr1函数用于计算子串str2在字符串str1中的位置。相似函数:instr,instr函数用于返回substr在str中最早出现的下标。但是instr不支持指定起始搜索位置和匹配次数。返回BIGINT类型。如果在str1中未找到str2,则返回0。如果str2为空串,则总能匹配成功。str1、str2、start_position - [initcap](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_initcap.md): initcap函数用于将文本字符串转换成首字母大写其余字母小写的形式。返回一个STRING类型字符串,字符串中每个单词首字母大写,其余变为小写。返回Dli Sql - [keyvalue](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_keyvalue.md): keyvalue函数用于计算将字符串str按照split1进行切分,并按split2将每组变成Key-Value对,返回key所对应的Value。返回STRING类型。split1或split2值为NULL时,返回NULL。str或key值为NULL或没有匹配的key时,返回NULL。如果有多个Key-Value匹配,返回第一个匹配上的k - [length](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_length.md): length函数用于返回字符串的长度。相似函数:lengthb,lengthb函数用于计算字符串str以字节为单位的长度,返回STRING类型的值。返回BIGINT类型的值。str非STRING、BIGINT、DOUBLE、DECIMAL或DATETIME类型时,返回报错。str值为NULL时,返回NULL。计算字符串abc的长度。命令示 - [lengthb](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_lengthb.md): lengthb函数用于计算字符串str以字节为单位的长度。相似函数:length,length函数用于返回字符串的长度,返回BIGINT类型的值。返回STRING类型的值。str非STRING、BIGINT、DOUBLE、DECIMAL或DATETIME类型时,返回报错。str值为NULL时,返回NULL。返回5。返回NULL。 - [levenshtein](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_levenshtein.md): levenshtein函数用于返回两个字符串之间的Levenshtein距离,如levenshtein('kitten','sitting') =3。Levenshtein距离,是编辑距离的一种。指两个字串之间,由一个转成另一个所需的最少编辑操作次数。返回INT类型的值。返回3 - [locate](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_locate.md): locate函数用于在str中查找substr的位置。您可以通过start_pos指定开始查找的位置,从1开始计数。返回为BIGINT类型。str中无法匹配到substr时,返回0。str或substr值为NULL时,返回NULL。start_pos值为NULL时,返回0。查找字符串ab在字符串abhiab中的位置。命令示例如下。返回1。 - [lower/lcase](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_lower_lcase.md): lower函数用于将文本字符串转换成字母全部小写的形式。返回为STRING类型的值。入参非 STRING、BIGINT、DOUBLE、DECIMAL 或 DATETIME 类型时,返回报错。入参值为NULL时,返回NULL。将字符串中的大写字符转换为小写字符。命令示例如下。返回 abc。输入参数为NULL。命令示例如下。返回NULL。 - [lpad](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_lpad.md): locate函数用于返回指定长度的字符串,给定字符串str1长度小于指定长度length时,由指定字符str2从左侧填补。返回STRING类型的值。如果length小于str1的位数,则返回str1从左开始截取length位的字符串。如果length为0,则返回空串。如果没有输入参数或任一输入参数值为NULL,返回NULL。用字符串ZZ将 - [ltrim](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_ltrim.md): ltrim函数用于从str的左端去除字符:如果未指定trimChars,则默认去除空格字符。如果指定了trimChars,则以trimChars中包含的字符作为一个集合,从str的左端去除尽可能长的所有字符都在集合trimChars中的子串。相似函数:rtrim,rtrim函数用于从str的右端去除字符。trim,trim函数用于从str - [parse_url](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_parse_url.md): parse_url函数用于返回给定URL的指定部分,partToExtract的有效值包括HOST,PATH, QUERY, REF, PROTOCOL, AUTHORITY,FILE和USERINFO。例如:parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HO - [printf](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_printf.md): printf函数用于将输入按特定格式打印输出。返回STRING类型的值。将Obj中的参数填入format后打印输出。返回字符串:姓名:user1,年龄:20,性别:女,籍贯:城市1。 - [regexp_count](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_regexp_count.md): regexp_count函数用于计算source中从start_position位置开始,匹配指定pattern的子串数。返回BIGINT类型的值。如果没有匹配成功,返回0。source、pattern值为NULL时,返回NULL。返回4。返回3。返回 null。 - [regexp_extract](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_regexp_extract.md): REGEXP_EXTRACT函数用于将字符串source按照pattern的分组规则进行字符串匹配,返回第groupid个组匹配到的字符串内容。regexp_extract(string , string [, bigint ])返回STRING类型。如果pattern为空串或patte - [replace](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_replace.md): replace函数用于用new字符串替换str字符串中与old字符串完全重合的部分并返回替换后的str。如果没有重合的字符串,返回原str。返回STRING类型的值。如果任一输入参数值为NULL,返回NULL。返回AA123AA。返回NULL。 - [regexp_replace](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_regexp_replace.md): 根据Spark版本不同,regexp_replace函数的功能略有差异:Spark2.4.5版本及以前版本:regexp_replace函数用于将source字符串中匹配pattern的子串替换成指定字符串replace_string后,返回结果字符串。Spark3.1.1版本:regexp_replace函数用于将source字符串中第 - [regexp_replace1](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_regexp_replace1.md): regexp_replace1函数用于将source字符串中第occurrence次匹配pattern的子串,替换成指定字符串replace_string后,返回结果字符串。regexp_replace1函数只适用于Spark 2.4.5及之前的版本。相似函数:regexp_replace,regexp_replace函数针对不同的Spa - [regexp_instr](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_regexp_instr.md): regexp_instr函数用于计算字符串source从start_position开始,与pattern第occurrence次匹配的子串的起始或结束位置。返回BIGINT类型。return_option指定匹配的子串在source中的开始或结束位置。如果pattern为空串,返回报错。start_position或occurrence - [regexp_substr](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_regexp_substr.md): regexp_substr函数用于计算从start_position位置开始,source中第occurrence次匹配指定pattern的子串。返回STRING类型的值。如果pattern为空串,返回报错。没有匹配时,返回NULL。start_position或occurrence非BIGINT类型或小于等于0时,返回报错。source - [repeat](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_repeat.md): repeat函数用于返回将str重复n次后的字符串。返回STRING类型。str非STRING、BIGINT、DOUBLE、DECIMAL或DATETIME类型时,返回报错。n为空时,返回报错。str或n值为NULL时,返回NULL。将字符‘123’重复2次,返回 123123。 - [reverse](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_reverse.md): reverse函数用于返回倒序字符串。返回STRING类型。str非STRING、BIGINT、DOUBLE、DECIMAL或DATETIME类型时,返回报错。str值为NULL时,返回NULL。返回 LQS krapS。返回[3,4,1,2]。 - [rpad](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_rpad.md): rpad函数用于将字符串str2将字符串str1向右补足到length位。返回STRING类型。如果length小于str1的位数,则返回str1从左开始截取length位的字符串。如果length为0,则返回空串。如果没有输入参数或任一输入参数值为NULL,返回NULL。返回 hi???。返回 h。 - [rtrim](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_rtrim.md): rtrim函数用于从str的右端去除字符:如果未指定trimChars,则默认去除空格字符。如果指定了trimChars,则以trimChars中包含的字符作为一个集合,从str的右端去除尽可能长的所有字符都在集合trimChars中的子串。相似函数:ltrim,ltrim函数用于从str的左端去除字符。trim,trim函数用于从str - [soundex](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_soundex.md): soundex函数用于从str返回一个soundex字符串,如soundex('Miller')= M460。返回STRING类型的值。str值为NULL时,返回NULL。返回M460 - [space](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_space.md): space函数用于返回指定数量的空格。返回STRING类型。n为空时,返回报错。n值为NULL时,返回NULL。返回6。 - [substr/substring](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_substr_substring.md): substr、substring函数用于返回字符串str从start_position开始,长度为length的子串。或返回STRING类型的值。str非STRING、BIGINT、DECIMAL、DOUBLE或DATETIME类型时,返回报错。length非BIGINT类型或值小于等于0时,返回报错。当length被省略时,返回到str - [substring_index](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_substring_index.md): substring_index函数用于截取字符串str第count个分隔符之前的字符串。如果count为正,则从左边开始截取。如果count为负,则从右边开始截取。返回STRING类型。如果任一输入参数值为NULL,返回NULL。返回 hello.world。返回world.people。 - [split_part](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_split_part.md): split_part函数用于依照分隔符separator拆分字符串str,返回从start部分到end部分的子串(闭区间)。返回STRING类型的值。如果start的值大于切分后实际的分段数,例如字符串拆分完有4个片段,start大于4,返回空串。如果separator不存在于str中,且start指定为1,返回整个str。如果str为空 - [translate](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_translate.md): translate函数用于将input字符串中的所出现的字符或者字符串from用字符或者字符串to替换。例如:将abcde中的bcd替换成BCD。返回STRING类型的值。如果任一输入参数值为NULL,返回NULL。返回 A1B2C3。 - [trim](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_trim.md): trim函数用于从str的左右两端去除字符:如果未指定trimChars,则默认去除空格字符。如果指定了trimChars,则以trimChars中包含的字符作为一个集合,从str的左右两端去除尽可能长的所有字符都在集合trimChars中的子串。相似函数:ltrim,ltrim函数用于从str的左端去除字符。rtrim,rtrim函数用 - [upper/ucase](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_upper_ucase.md): upper函数用于从将文本字符串转换成字母全部大写的形式。或返回STRING类型。入参非 STRING、BIGINT、DOUBLE、DECIMAL 或 DATETIME 类型时,返回报错。入参值为NULL时,返回NULL。将字符串中的小写字符转换为大写字符。命令示例如下。返回ABC。输入参数为NULL。命令示例如下。返回NULL。 - [数学函数概览](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0065.md): DLI所支持的数学函数如数学函数所示。 - [abs](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_abs.md): abs函数用于计算入参的绝对值。返回DOUBLE或INT类型的值。a为NULL,则返回NULL。返回NULL。返回1。返回3.1415926。 - [acos](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_acos.md): acos函数用于返回给定角度a的反余弦值。返回DOUBLE类型,值在0~π之间。a的值不在[-1,1]范围内时,返回NaN。a为NULL,则返回NULL。返回3.141592653589793。返回0。返回NULL。返回NAN。 - [asin](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_asin.md): asin函数用于返回给定角度a的反正弦值。返回DOUBLE类型,值在-π/2~π/2之间。a的值不在[-1,1]范围内时,返回NaN。a为NULL,则返回NULL。返回1.5707963267948966。返回0.6435011087932844。返回NULL。返回NAN。 - [atan](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_atan.md): atan函数用于返回给定角度a的反正切值。返回DOUBLE类型,值在-π/2~π/2之间。a的值不在[-1,1]范围内时,返回NaN。a为NULL,则返回NULL。返回0.7853981633974483。返回0.5404195002705842。返回NULL。 - [bin](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_bin.md): bin函数用于返回a的二进制格式。返回STRING类型。a值为NULL时,返回NULL。返回1。返回NULL。返回1000。返回1000。select bin(8.123456); - [bround](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_bround.md): bruond函数用于返回一个数值,该数值是按照指定d位小数进行四舍五入运算的结果。返回DOUBLE类型。a或d值为NULL时,返回NULL。返回123.4。返回123.6。返回NULL。返回123.457。 - [cbrt](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_cbrt.md): cbrt函数用返回a的立方根。返回DOUBLE类型。a为NULL,则返回NULL。返回3。select cbrt(27);返回3.3019272488946267。select cbrt(36);返回NULL。select cbrt(null); - [ceil](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_ceil.md): ceil函数用于对a进行向上舍入最接近的整数。返回DECIMAL类型的值。a为NULL,则返回NULL。返回2。返回-1。返回NULL。 - [conv](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_conv.md): conv函数用于进制转换,将from_base进制下的num转化为to_base进制下面的数。返回STRING类型。num、from_base或to_base值为NULL时,返回NULL。转换过程以64位精度工作,溢出时返回NULL。num如果输入的是小数,会转为整数值后进行进制转换,小数部分会被舍弃。-返回8。返回B。返回703710。 - [cos](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_cos.md): cos函数用于计算a的余弦值,输入为弧度返回DOUBLE类型的值。a为NULL,则返回NULL。返回-0.9999999999999986返回NULL。 - [cot1](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_cot1.md): cot1函数用于计算a的余切值,输入为弧度。返回DOUBLE或DECIMAL类型。a为NULL,则返回NULL。返回1.0000000000000002。返回NULL。 - [degrees](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_degrees.md): degress函数用于计算返回弧度所对应的角度。返回DOUBLE类型的值。a为NULL,则返回NULL。返回90.0。返回0。返回NULL。 - [e](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_e.md): e函数用于计算返回e的值。返回DOUBLE类型的值。返回2.718281828459045。select e(); - [exp](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_exp.md): exp函数用于计算返回e的a次方的值。返回DOUBLE类型的值。a为NULL,则返回NULL。返回7.38905609893065。返回20.085536923187668。返回NULL。 - [factorial](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_factorial.md): factorial函数用于返回a的阶乘。返回BIGINT类型。a值为0时,返回1。a值为NULL或[0,20]之外的值,返回NULL。返回720。返回1。返回120。返回NULL。返回NULL。 - [floor](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_floor.md): floor函数用于对a进行向下舍入最接近的整数。返回BIGINT类型。a为NULL,则返回NULL。返回1。返回-2。返回NULL。 - [greatest](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_greatest.md): greatest函数用于返回列表中的最大值。返回DOUBLE类型的值。a为NULL,则返回NULL。返回4.0。返回NULL。 - [hex](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_hex.md): hex函数用于将整数或字符转换为十六进制格式。返回STRING类型。a值为0时,返回0。a值为NULL时,返回NULL。返回0。返回61。返回10。返回31。返回3136。返回NULL。 - [least](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_least.md): least函数用于返回列表中的最小值。返回DOUBLE类型的值。v1、v2...为String类型时,返回报错。所有参数都为NULL时,返回NULL。返回1.0。返回NULL。 - [ln](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_ln.md): ln函数用于返回给定数值的自然对数。返回DOUBLE类型的值。a值为负数或0时,返回NULL。a值为NULL时,返回NULL。返回1.144729868791239。返回1。返回NULL。 - [log](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_log.md): log函数根据给定底数及指数返回自然对数。返回DOUBLE类型的值。base或a为NULL时,返回NULL。base或a为负数或0时,返回NULL。如果base为1(会引发一个除零行为),会返回NULL。返回2。返回NULL。返回NULL。 - [log10](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_log10.md): log10函数用于返回给定数值的以10为底自然对数。返回DOUBLE类型的值。a值为0、负数或NULL时,返回NULL。返回NULL。返回NULL。返回0.9542425094393249。返回1。 - [log2](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_log2.md): log2函数用于返回给定数值的以2为底自然对数。返回DOUBLE类型的值。a值为0、负数或NULL时,返回NULL。返回NULL。返回NULL。返回3.1699250014423126。返回4。 - [median](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_median.md): median函数用于计算入参的中位数。返回DOUBLE或DECIMAL类型。列名不存在时,返回报错。假设列int_test中的元素为1、2、3、4,类型为INT类型。返回2.5。 - [negative](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_negative.md): negative函数用于返回a的相反数。返回DECIMAL或INT类型。a为NULL,则返回NULL。返回-1。返回3。 - [percentile](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_percentlie.md): percentile函数用于计算精确百分位数,适用于小数据量。先对指定列升序排列,然后取第p位百分数的精确值。返回DOUBLE或ARRAY类型。列名不存在时,返回报错。p为NULL或在[0,1]之外时,返回报错。假设列int_test中的元素为1、2、3、4,类型为INT类型。返回3.0999999999999996。返回3.997。返回 - [percentile_approx](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_percentlie_approx.md): percentile_approx函数用于计算近似百分位数,适用于大数据量。先对指定列升序排列,然后取第p位百分数最靠近的值。返回DOUBLE类型或ARRAY类型的值。列名不存在时,返回报错。p为NULL或在[0,1]之外时,返回报错。假设列int_test中的元素为1、2、3、4,类型为INT类型。返回3。返回3。返回2。返回[1,2, - [pi](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_pi.md): pi函数用于返回π的值。返回DOUBLE类型的值。返回3.141592653589793。 - [pmod](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_pmod.md): pmod函数用于返回a除b的余数的绝对值。pmod(INT a, INT b)返回DECIMAL或INT类型。a或b为NULL,则返回NULL。b为0时,返回NULL返回2。返回3。返回NULL。返回1。返回0.877。 - [positive](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_positive.md): positive函数用于返回a的值。返回 DECIMAL、DOUBLE或INT类型。a为NULL,则返回NULL。返回3。返回-3。返回123。 - [pow](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_pow.md): pow函数用于计算返回a的p次幂。返回DOUBLE类型的值。a、p为NULL,则返回NULL。返回16。返回NULL。返回17.429460393524256。 - [radians](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_radians.md): radians函数用于返回角度所对应的弧度。返回DOUBLE类型的值。a为NULL,则返回NULL。返回1.0471975511965976。返回0。返回NULL。 - [rand](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_rand.md): rand函数用于返回大于或等于0且小于1的平均分布随机数。返回DOUBLE类型的值。返回0.3668915240363728。返回0.25738143505962285。 - [round](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_round.md): round函数用于计算a的四舍五入到d位的值。返回DOUBLE类型的值。d为负数时,返回报错。a或d值为NULL时,返回NULL。返回123.0。返回123.4。返回NULL。返回123.321。返回123.3。返回123.3。 - [shiftleft](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_shiftleft.md): shiftleft函数用于有符号左移,将a的二进制数按位左移b位。shiftleft(BIGINT a, BIGINT b)返回INT类型。a或b值为NULL时,返回NULL。返回8。返回48。返回48。返回NULL。 - [shiftright](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_shiftright.md): shiftright函数用于有符号右移,将a的二进制数按位右移b位。返回INT类型。a或b值为NULL时,返回NULL。返回2。返回4。返回4。返回NULL。 - [shiftrightunsigned](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_shiftrightunsigned.md): shiftrightunsigned函数用于无符号右移,将a的二进制数按位右移b位。返回INT类型。a或b值为NULL时,返回NULL。返回2。返回536870910。返回2。返回NULL。 - [sign](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_sign.md): sign函数用于返回a所对应的正负号。返回DOUBLE类型。a值为正数时,返回1。a值为负数时,返回-1。a值为0时,返回0。a值为NULL时,返回NULL。返回-1。返回1。返回0。返回1。返回NULL。 - [sin](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_sin.md): sin函数用于计算a的正弦值,输入为弧度。返回DOUBLE类型的值。a为NULL,则返回NULL。返回1。返回NULL。 - [sqrt](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_sqrt.md): sqrt函数用于返回数值的平方根。返回DOUBLE类型的值。a为NULL,则返回NULL。返回2.8284271247461903。返回4。返回NULL。 - [tan](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_tan.md): tan函数用于计算a的正切值,输入为弧度。返回DOUBLE类型的值。a为NULL,则返回NULL。返回0.9999999999999999。返回NULL。 - [聚合函数概览](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0068.md): DLI所支持的聚合函数如聚合函数表所示。 - [avg](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_avg.md): avg函数用于计算求平均值。返回DOUBLE类型的值。如果col值为NULL时,该列不参与计算。计算所有仓库的平均商品数(items)。命令示例如下:select avg(items) from warehouse;返回结果如下:_c0 100.0返回结果如下:与group by配合使用,计算每个仓库中所有商品的平均库存。 - [corr](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_corr.md): corr函数用于返回两列数值的相关系数。返回DOUBLE类型的值。计算所有商品库存(items)和价格(price)的相关系数。命令示例如下:select corr(items,price) from warehouse;返回结果如下:_c0 1.242355返回结果如下:与group by配合使用,对所有商品按照仓库(w - [count](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_count.md): count函数用于返回记录条数。返回BIGINT类型。colname值为NULL时,该行不参与计算。计算所有仓库表中的记录数。命令示例如下:select count(*) from warehouse;返回结果如下:_c0 10返回结果如下:与group by配合使用,对所有商品按照仓库(warehouseId)进行分组, - [covar_pop](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_covar_pop.md): covar_pop函数用于返回两列数值协方差。返回DOUBLE类型的值。计算所有商品库存(items)和价格(price)的协方差。命令示例如下:select covar_pop(items,price) from warehouse;返回结果如下:_c0 1.242355返回结果如下:与group by配合使用,对所有商 - [covar_samp](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_covar_samp.md): covar_samp函数用于返回两列数值样本协方差。返回DOUBLE类型的值。计算所有商品库存(items)和价格(price)的样本协方差。命令示例如下:select covar_samp(items,price) from warehouse;返回结果如下:_c0 1.242355返回结果如下:与group by配合使 - [max](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_max.md): max函数用于返回最大值。返回DOUBLE类型的值。返回值的类型与col类型相同。返回规则如下:col值为NULL时,该行不参与计算。col为BOOLEAN类型时,不允许参与运算。计算所有商品的最高库存(items)。命令示例如下:select max(items) from warehouse;返回结果如下:_c0 90 - [min](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_min.md): min函数用于返回最小值。返回DOUBLE类型的值。返回值的类型与col类型相同。返回规则如下:col值为NULL时,该行不参与计算。col为BOOLEAN类型时,不允许参与运算。计算所有商品的最低库存(items)。命令示例如下:select min(items) from warehouse;返回结果如下:_c0 60 - [percentile](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_percentile.md): percentile函数用于返回数值区域的百分比数值点。返回DOUBLE类型的值。0<=P<=1,否则返回NULL。计算所有商品库存(items)的 0.5 百分位。命令示例如下:select percentile(items,0.5) from warehouse;返回结果如下:+------------+ | _c0 | - [percentile_approx](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_percentile_approx.md): percentile_approx函数用于返回组内数字列近似的第p位百分数(包括浮点数)。返回DOUBLE类型的值。计算所有商品库存(items)的 0.5 百分位,精确度100。命令示例如下:select PERCENTILE_APPROX(items,0.5,100) from warehouse;返回结果如下:+---------- - [stddev_pop](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_stddev_pop.md): stddev_pop函数用于返回指定列的偏差。返回DOUBLE类型的值。计算所有商品库存(items)的偏差。命令示例如下:select stddev_pop(items) from warehouse;返回结果如下:_c0 1.342355返回结果如下:与group by配合使用,对所有商品按照仓库(warehouseI - [stddev_samp](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_stddev_samp.md): stddev_samp函数用于返回指定列的样本偏差。返回DOUBLE类型的值。计算所有商品库存(items)的样本偏差。命令示例如下:select stddev_samp(items) from warehouse;返回结果如下:+------------+ | _c0 | +------------+ | 1.342355 - [sum](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_sum.md): sum函数用于计算求和。返回DOUBLE类型的值。如果col值为NULL时,该行不参与计算。计算所有仓库的商品(items)总和。命令示例如下:select sum(items) from warehouse;返回结果如下:_c0 55357返回结果如下:与group by配合使用,对所有商品按照仓库(warehouseI - [variance/var_pop](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_variance_var_pop.md): variance/var_pop函数用于返回列的方差。返回DOUBLE类型的值。计算所有商品库存(items)的方差。命令示例如下:select variance(items) from warehouse; --等效于如下语句。 select var_pop(items) from warehouse;返回结果如下:_c0 - [var_samp](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_war_samp.md): var_samp函数用于返回指定列的样本方差。返回DOUBLE类型的值。计算所有商品库存(items)的样本方差。命令示例如下:select var_samp(items) from warehouse;返回结果如下:_c0 294.342355返回结果如下:与group by配合使用,对所有商品按照仓库(warehous - [分析窗口函数概览](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0069.md): DLI所支持的分析窗口函数如分析窗口函数介绍所示。 - [cume_dist](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_cume_dist.md): cume_dist函数用于求累计分布,相当于求分区中大于等于或小于等于当前行的数据在分区中的占比。窗口函数的使用限制如下:窗口函数只能出现在select语句中。窗口函数中不能嵌套使用窗口函数和聚合函数。窗口函数不能和同级别的聚合函数一起使用。返回DOUBLE类型的值。a为NULL,则返回NULL。为便于理解函数的使用方法,本文为您提供源数 - [first_value](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_first_value.md): first_value函数用于取当前行所对应窗口的第一条数据的值。窗口函数的使用限制如下:窗口函数只能出现在select语句中。窗口函数中不能嵌套使用窗口函数和聚合函数。窗口函数不能和同级别的聚合函数一起使用。参数的数据类型。示例数据为便于理解函数的使用方法,本文为您提供源数据,基于源数据提供函数相关示例。创建表logs,并添加数据,命令 - [last_value](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_last_value.md): last_value函数用于取当前行所对应窗口的最后一条数据的值。窗口函数的使用限制如下:窗口函数只能出现在select语句中。窗口函数中不能嵌套使用窗口函数和聚合函数。窗口函数不能和同级别的聚合函数一起使用。参数的数据类型。为便于理解函数的使用方法,本文为您提供源数据,基于源数据提供函数相关示例。创建表logs,并添加数据,命令示例如下 - [lag](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_lag.md): lag函数用于用于统计窗口内往上第n行值。窗口函数的使用限制如下:窗口函数只能出现在select语句中。窗口函数中不能嵌套使用窗口函数和聚合函数。窗口函数不能和同级别的聚合函数一起使用。参数的数据类型。示例数据为便于理解函数的使用方法,本文为您提供源数据,基于源数据提供函数相关示例。创建表logs,并添加数据,命令示例如下:create - [lead](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_lead.md): lead函数用于用于统计窗口内往下第n行值。窗口函数的使用限制如下:窗口函数只能出现在select语句中。窗口函数中不能嵌套使用窗口函数和聚合函数。窗口函数不能和同级别的聚合函数一起使用。参数的数据类型。示例数据为便于理解函数的使用方法,本文为您提供源数据,基于源数据提供函数相关示例。创建表logs,并添加数据,命令示例如下:create - [percent_rank](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_percent_rank.md): percent_rank函数为窗口的ORDER BY子句所指定列中值的返回值,但以介于0和1之间的小数形式表示,计算方法为 (分组内当前行的RANK值-1)/(分组内总行数-1)。窗口函数的使用限制如下:窗口函数只能出现在select语句中。窗口函数中不能嵌套使用窗口函数和聚合函数。窗口函数不能和同级别的聚合函数一起使用。返回DOUBLE - [rank](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_rank.md): rank函数用于计算一个值在一组值中的排位。如果出现并列的情况,RANK函数会在排名序列中留出空位。窗口函数的使用限制如下:窗口函数只能出现在select语句中。窗口函数中不能嵌套使用窗口函数和聚合函数。窗口函数不能和同级别的聚合函数一起使用。返回INT类型的值。a为NULL,则返回NULL。为便于理解函数的使用方法,本文为您提供源数据, - [row_number](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_row_number.md): row_number函数用于计算行号。从1开始递增。窗口函数的使用限制如下:窗口函数只能出现在select语句中。窗口函数中不能嵌套使用窗口函数和聚合函数。窗口函数不能和同级别的聚合函数一起使用。返回DOUBLE类型的值。a为NULL,则返回NULL。为便于理解函数的使用方法,本文为您提供源数据,基于源数据提供函数相关示例。创建表logs - [函数概览](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0469.md): DLI提供了的decode1、javahash、max_pt等函数的说明如下。 - [decode1](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_decode1.md): decode1函数实现if-then-else分支选择的功能。result 和 default 为返回值,支持返回所有的数据类型。如果匹配,返回result。如果没有匹配,返回default。如果没有指定default,返回NULL。如果search选项有重复且匹配时,会返回第一个值。为便于理解函数的使用方法,本文为您提供源数据,基于源数 - [javahash](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_javahash.md): javahash函数用于返回a的hash值。返回STRING类型的值。返回hash值,如果a为null,返回报错。返回 48690返回 123 - [max_pt](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_max_pt.md): max_pt函数用于返回分区表的一级分区中有数据的分区的最大值,按字母排序,且读取该分区下对应的数据。返回STRING类型的值。返回最大的一级分区的值。如果只是用alter table的方式新加了一个分区,但是此分区中并无任何数据,则此分区不会作为返回值。例如 table1 是分区表,该表对应的分区为20120801和20120802,且 - [ordinal](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_ordinal.md): ordinal函数用于将输入变量按从小到大排序后,返回nth指定位置的值。。DOUBLE或DECIMAL类型。排在第nth位的值,当不存在隐式转换时返回值同输入参数数据类型。当有类型转换时,DOUBLE、BIGINT、STRING之间的转换返回DOUBLE类型;STRING、DATETIME之间的转换返回DATETIME类型。不允许其他的 - [trans_array](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_trans_array.md): trans_array函数用于将一行数据转为多行的UDTF,将列中存储的以固定分隔符格式分隔的数组转为多行。所有作为key的列必须位于在前面,而要转置的列必须放在后面。在一个select中只能有一个UDTF,不可以再出现其他的列。不可以与group by、cluster by、distribute by、sort by一起使用。参数的数据 - [trunc_numeric](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_trunc_numeric.md): trunc_numeric函数用于将输入值number截取到指定小数点位置。返回DOUBLE或DECIMAL类型。返回规则如下:number为DOUBLE、DECIMAL类型时会返回相应的类型。number为STRING、BIGINT类型时,返回DOUBLE类型。decimal_places非BIGINT类型时,返回报错。number值为 - [url_decode](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_url_decode.md): url_decode函数用于将字符串从application/x-www-form-urlencoded MIME格式转为常规字符。返回STRING类型的值。STRING类型UTF-8编码的字符串。返回 Example for URL_DECODE:// dsf(fasfs)。 - [url_encode](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_url_encode.md): url_encode函数用于将字符串编码为application/x-www-form-urlencoded MIME格式。url_encode(string [, string ])返回STRING类型的值。input或encoding值为NULL时,返回NULL。返回Example+for+url_e - [基本语句](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0150.md): 基本的查询语句,返回查询结果。所查询的表必须是已经存在的表,否则提示查询错误。在DLI管理控制台提交SQL语句读取binary类型的数据进行展示时,会对binary数据进行Base64转换。在where子句中使用not in时,必须保证子查询结果集不包含任何null值。一旦存在null,整个查询结果将为空集。解决方案请参考常见问题:not - [ORDER BY](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0155.md): 按字段实现查询结果的全局排序。ASC/DESC:ASC为升序,DESC为降序,默认为ASC。ORDER BY:对全局进行单列或多列排序。与GROUP BY一起使用时,ORDER BY后面可以跟聚合函数。所排序的表必须是已经存在的,否则会出错。根据字段score对表student进行升序排序,并返回排序后的结果。 - [SORT BY](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0156.md): 按字段实现表的局部排序。ASC/DESC:ASC为升序,DESC为降序,默认为ASC。SORT BY:一般与GROUP BY一起使用,为PARTITION进行单列或多列的局部排序。所排序的表必须是已经存在的,否则会出错。根据字段score对表student在Reducer中进行升序排序。 - [CLUSTER BY](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0157.md): 按字段实现表的分桶及桶内排序。CLUSTER BY:根据指定的字段进行分桶,支持单字段及多字段,并在桶内进行排序。所排序的表必须是已经存在的,否则会出错。根据字段score对表student进行分桶并进行桶内局部降序排序。 - [DISTRIBUTE BY](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0158.md): 按字段实现表的分桶。DISTRIBUTE BY:根据指定的字段进行分桶,支持单字段及多字段,不会在桶内进行排序。与SORT BY配合使用即为分桶后的排序。所排序的表必须是已经存在的,否则会出错。根据字段score对表student进行分桶。 - [按列GROUP BY](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0160.md): 按列对表进行分组操作。GROUP BY:按列可分为单列GROUP BY与多列GROUP BY。单列GROUP BY:指GROUP BY子句中仅包含一列,col_name_list中包含的字段必须出现在attr_expr_list的字段内,attr_expr_list中可以使用多个聚合函数,比如count(),sum(),聚合函数中可以包含 - [按表达式GROUP BY](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0161.md): 按表达式对表进行分组操作。groupby_expression:可以是单字段,多字段,也可以是聚合函数,字符串函数等。所要分组的表必须是已经存在的表,否则会出错。同单列分组,GROUP BY中出现的字段必须包含在attr_expr_list的字段中,表达式支持内置函数,自定义函数等。先利用substr函数取字段name的子字符串,并按照该 - [GROUP BY中使用HAVING](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0162.md): 利用HAVING子句在表分组后实现过滤。groupby_expression:可以是单字段,多字段,也可以是聚合函数,字符串函数等。所要分组的表必须是已经存在的表,否则会出错。如果过滤条件受GROUP BY的查询结果影响,则不能用WHERE子句进行过滤,而要用HAVING子句进行过滤。HAVING与GROUP BY合用,先通过GROUP - [ROLLUP](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0163.md): ROLLUP生成聚合行、超聚合行和总计行。可以实现从右到左递减多级的统计,显示统计某一层次结构的聚合。ROLLUP:为GROUP BY的扩展,例如:SELECT a, b, c, SUM(expression) FROM table GROUP BY a, b, c WITH ROLLUP;将转换成以下四条查询:(a, b, c)组合小计 - [GROUPING SETS](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0164.md): GROUPING SETS生成交叉表格行,可以实现GROUP BY字段的交叉统计。GROUPING SETS:为对GROUP BY的扩展,例如SELECT a, b, sum(expression) FROM table GROUP BY a, b GROUPING SETS((a,b));将转换为以下一条查询:SELECT a, b, - [内连接](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0166.md): 仅将两个表中满足连接条件的行组合起来作为结果集。JOIN/INNER JOIN:只显示参与连接的表中满足JOIN条件的记录。所要进行JOIN连接的表必须是已经存在的表,否则会出错。在一次查询中可以连接两个以上的表。通过将student_info与course_info两张表中的课程编号匹配建立JOIN连接,来查看学生姓名及所选课程名称。 - [左外连接](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0167.md): 根据左表的记录去匹配右表,返回所有左表记录,没有匹配值的记录的返回NULL。LEFT OUTER JOIN:返回左表的所有记录,没有匹配值的记录将返回NULL。所要进行JOIN连接的表必须是已经存在的表,否则会出错。左外连接时利用student_info表中的courseId与course_info中的courseId进行匹配,返回已经选 - [右外连接](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0168.md): 根据右表的记录去匹配左表,返回所有右表记录,没有匹配值的记录返回NULL。RIGHT OUTER JOIN:返回右表的所有记录,没有匹配值的记录将返回NULL。所要进行JOIN连接的表必须是已经存在的表,否则会出错。右外连接和左外连接相似,但是会将右边表(这里的course_info)中的所有记录返回,没有匹配值的左表记录将返回NULL。 - [全外连接](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0169.md): 根据左表与右表的所有记录进行匹配,没有匹配值的记录返回NULL。FULL OUTER JOIN:根据左表与右表的所有记录进行匹配,没有匹配值的记录返回NULL。所要进行JOIN连接的表必须是已经存在的表,否则会出错。利用全外连接可以将两张表中的所有记录返回,没有匹配值的左表及右表记录将返回NULL。 - [隐式连接](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0170.md): 与内连接功能相同,返回两表中满足WHERE条件的结果集,但不用JOIN显示指定连接条件。WHERE:隐式连接利用WHERE条件实现类似JOIN...ON...的连接,返回匹配的记录。语法格式中仅给出等式条件下的WHERE条件过滤,同时也支持不等式WHERE条件过滤。所要进行JOIN连接的表必须是已经存在的表,否则会出错。隐式JOIN的命令 - [笛卡尔连接](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0171.md): 笛卡尔连接把第一个表的每一条记录和第二个表的所有记录相连接,如果第一个表的记录数为m, 第二个表的记录数为n,则会产生m*n条记录数。join_condition:连接条件,如果该条件恒成立(比如1=1),该连接就是笛卡尔连接。所以,笛卡尔连接输出的记录条数等于被连接表的各记录条数的乘积,若需要进行笛卡尔积连接,需使用专门的关键词CROS - [左半连接](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0172.md): 左半连接用来查看左表中符合JOIN条件的记录。LEFT SEMI JOIN:只显示左表中的记录。可通过在LEFT SEMI JOIN, WHERE...IN和WHERE EXISTS中嵌套子查询来实现。左半连接与左外连接的区别是,左半连接将返回左表中符合JOIN条件的记录,而左外连接将返回左表所有的记录,匹配不上JOIN条件的记录将返回N - [不等值连接](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0173.md): 不等值连接中,多张表通过不相等的连接值进行连接,并返回满足条件的结果集。non_equi_join_condition:与join_condition类似,只是join条件均为不等式条件。所要进行JOIN连接的表必须是已经存在的表,否则会出错。返回student_info_1与student_info_2两张表中的所有学生姓名对组合,但不 - [FROM](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0176.md): 在FROM子句中嵌套子查询,子查询的结果作为中间过渡表,进而作为外部SELECT语句的数据源。ALL:返回重复的行。为默认选项。其后只能跟*,否则会出错。DISTINCT:从结果集移除重复的行。所要查询的表必须是已经存在的表,否则会出错。FROM嵌套子查询中,子查询必须要取别名,且别名的命名要早于别名的使用,否则会出错。建议别名不要重名。 - [OVER](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0190.md): 窗口函数与OVER语句一起使用。OVER语句用于对数据进行分组,并对组内元素进行排序。窗口函数用于给组内的值生成序号。PARTITION BY:可以用一个或多个键分区。和GROUP BY子句类似,PARTITION BY将表按分区键分区,每个分区是一个窗口,窗口函数作用于各个分区。单表分区数最多允许7000个。ORDER BY:决定窗口函 - [WHERE](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0175.md): 在WHERE子句中嵌套子查询,利用子查询的结果作为过滤条件。ALL:返回重复的行。为默认选项。其后只能跟*,否则会出错。DISTINCT:从结果集移除重复的行。WHERE:WHERE子句嵌套将利用子查询的结果作为过滤条件。operator:包含关系运算符中的等式与不等式操作符及IN,NOT IN,EXISTS,NOT EXISTS操作符。 - [HAVING](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0177.md): 在HAVING子句中嵌套子查询,子查询结果将作为HAVING子句的一部分。ALL:返回重复的行。为默认选项。其后只能跟*,否则会出错。DISTINCT:从结果集移除重复的行。groupby_expression:可以是单字段,多字段,也可以是聚合函数,字符串函数等。operator:此操作符包含等式操作符与不等式操作符,及IN,NOT I - [多层嵌套子查询](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0178.md): 多层嵌套子查询,即在子查询中嵌套子查询。ALL:返回重复的行。为默认选项。其后只能跟*,否则会出错。DISTINCT:从结果集移除重复的行。所要查询的表必须是已经存在的表,否则会出错。在嵌套查询中必须指定子查询的别名,否则会出错。别名的命名必须在别名的使用之前,否则会出错,建议别名不要重名。通过三次子查询,最终返回user_info中的n - [表别名](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0180.md): 给表或者子查询结果起别名。table_reference:可以是表,视图或者子查询。AS:可用于连接table_reference和alias,是否添加此关键字不会影响命令执行结果。所要查询的表必须是已经存在的,否则会出错。别名的命名必须在别名的使用之前,否则会出错。此外,建议不要重名。给表simple_table起为n的别名,并利用n. - [列别名](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0181.md): 给列起别名。alias:用于对attr_expr中的字段名称起别名。AS:是否添加此关键字不会影响结果。所要查询的表必须是已经存在的,否则会出错。别名的命名必须在别名的使用之前,否则会出错。此外,建议不要重名。先通过子查询SELECT name AS n FROM simple_table WHERE score > 90获得结果,在子查 - [UNION](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0183.md): UNION返回多个查询结果的并集。UNION:集合运算,以一定条件将表首尾相接,其中每一个SELECT语句返回的列数必须相同,列的类型和列名不一定要相同。UNION默认是去重的,UNION ALL是不去重的。不能在多个集合运算间(UNION,INTERSECT,EXCEPT)加括号,否则会出错。返回“SELECT * FROM stude - [INTERSECT](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0184.md): INTERSECT返回多个查询结果的交集。INTERSECT:返回多个查询结果的交集,且每一个SELECT语句返回的列数必须相同,列的类型和列名不一定要相同。INTERSECT默认去重。不能在多个集合运算间(UNION,INTERSECT,EXCEPT)加括号,否则会出错返回“SELECT * FROM student _1”查询结果与“ - [EXCEPT](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0185.md): 返回两个查询结果的差集。EXCEPT:做集合减法。A EXCEPT B将A中所有和B重合的记录扣除,然后返回去重后的A中剩下的记录,EXCEPT默认不去重。与UNION相同,每一个SELECT语句返回的列数必须相同,列的类型和列名不一定要相同。不能在多个集合运算间(UNION,INTERSECT,EXCEPT)加括号,否则会出错先将“SE - [WITH...AS](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0186.md): 通过用WITH...AS定义公共表达式(CTE)来简化查询,提高可阅读性和易维护性。cte_name:公共表达式的名字,不允许重名。select_statement:完整的SELECT语句。sql_containing_cte_name:包含了刚刚定义的公共表达式的SQL语句定义了一个CTE后必须马上使用,否则这个CTE定义将失效。可以通 - [简单CASE函数](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0188.md): 依据input_expression与when_expression的匹配结果跳转到相应的result_expression。CASE:简单CASE函数中支持子查询,但须注意input_expression与when_expression是可匹配的。如果没有取值为TRUE的input_expression = when_expressio - [CASE搜索函数](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0189.md): 按指定顺序为每个WHEN子句的boolean_expression求值。返回第一个取值为TRUE的boolean_expression的result_expression。boolean_expression:可以包含子查询,但整个boolean_expression表达式返回值只能是布尔类型。如果没有取值为TRUE的Boolean_ex - [aggregate_func](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0002.md): 无。聚合函数。aggregate_func通常在数据库查询中用于对一组值进行计算并返回单个结果。 - [alias](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0003.md): 无。别名,可给字段、表、视图、子查询起别名,仅支持字符串类型。 - [attr_expr](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0004.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [attr_expr_list](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0005.md): 无。attr_expr列表,以逗号分隔。 - [attrs_value_set_expr](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0006.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [boolean_expression](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0007.md): 无。返回boolean类型的表达式。 - [class_name](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0008.md): 无。函数所依赖的类名,注意类名需要包含类所在包的完整路径。 - [col](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0009.md): 无。函数调用时的形参,一般即为字段名称,与col_name相同。 - [col_comment](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0010.md): 无。对列(字段)的描述,仅支持字符串类型,描述长度不能超过256字节。 - [col_name](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0011.md): 无。列名,即字段名称,仅支持字符串类型,名称长度不能超过128个字节。 - [col_name_list](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0012.md): 无。字段列表,可由一个或多个col_name构成,多个col_name之间用逗号分隔。 - [condition](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0013.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [condition_list](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0014.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [cte_name](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0015.md): 无。公共表达式的名字。 - [data_type](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0016.md): 无。数据类型,当前只支持原生数据类型。 - [db_comment](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0017.md): 无。对数据库的描述,仅支持字符串类型,描述长度不能超过256字节。 - [db_name](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0018.md): 无。数据库名称,仅支持字符串类型,名称长度不能超过128字节。 - [else_result_expression](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0019.md): 无。CASE WHEN语句中ELSE语句后的返回结果。 - [file_format](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0020.md): | AVRO| CSV| JSON| ORC| PARQUET目前包含以上6种格式。指定数据格式的方式有两种,一种是USING,可指定以上6种数据格式,另一种是STORED AS,只能指定ORC和PARQUET。ORC对RCFile做了优化,可以提供一种高效的方法来存储Hive数据。PARQUET是面向分析型业务的列式存储格式。 - [file_path](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0021.md): 无。文件路径,该路径是OBS路径。 - [function_name](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0022.md): 无。函数名称,仅支持字符串类型。 - [groupby_expression](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0023.md): 无。包含GROUP BY的表达式。 - [having_condition](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0024.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [hdfs_path](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0025.md): 无。HDFS的路径,如hdfs:///tmp。 - [input_expression](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0026.md): 无。CASE WHEN的输入表达式。 - [input_format_classname](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0027.md): 无。指定输入格式的类名,如org.apache.hadoop.mapred.TextInputFormat。 - [jar_path](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0028.md): 无。jar包路径,该路径可以是本地路径也可以是HDFS路径。 - [join_condition](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0029.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [non_equi_join_condition](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0030.md): 无。指不等式join条件。 - [number](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0031.md): 无。LIMIT限制输出的行数,只支持INT类型。 - [num_buckets](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0032.md): 无。分桶的个数,仅支持INT类型。 - [output_format_classname](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0033.md): 无。指定输出格式的类名,如org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat。 - [partition_col_name](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0034.md): 无。分区列名,即分区字段名称,仅支持字符串类型。 - [partition_col_value](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0035.md): 无。分区列值,即分区字段的值。 - [partition_specs](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0036.md): partition_specs : (partition_col_name = partition_col_value, partition_col_name = partition_col_value, ...);表的分区列表,以key=value的形式表现,key为partition_col_name ,value为partition - [property_name](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0037.md): 无。属性名称,仅支持字符串类型。 - [property_value](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0038.md): 无。属性值,仅支持字符串类型。 - [regex_expression](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0039.md): 无。模式匹配字符串,支持通配符匹配。 - [result_expression](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0040.md): 无。CASE WHEN语句中THEN语句后的返回结果。 - [row_format](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0041.md): ROW FORMAT DELIMITED[FIELDS TERMINATED BY separator][COLLECTION ITEMS TERMINATED BY separator][MAP KEYS TERMINATED BY separator] [LINES TERMINATED BY separator][NULL DEFI - [select_statement](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0042.md): 无。SELECT基本语句,即查询语句。 - [separator](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0043.md): 无。分隔符,仅支持CHAR类型,支持用户自定义,如逗号、分号、冒号等。 - [serde_name](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0044.md): 无。指定serde的名称。 - [sql_containing_cte_name](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0045.md): 无。包含了cte_name定义的公共表达式的SQL语句。 - [sub_query](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0046.md): 无。指子查询。 - [table_comment](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0047.md): 无。对表的描述,仅支持字符串类型,描述长度不能超过256字节。 - [table_name](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0048.md): 无。表名称,支持字符串类型和“$”符号,名称长度不能超过128字节。 - [table_properties](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0049.md): 无。表的属性列表,以key=value的形式表示,key为property_name,value为property_value,列表中每组key=value之间用逗号分隔。 - [table_reference](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0050.md): 无。表或视图的名称,仅支持字符串类型,也可为子查询,当为子查询时,必须加别名。 - [view_name](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0051.md): 无。视图名称,仅支持字符串类型,名称长度不能超过128个字节。 - [view_properties](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0052.md): 无。视图的属性列表,以key=value的形式表示,key为property_name,value为property_value,列表中每组key=value之间用逗号分隔。 - [when_expression](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0053.md): 无。CASE WHEN语句的when表达式,与输入表达式进行匹配。 - [where_condition](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0054.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [window_function](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0055.md): 无。分析窗口函数。 - [关系运算符](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0061.md): 所有数据类型都可用关系运算符进行比较,并返回一个BOOLEAN类型的值。关系运算符均为双目操作符,被比较的两个数据类型必须是相同的数据类型或者是可以进行隐式转换的类型。DLI提供的关系运算符,请参见表1。 - [算术运算符](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0062.md): 算术运算符包括双目运算与单目运算,这些运算符都将返回数字类型。DLI所支持的算术运算符如表1所示。 - [逻辑运算符](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0063.md): 常用的逻辑操作符有AND、OR和NOT,它们的运算结果有三个值,分别为TRUE、FALSE和NULL,其中NULL代表未知。优先级顺序为:NOT>AND>OR。运算规则请参见表1,表中的A和B代表逻辑表达式。 - [Flink Opensource SQL语法参考简介](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_00006.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [语法支持类型](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15002.md): DLI支持以下数据类型:CHAR, VARCHAR, STRING, BOOLEAN, BINARY, VARBINARY, BYTES, DECIMAL, TINYINT, SMALLINT, INTEGER, BIGINT, FLOAT, DOUBLE, DATE, TIME, TIMESTAMP, TIMESTAMP_LTZ, IN - [保留关键字](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15003.md): 一些字符串的组合已经被预留为关键字以备未来使用。如果使用以下字符串作为字段名,请在使用时使用反引号将该字段名包起来,例如 `value`, `count` 。A, ABS, ABSOLUTE, ACTION, ADA, ADD, ADMIN, AFTER, ALL, ALLOCATE, ALLOW, ALTER, ALWAYS, AND, - [CREATE TABLE语句](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15006.md): 根据指定的表名创建一个表,如果同名表已经在 catalog 中存在了,则无法注册。COMPUTED COLUMN计算列是一个使用 “column_name AS computed_column_expression” 语法生成的虚拟列。它由使用同一表中其他列的非查询表达式生成,并且不会在表中进行物理存储。例如,一个计算列可以使用 cost - [CREATE CATALOG语句](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15007.md): 根据给定的属性创建catalog。如果已经存在同名catalog会抛出异常。WITH OPTIONScatalog属性一般用于存储关于这个catalog额外的信息。表达式 key1=val1 中的键和值都是字符串文本常量。 - [CREATE DATABASE语句](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15008.md): 根据给定的表属性创建数据库。如果数据库中已存在同名表会抛出异常。IF NOT EXISTS如果数据库已经存在,则不会进行任何操作。WITH OPTIONS数据库属性一般用于存储关于这个数据库额外的信息。表达式 key1=val1中的键和值都是字符串文本常量。 - [CREATE VIEW语句](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15009.md): 根据给定的 query 语句创建一个视图。如果数据库中已经存在同名视图会抛出异常。TEMPORARY创建一个有 catalog 和数据库命名空间的临时视图,并覆盖原有的视图。IF NOT EXISTS如果该视图已经存在,则不会进行任何操作。创建一个名为viewName的视图。 - [CREATE FUNCTION语句](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15010.md): 创建一个有 catalog 和数据库命名空间的 catalog function ,需要指定一个 identifier ,可指定 language tag 。 若catalog 中,已经有同名的函数注册了,则无法注册。如果 language tag 是 JAVA 或者 SCALA ,则 identifier 是 UDF 实现类的全限定名。 - [DML语法定义](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15011.md): Flink SQL 对于标识符(表、属性、函数名)有类似于 Java 的词法约定:不管是否引用标识符,都保留标识符的大小写。且标识符需区分大小写。与 Java 不一样的地方在于,通过反引号,可以允许标识符带有非字母的字符(如:"SELECT a AS `my field` FROM t")。不管是否引用标识符,都保留标识符的大小写。且标识 - [Flink OpenSource SQL1.15语法概览](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15012.md): 本章节介绍目前DLI所提供的Flink OpenSource SQL1.15语法列表。参数说明,示例等详细信息请参考具体的语法说明。 - [Flink OpenSource SQL 1.15版本使用说明](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15108.md): 如果您的作业是从Flink1.12版本切换至Flink 1.15,在使用Flink OpenSource SQL 1.15时请注意以下使用说明。Flink SQL采用SQL Client 提交方式,相比Flink1.12的优化参数,Flink 1.15需要在SQL脚本使用SET 'key'='value';进行配置。详细语法请参考SQL - [Format概述](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15015.md): Flink 提供了一套与表连接器(table connector)一起使用的表格式(table format)。表格式是一种存储格式,定义了如何把二进制数据映射到表的列上。 - [Avro Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15016.md): Avro格式允许基于Avro schema 读取和写入Avro 数据。目前,Avro schema 从表schema 推导。更多具体使用可参考开源社区文档:Avro Format。KafkaUpsert KafkaFileSystem目前,Avro schema 通常是从 table schema 中推导而来。尚不支持显式定义 Avro - [Canal Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15017.md): Canal是一个 CDC(ChangeLog Data Capture,变更日志数据捕获)工具,可以实时地将 MySQL 变更传输到其他系统。Canal 为变更日志提供了统一的数据格式,并支持使用 JSON 或 protobuf序列化消息(Canal 默认使用 protobuf)。Flink 支持将 Canal 的 JSON 消息解析为 - [Confluent Avro Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15018.md): Avro Schema Registry (avro-confluent) 格式能让您读取被 io.confluent.kafka.serializers.KafkaAvroSerializer 序列化的记录,以及可以写入成能被 io.confluent.kafka.serializers.KafkaAvroDeserializer 反序 - [CSV Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15019.md): CSV Format 允许我们基于CSV schema 进行解析和生成CSV 数据。目前的CSV schema 是基于table schema 推导出来的。更多具体使用可参考开源社区文档:CSV Format。KafkaUpsert KafkaFileSystem目前 CSV 的 schema 都是从 table schema 推断而来的 - [Debezium Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15020.md): Debezium是一个 CDC(Changelog Data Capture,变更数据捕获)的工具,可以把其他数据库的更改实时流式传输到 Kafka 中。 Debezium 为变更日志提供了统一的格式结构,并支持使用 JSON 和 Apache Avro 序列化消息。Flink 支持将 Debezium JSON 和 Avro 消息解析为 - [JSON Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15021.md): JSON Format 能读写 JSON 格式的数据。当前,JSON schema 是从 table schema 中自动推导而得的。更多具体使用可参考开源社区文档:JSON Format。KafkaUpsert KafkaElasticsearch当前,JSON schema 将会自动从 table schema 之中自动推导得到。不支 - [Maxwell Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15022.md): Maxwell是一个CDC(Changelog Data Capture)工具,可以将MySql中的更改实时流式写入到Kafka等流式connector。Maxwell为changelog提供了统一的格式,而且支持使用JSON对消息进行序列化。Flink 支持将 Maxwell JSON 消息解释为 INSERT/UPDATE/DELET - [Ogg Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15023.md): Oracle GoldenGate (a.k.a ogg) 是一个实现异构 IT 环境间数据实时数据集成和复制的综合软件包。 该产品集支持高可用性解决方案、实时数据集成、事务更改数据捕获、运营和分析企业系统之间的数据复制、转换和验证。Ogg 为变更日志提供了统一的格式结构,并支持使用 JSON 序列化消息。Flink 支持将 Ogg JS - [Orc Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15024.md): Apache Orc Format允许读写ORC数据。更多具体使用可参考开源社区文档:Orc Format。FileSystemOrc 格式也支持来源于 Table properties 的表属性。 举个例子,您可以设置 orc.compress=SNAPPY 来允许spappy压缩。Orc 格式类型的映射和 Apache Hive 是 - [Parquet Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15025.md): Apache Parquet格式允许读写 Parquet 数据。更多具体使用可参考开源社区文档:Parquet Format。FileSystem目前,Parquet 格式类型映射与 Apache Hive 兼容,但与 Apache Spark 有所不同:Timestamp:不论精度,映射 timestamp 类型至 int96。Deci - [Raw Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15026.md): Raw format 允许读写原始(基于字节)值作为单个列。Raw Format将 null 值编码成 byte[] 类型的 null。这样在 upsert-kafka 中使用时可能会有限制,因为 upsert-kafka 将 null 值视为 墓碑消息(在键上删除)。因此,如果该字段可能具有 null 值,我们建议避免使用 upsert - [Connector概述](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15028.md): 源表:源表是Flink作业的数据输入表,例如Kafka等实时流数据输入。维表:数据源表的辅助表,用于丰富和扩展源表的数据。在Flink作业中,因为数据采集端采集到的数据往往比较有限,在做数据分析之前,就要先将所需的维度信息补全,而维表就是代表存储数据维度信息的数据源。常见的用户维表有 MySQL,Redis等。结果表:Flink作业输出的 - [BlackHole](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15029.md): BlackHole Connector允许接收所有输入记录,常用于高性能测试和UDF输出,其不是实质性Sink。Blackhole结果表是系统内置的Connector。例如,如果您在注册其他类型的Connector结果表时报错,但您不确定是系统问题还是结果表WITH参数错误,您可以将WITH参数修改为'connector' = 'blac - [ClickHouse](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15030.md): DLI支持将Flink作业数据输出到ClickHouse数据库中,表类型仅支持结果表。ClickHouse是面向联机分析处理的列式数据库,支持SQL查询,且查询性能好,特别是基于大宽表的聚合分析查询性能非常优异,比其他分析型数据库速度快一个数量级。详细请参考ClickHouse组件操作。该场景作业需要运行在DLI的独享队列上。该场景需要与 - [DataGen](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15031.md): DataGen主要用于生成随机数据,可用于调试以及测试等场景。创建DataGen表时,表字段类型不支持Array,Map和Row复杂类型,可以通过CREATE TABLE语句中的“COMPUTED COLUMN”来进行类似功能构造。创建Flink OpenSource SQL作业时,在作业编辑界面的“运行参数”处,“Flink版本”需要选 - [Doris Connector概述](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15033.md): Flink Doris Connector 可以支持通过 Flink 操作(读取、插入、修改、删除) Doris 中存储的数据。只能对Unique Key模型的表进行修改和删除操作。 - [Doris源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15034.md): Flink SQL作业读取Doris源表。该场景作业需要运行在DLI的独享队列上,因此要与Doris建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。如何建立增强型跨源连接,请参考《数据湖 - [Doris结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15035.md): Flink SQL作业写Doris结果表。该场景作业需要运行在DLI的独享队列上,因此要与Doris建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。如何建立增强型跨源连接,请参考《数据湖 - [Doris维表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15036.md): 创建Doris维表用于与输入流连接生成宽表。该场景作业需要运行在DLI的独享队列上,因此要与HBase建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。如何建立增强型跨源连接,请参考《数据 - [DWS Connector概述](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15037.md): 数据仓库服务(Data Warehouse Service,简称DWS)是一种基于基础架构和平台的在线数据处理数据库,为用户提供海量数据挖掘和分析服务。DLI将Flink作业从数据仓库服务(DWS)中读取数据。DWS数据库内核兼容PostgreSQL,PostgreSQL数据库可存储更加复杂类型的数据,支持空间信息服务、多版本并发控制(M - [DWS源表(不推荐使用)](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15104.md): DLI将Flink作业从数据仓库服务(DWS)中读取数据。DWS数据库内核兼容PostgreSQL,PostgreSQL数据库可存储更加复杂类型的数据,支持空间信息服务、多版本并发控制(MVCC)、高并发,适用场景包括位置应用、金融保险、互联网电商等。数据仓库服务(Data Warehouse Service,简称DWS)是一种基于基础架 - [DWS结果表(不推荐使用)](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15105.md): DLI将Flink作业的输出数据输出到数据仓库服务(DWS)中。DWS数据库内核兼容PostgreSQL,PostgreSQL数据库可存储更加复杂类型的数据,支持空间信息服务、多版本并发控制(MVCC)、高并发,适用场景包括位置应用、金融保险、互联网电商等。数据仓库服务(Data Warehouse Service,简称DWS)是一种基于 - [DWS维表(不推荐使用)](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15106.md): 创建DWS表用于与输入流连接,从而生成相应的宽表。推荐使用DWS服务自研的DWS Connector。DWS-Connector的使用方法请参考dws-connector-flink。请务必确保您的账户下已在数据仓库服务(DWS)里创建了DWS集群。如何创建DWS集群,请参考《数据仓库服务管理指南》中“创建集群”章节。请确保已创建DWS数 - [Elasticsearch](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15038.md): DLI将Flink作业的输出数据输出到云搜索服务CSS的Elasticsearch 引擎的索引中。Elasticsearch是基于Lucene的当前流行的企业级搜索服务器,具备分布式多用户的能力。其主要功能包括全文检索、结构化搜索、分析、聚合、高亮显示等。能为用户提供实时搜索、稳定可靠的服务。适用于日志分析、站内搜索等场景。云搜索服务(C - [对象存储OBS源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15040.md): 文件系统连接器可用于将单个文件或整个目录的数据读取到单个表中。当使用目录作为source路径时,对目录中的文件进行 无序的读取。更多信息参考文件系统 SQL 连接器目录监控默认情况下,文件系统连接器是有界的,也就是只会扫描配置路径一遍后就会停止。如果需要,可以通过设置 source.monitor-interval 属性来开启目录监控,以 - [对象存储OBS结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15041.md): FileSystem sink用于将数据输出到分布式文件系统HDFS或者对象存储服务OBS等文件系统。适用于数据转储、大数据分析、备份或活跃归档、深度或冷归档等场景。考虑到输入流可以是无界的,每个桶中的数据被组织成有限大小的Part文件。完全可以配置为基于时间的方式往桶中写入数据,比如可以设置每个小时的数据写入一个新桶中。即桶中将包含一个 - [Hbase源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15043.md): 创建source流从HBase中获取数据,作为作业的输入数据。HBase是一个稳定可靠,性能卓越、可伸缩、面向列的分布式云存储系统,适用于海量数据存储以及分布式计算的场景,用户可以利用HBase搭建起TB至PB级数据规模的存储系统,对数据轻松进行过滤分析,毫秒级得到响应,快速发现数据价值。DLI可以从HBase中读取数据,用于过滤分析、数 - [Hbase结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15044.md): DLI将作业的输出数据输出到HBase中。HBase是一个稳定可靠,性能卓越、可伸缩、面向列的分布式云存储系统,适用于海量数据存储以及分布式计算的场景,用户可以利用HBase搭建起TB至PB级数据规模的存储系统,对数据轻松进行过滤分析,毫秒级得到响应,快速发现数据价值。HBase支持消息数据、报表数据、推荐类数据、风控类数据、日志数据、订 - [Hbase维表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15045.md): 创建Hbase维表用于与输入流连接生成宽表。该场景作业需要运行在DLI的独享队列上,因此要与HBase建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。如何建立增强型跨源连接,请参考《数据 - [创建Hive Catalog](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15047.md): Catalog提供了元数据信息,例如数据库、表、分区、视图以及数据库或其他外部系统中存储的函数和信息。数据处理最关键的方面之一是管理元数据。 元数据可以是临时的,例如临时表、或者通过TableEnvironment注册的UDF。 元数据也可以是持久化的,例如Hive Metastore中的元数据。Catalog 提供了一个统一的API,用 - [Hive方言](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15048.md): 从Flink 1.11.0 开始,在使用Hive方言时,Flink允许用户用Hive语法来编写SQL语句。通过提供与Hive语法的兼容性,改善与Hive的互操作性,并减少用户需要在Flink和Hive之间切换来执行不同语句的情况。详情可参考:Apache Flink Hive 方言Flink目前支持两种SQL 方言: default 和 - [Hive源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15049.md): Apache Hive 已经成为了数据仓库生态系统中的核心。 它不仅仅是一个用于大数据分析和ETL场景的SQL引擎,同样它也是一个数据管理平台,可用于发现,定义,和演化数据。Flink与Hive的集成包含两个层面,一是利用了Hive的MetaStore作为持久化的Catalog,二是利用Flink来读写Hive的表。Overview | - [Hive结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15050.md): 本节介绍利用Flink写Hive的表。Hive结果表的定义,以及创建结果表时使用的参数和示例代码。详情可参考:Apache Flink Hive Read & WriteFlink 支持在 BATCH 和 STREAMING 模式下从Hive写入数据。当作为BATCH应用程序运行时,Flink将写 Hive表,仅在作业完成时使这些记录可见 - [Hive维表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15051.md): 您可以将Hive表用作时态表,通过时态连接来关联Hive表。有关时态连接的详细信息,请参阅 temporal join。Flink支持processing-time temporal join Hive Table,processing-time temporal join始终会加入最新版本的时态表。Flink支持分区表和 Hive非分区 - [使用Temporal join关联维表的最新分区](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15052.md): 对于随时间变化的分区表,我们可以将其读取为无界流,如果每个分区包含某个版本的完整数据,则该分区可以被视为时间表的一个版本,时间表的版本保留了分区的数据。Flink支持在处理时间关联中自动跟踪时间表的最新分区(版本)。最新分区(版本)由 'streaming-source.partition-order' 选项定义。这是在Flink 流应用 - [使用Temporal join关联维表的最新版本](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15053.md): 对于Hive表,我们可以将其作为有界流读出。在这种情况下,Hive表只能在查询时跟踪其最新版本。最新版本的表保留了Hive表的所有数据。每个连接子任务都需要保留自己的Hive表缓存。请确保Hive表可以放入TM任务槽的内存中。建议为streaming-source.monitor-interval(最新分区作为临时表)或 lookup.j - [Hudi源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15055.md): Flink SQL读取Hudi表数据。Hudi是一种数据湖的存储格式,在Hadoop文件系统之上提供了更新数据和删除数据的能力以及消费变化数据的能力。支持多种计算引擎,提供IUD接口,在HDFS的数据集上提供了插入更新和增量拉取的功能。建议Hudi作为Source表时设置限流Hudi表作为Source表时,为防止数据上限超过流量峰值导致作 - [Hudi结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15056.md): Flink SQL作业写Hudi表。Hudi是一种数据湖的存储格式,在Hadoop文件系统之上提供了更新数据和删除数据的能力以及消费变化数据的能力。支持多种计算引擎,提供IUD接口,在HDFS的数据集上提供了插入更新和增量拉取的功能。推荐使用SparkSQL统一建表表名必须满足Hive格式要求表名必须以字母或下划线开头,不能以数字开头。表 - [JDBC](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15057.md): JDBC连接器是Flink内置的Connector,提供了对MySQL、PostgreSQL等常见数据库的读写支持。表类型支持源表、结果表和维表。要与实例建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中 - [Kafka](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15058.md): Kafka 连接器提供从 Kafka topic 中消费和写入数据的能力。Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统,具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。确保已创建Kafka集群。该场景作业需要运行在DLI的独享队列上,因此要与kafka集群建立增强型 - [MySql CDC](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15059.md): MySQL的CDC源表,即MySQL的流式源表,会先读取数据库的历史全量数据,并平滑切换到Binlog读取上,保证数据的完整读取。MySQL CDC要求MySQL版本为5.6,5.7或8.0.x。with参数中字段只能使用单引号,不能使用双引号。该场景作业需要DLI与MySQL建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。 - [Print](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15060.md): Print connector用于将用户输出的数据打印到taskmanager中的error文件或者out文件中,方便用户查看,主要用于代码调试,查看输出结果。无。Print结果表支持以下四种格式内容输出:打印内容条件1条件2标识符:任务 ID> 输出数据需要提供前缀打印标识符,即创建Print表时在with参数中指定print-iden - [Redis源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15062.md): 创建source流从Redis获取数据,作为作业的输入数据。创建该作业前,需要建立DLI和Redis的增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。创建Flink OpenSource S - [Redis结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15063.md): DLI将Flink作业的输出数据输出到Redis中。Redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。有关Redis的详细信息,请访问Redis官方网站https://redis.io/。DLI要建立与Redis的 - [Redis维表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15064.md): 创建Redis表作为维表用于与输入流连接,从而生成相应的宽表。要建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。 - [Upsert Kafka](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15065.md): Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统,具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。Upsert Kafka 连接器支持以upsert方式从Kafka topic中读取数据并将数据写入Kafka topic。表类型支持源表和结果表。作为source,ups - [SELECT](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15067.md): 语法格式语法说明SELECT语句用于从表中选取数据。ALL表示返回所有结果。DISTINCT表示返回不重复结果。注意事项所查询的表必须是已经存在的表,否则会出错。WHERE关键字指定查询的过滤条件,过滤条件中支持算术运算符,关系运算符,逻辑运算符。GROUP BY指定分组的字段,可以单字段分组,也可以多字段分组。示例找出数量超过3的订单。 - [INSERT INTO](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15107.md): 本节操作介绍使用INSERT INTO 语句将作业结果写入Sink表中。语法格式INSERT INTO your_sink SELECT ... FROM your_source WHERE ...示例本例定义了两个表my_source 和my_sink,并使用INSERT INTO语句source表选择数据并插入到sink表。--使 - [集合操作](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15068.md): 语法格式语法说明UNION返回多个查询结果的并集。Intersect返回多个查询结果的交集。Except返回多个查询结果的差集。注意事项集合运算是以一定条件将表首尾相接,所以其中每一个SELECT语句返回的列数必须相同,列的类型一定要相同,列名不一定要相同。UNION默认是去重的,UNION ALL是不去重的。示例输出Orders1和Or - [GROUP WINDOW](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15109.md): Group Window定义在GROUP BY里,每个分组只输出一条记录,包括以下几种:分组函数在流处理表中的 SQL 查询中,分组窗口函数的 time_attr 参数必须引用一个合法的时间属性,且该属性需要指定行的处理时间或事件时间。time_attr设置为event-time时参数类型为timestamp(3)类型。time_attr - [TUMBLE WINDOW扩展](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15110.md): DLI TUMBLE函数功能增强主要包括以下功能:TUMBLE窗口周期性触发,控制延迟TUMBLE窗口结束之前,可以根据设置的触发频率周期性地触发窗口,输出从窗口开始时间到当前周期时间窗口内的计算结果值,但不影响最终窗口输出值,从而在窗口结束前的每个周期都可以看到最新的结果。提高数据的精确性在窗口结束后,允许设置延迟时间。根据设置的延迟时 - [OVER WINDOW](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15111.md): Over Window与Group Window区别在于Over window每一行都会输出一条记录。所有的聚合必须定义到同一个窗口中,即相同的分区、排序和区间。当前仅支持 PRECEDING (无界或有界) 到 CURRENT ROW 范围内的窗口、FOLLOWING 所描述的区间并未支持。ORDER BY 必须指定于单个的时间属性。 - [窗口函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15070.md): 窗口是处理无限流的核心。窗口把流分割为有限大小的 “桶”,这样就可以在其之上进行计算。Apache Flink 提供了如下 窗口表值函数(table-valued function, 缩写TVF)把表的数据划分到窗口中:滚动窗口滑动窗口累积窗口逻辑上,每个元素可以应用于一个或多个窗口,这取决于所使用的窗口表值函数的类型。例如:滑动窗口可以 - [窗口聚合](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15071.md): 窗口聚合是通过GROUP BY子句定义的,其特征是包含窗口表值函数产生的 “window_start” 和 “window_end” 列。和普通的 GROUP BY 子句一样,窗口聚合对于每个组会计算出一行数据。和其他连续表上的聚合不同,窗口聚合不产生中间结果,只在窗口结束产生一个总的聚合结果,另外,窗口聚合会清除不需要的中间状态。更多介 - [窗口Top-N](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15072.md): 窗口 Top-N 是特殊的 Top-N,它返回每个分区键的每个窗口的N个最小或最大值。与普通Top-N不同,窗口Top-N只在窗口最后返回汇总的Top-N数据,不会产生中间结果。窗口 Top-N 会在窗口结束后清除不需要的中间状态。窗口 Top-N 适用于用户不需要每条数据都更新Top-N结果的场景,相对普通Top-N来说性能更好。通常, - [窗口去重](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15073.md): 窗口去重是一种特殊的去重,它根据指定的多个列来删除重复的行,保留每个窗口和分区键的第一个或最后一个数据。对于流式查询,与普通去重不同,窗口去重只在窗口的最后返回结果数据,不会产生中间结果。它会清除不需要的中间状态。 因此,窗口去重查询在用户不需要更新结果时,性能较好。通常,窗口去重直接用于窗口表值函数上。另外,它可以用于基于窗口表值函数的 - [窗口关联](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15074.md): 窗口关联就是增加时间维度到关联条件中。在此过程中,窗口关联将两个流中在同一窗口且符合 join 条件的元素 join 起来。窗口关联的语义和 DataStream window join 相同。在流式查询中,与其他连续表上的关联不同,窗口关联不产生中间结果,只在窗口结束产生一个最终的结果。另外,窗口关联会清除不需要的中间状态。通常,窗口关 - [分组聚合](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15075.md): 聚合函数把多行输入数据计算为一行结果。例如,有一些聚合函数可以计算一组行的 “COUNT”、“SUM”、“AVG”(平均)、“MAX”(最大)和 “MIN”(最小)。对于流式查询,用于计算查询结果的状态可能无限膨胀。状态的大小大多数情况下取决于去重行的数量和分组持续的时间,持续时间较短的 group 窗口不会产生状态过大的问题。可以提供一 - [Over聚合](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15076.md): OVER 聚合通过排序后的范围数据为每行输入计算出聚合值。和 GROUP BY 聚合不同, OVER 聚合不会把结果通过分组减少到一行,它会为每行输入增加一个聚合值。更多介绍和使用请参考开源社区文档:Over聚合。当前仅支持 PRECEDING (无界或有界) 到 CURRENT ROW 范围内的窗口、FOLLOWING 所描述的区间并未 - [JOIN](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15077.md): 语法格式注意事项目前仅支持 equi-join ,即 join 的联合条件至少拥有一个相等谓词。不支持任何 cross join 和 theta join。Join 的顺序没有进行优化,join 会按照 FROM 中所定义的顺序依次执行。请确保 join 所指定的表在顺序执行中不会产生不支持的 cross join (笛卡儿积)以致查询失 - [OrderBy & Limit](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15078.md): 功能描述主要根据时间属性按照升序进行排序注意事项目前仅支持根据时间属性进行排序示例对订单根据订单时间进行升序排序功能描述限制返回的数据结果个数注意事项LIMIT 查询需要有一个 ORDER BY 字句示例 - [Top-N](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15079.md): Top-N 查询是根据列排序找到N个最大或最小的值。最大值集和最小值集都被视为是一种 Top-N 的查询。如果在批处理或流处理的表中需要显示出满足条件的 N 个最底层记录或最顶层记录, Top-N 查询将会十分有用。ROW_NUMBER(): 根据当前分区内的各行的顺序从第一行开始,依次为每一行分配一个唯一且连续的号码。目前,我们只支持 - [去重](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15080.md): 对在列的集合内重复的行进行删除,只保留第一行或最后一行数据。ROW_NUMBER(): 从第一行开始,依次为每一行分配一个唯一且连续的号码。PARTITION BY col1[, col2...]: 指定分区的列,例如去重的键。ORDER BY time_attr [asc|desc]: 指定排序的列。所指定的列必须为时间属性。目前仅支持 - [自定义函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15082.md): DLI支持三种自定义函数:UDF:自定义函数,支持一个或多个输入参数,返回一个结果值。UDTF:自定义表值函数,支持一个或多个输入参数,可返回多行多列。UDAF:自定义聚合函数,将多条记录聚合成一个值。暂不支持通过python写UDF、UDTF、UDAF自定义函数。将写好的自定义函数打成JAR包,并上传到OBS上。在DLI管理控制台的左侧 - [自定义函数类型推导](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15083.md): 类型推导包含了验证输入值、派生参数和返回值数据类型。从逻辑角度看,Planner需要知道数据类型、精度和小数位数;从 JVM 角度来看,Planner 在调用自定义函数时需要知道如何将内部数据结构表示为JVM对象。Flink 自定义函数实现了自动的类型推导提取,通过反射从函数的类及其求值方法中派生数据类型。然而以反射方式提取数据类型并不总 - [自定义函数参数传递](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15084.md): 如果您的自定义函数需要在多个作业中使用,但对于不同作业某些参数值不同,直接在UDF中修改较为复杂。您可以在Flink OpenSource SQL编辑页面,自定义配置中配置参数pipeline.global-job-parameters,在UDF代码中获取该参数并使用。如需修改参数值,直接在FlinkOpenSource SQL编辑页面, - [比较函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15086.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [逻辑函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15087.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [算术函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15088.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [字符串函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15089.md): 数据湖探索(DLI)提供了丰富的字符串函数,用于处理和转换字符串数据。这些函数包括拼接、大小写转换、截取子串、替换、正则匹配、编码解码、格式转换等。此外,还支持字符串长度计算、位置查找、填充、反转等功能,以及从JSON字符串中提取值的JSON_VAL函数。这些功能广泛应用于数据清洗、文本处理和数据分析场景,为开发者提供强大的工具支持。字符 - [时间函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15090.md): Flink OpenSource SQL所支持的时间函数如表1所示。功能描述DATE函数将"yyyy-MM-dd"日期格式的字符串解析为DATE类型的日期。DATE函数将"yyyy-MM-dd"日期格式的字符串解析为DATE类型的日期。语法说明DATE DATEstring入参说明参数名数据类型参数说明stringSTRINGSQL日期格 - [条件函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15091.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [类型转换函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15092.md): 类型强制转换。如果输入为NULL,则返回NULL。将amount值转换成整型。Flink作业不支持使用CAST将“BIGINT”转换为“TIMESTAMP”,可以使用to_timestamp进行转换。参考Kafka和Print创建flink opensource sql作业,输入以下作业运行脚本,提交运行作业。注意:创建作业时,在作业编辑 - [集合函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15093.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [JSON函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15094.md): JSON函数使用SQL标准的ISO/IEC TR 19075-6中描述的JSON路径表达式。它们的语法受到ECMAScript的启发并采用了ECMAScript的许多特性,但既不是其子集,也不是其超集。路径表达式有两种,一种是宽松模式,另一种是严格模式。当省略时,它默认为严格模式。严格模式旨在从模式的角度检查数据,当数据不符合路径表达式时 - [值构建函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15095.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [值获取函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15096.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [分组函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15097.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [Hash函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15098.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [聚合函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15099.md): 聚合函数将所有的行作为输入,并返回单个聚合值作为结果。 - [string_split](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_15102.md): string_split函数,根据指定的分隔符将目标字符串拆分为子字符串,并返回子字符串列表。参考Kafka和Print创建flink opensource sql作业,输入以下作业运行脚本,提交运行作业。注意:创建作业时,在作业编辑界面的“运行参数”处,“Flink版本”选择“1.15”,勾选“保存作业日志”并设置保存作业日志的OBS桶 - [语法支持类型](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0372.md): DLI SQL语法支持以下数据类型:STRING,BOOLEAN,BYTES,DECIMAL,TINYINT,SMALLINT,INTEGER,BIGINT,FLOAT,DOUBLE,DATE,TIME,TIMESTAMP,TIMESTAMP WITH LOCAL TIME ZONE,INTERVAL,ARRAY,MULTISET,MAP - [CREATE TABLE语句](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0375.md): 根据指定的表名创建一个表。COMPUTED COLUMN计算列是一个使用 “column_name AS computed_column_expression” 语法生成的虚拟列。它由使用同一表中其他列的非查询表达式生成,并且不会在表中进行物理存储。例如,一个计算列可以使用 cost AS price * quantity 进行定义,这个 - [CREATE VIEW语句](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0376.md): 通过定义数据视图的方式,将多层嵌套写在数据视图中,简化开发过程。IF NOT EXISTS若该视图已经存在,则不会进行任何操作。创建一个名为viewName的视图 - [CREATE FUNCTION语句](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0377.md): 创建一个用户自定义函数。如果您需要了解创建自定义函数的步骤请参考自定义函数。IF NOT EXISTS若该函数已经存在,则不会进行任何操作。LANGUAGE JAVA|SCALALanguage tag 用于指定 Flink runtime 如何执行这个函数。目前,只支持 JAVA 和 SCALA,且函数的默认语言为 JAVA。创建一个名 - [DML语法定义](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0378.md): 语法定义注意事项Flink SQL 对于标识符(表、属性、函数名)有类似于 Java 的词法约定:不管是否引用标识符,都保留标识符的大小写。且标识符需区分大小写。与 Java 不一样的地方在于,通过反引号,可以允许标识符带有非字母的字符(如:"SELECT a AS `my field` FROM t")。字符串文本常量需要被单引号包起来 - [Flink OpenSource SQL1.12语法概览](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0379.md): 本章节介绍目前DLI所提供的Flink OpenSource SQL1.12语法列表。参数说明,示例等详细信息请参考具体的语法说明。 - [DataGen源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0382.md): DataGen主要用于生成随机数据,可用于调试以及测试等场景。无创建DataGen表时,表字段类型不支持Array,Map和Row复杂类型,可以通过CREATE TABLE语句中的“COMPUTED COLUMN”来进行类似功能构造。创建Flink OpenSource SQL作业时,在作业编辑界面的“运行参数”处,“Flink版本”需要 - [DWS源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0383.md): DLI将Flink作业从数据仓库服务(DWS)中读取数据。DWS数据库内核兼容PostgreSQL,PostgreSQL数据库可存储更加复杂类型的数据,支持空间信息服务、多版本并发控制(MVCC)、高并发,适用场景包括位置应用、金融保险、互联网电商等。数据仓库服务(Data Warehouse Service,简称DWS)是一种基于基础架 - [Hbase源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0384.md): 创建source流从HBase中获取数据,作为作业的输入数据。HBase是一个稳定可靠,性能卓越、可伸缩、面向列的分布式云存储系统,适用于海量数据存储以及分布式计算的场景,用户可以利用HBase搭建起TB至PB级数据规模的存储系统,对数据轻松进行过滤分析,毫秒级得到响应,快速发现数据价值。DLI可以从HBase中读取数据,用于过滤分析、数 - [JDBC源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0385.md): JDBC连接器是Flink内置的Connector,用于从数据库读取相应的数据。要与实例建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。Flink跨源开发场景中直接配置跨源认证信息存在密 - [Kafka源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0386.md): 创建source流从Kafka获取数据,作为作业的输入数据。Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统,具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。确保已创建Kafka集群。该场景作业需要运行在DLI的独享队列上,因此要与kafka集群建立增强型跨源连接,且用 - [MySQL CDC源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0387.md): MySQL的CDC源表,即MySQL的流式源表,会先读取数据库的历史全量数据,并平滑切换到Binlog读取上,保证数据的完整读取。MySQL CDC要求MySQL版本为5.7或8.0.x。该场景作业需要DLI与MySQL建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强 - [Postgres CDC源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0388.md): Postgres的CDC源表,即Postgres的流式源表,用于依次读取PostgreSQL数据库全量快照数据和变更数据,保证不多读一条也不少读一条数据。即使发生故障,也能采用Exactly Once方式处理。PostgreSQL的版本不能低于PostgreSQL 11。要与实例建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则 - [Redis源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0389.md): 创建source流从Redis获取数据,作为作业的输入数据。创建该作业前,需要建立DLI和Redis的增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。如何建立增强型跨源连接,请参考《数据湖探 - [Upsert Kafka源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0390.md): Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统,具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。作为 source,upsert-kafka 连接器生产changelog流,其中每条数据记录代表一个更新或删除事件。更准确地说,数据记录中的 value 被解释为同一 k - [FileSystem源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0450.md): 本节介绍FileSystem源表的定义,以及创建源表时使用的参数和示例代码。该场景作业需要建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。如何建立增强型跨源连接,请参考《数据湖探索用户指 - [BlackHole结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0392.md): BlackHole Connector允许接收所有输入记录,常用于高性能测试和UDF 输出,其不是实质性Sink。Blackhole结果表是系统内置的Connector。例如,如果您在注册其他类型的Connector结果表时报错,但您不确定是系统问题还是结果表WITH参数错误,您可以将WITH参数修改为'connector' = 'bla - [ClickHouse结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0393.md): DLI支持将Flink作业数据输出到ClickHouse数据库中。ClickHouse是面向联机分析处理的列式数据库,支持SQL查询,且查询性能好,特别是基于大宽表的聚合分析查询性能非常优异,比其他分析型数据库速度快一个数量级。详细请参考ClickHouse组件操作。该场景需要与ClickHouse建立增强型跨源连接,并根据实际情况设置C - [DWS结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0394.md): DLI将Flink作业的输出数据输出到数据仓库服务(DWS)中。DWS数据库内核兼容PostgreSQL,PostgreSQL数据库可存储更加复杂类型的数据,支持空间信息服务、多版本并发控制(MVCC)、高并发,适用场景包括位置应用、金融保险、互联网电商等。数据仓库服务(Data Warehouse Service,简称DWS)是一种基于 - [Elasticsearch结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0395.md): DLI将Flink作业的输出数据输出到云搜索服务CSS的Elasticsearch中。Elasticsearch是基于Lucene的当前流行的企业级搜索服务器,具备分布式多用户的能力。其主要功能包括全文检索、结构化搜索、分析、聚合、高亮显示等。能为用户提供实时搜索、稳定可靠的服务。适用于日志分析、站内搜索等场景。云搜索服务(Cloud S - [Hbase结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0396.md): DLI将作业的输出数据输出到HBase中。HBase是一个稳定可靠,性能卓越、可伸缩、面向列的分布式云存储系统,适用于海量数据存储以及分布式计算的场景,用户可以利用HBase搭建起TB至PB级数据规模的存储系统,对数据轻松进行过滤分析,毫秒级得到响应,快速发现数据价值。HBase支持消息数据、报表数据、推荐类数据、风控类数据、日志数据、订 - [JDBC结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0397.md): DLI通过JDBC结果表将Flink作业的输出数据输出到关系型数据库中。DLI要与实例建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。如何建立增强型跨源连接,请参考《数据湖探索用户指南》 - [Kafka结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0398.md): DLI通过Kafka结果表将Flink作业的输出数据输出到Kafka中。Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统,具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。确保已创建kafka集群。该场景作业需要运行在DLI的独享队列上,因此要与Kafka集群建立增强型跨 - [Print结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0399.md): Print connector用于将用户输出的数据打印到error文件或者taskmanager的文件中,方便用户查看,主要用于代码调试,查看输出结果。无。Print结果表支持以下四种格式内容输出:打印内容条件1条件2标识符:任务 ID> 输出数据需要提供前缀打印标识符,即创建Print表时在with参数中指定print-identifi - [Redis结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0400.md): DLI将Flink作业的输出数据输出到Redis中。Redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。有关Redis的详细信息,请访问Redis官方网站https://redis.io/。DLI要建立与Redis的 - [Upsert Kafka结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0401.md): Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统,具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。DLI将Flink作业的输出数据以upsert的模式输出到Kafka中。Upsert Kafka 连接器支持以upsert方式从Kafka topic中读取数据并将数据写入 - [FileSystem结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0439.md): FileSystem sink用于将数据输出到分布式文件系统HDFS或者对象存储服务OBS等文件系统。适用于数据转储、大数据分析、备份或活跃归档、深度或冷归档等场景。考虑到输入流可以是无界的,每个桶中的数据被组织成有限大小的Part文件。完全可以配置为基于时间的方式往桶中写入数据,比如可以设置每个小时的数据写入一个新桶中。即桶中将包含一个 - [DWS维表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0403.md): 创建DWS表用于与输入流连接,从而生成相应的宽表。请务必确保您的账户下已在数据仓库服务(DWS)里创建了DWS集群。如何创建DWS集群,请参考《数据仓库服务管理指南》中“创建集群”章节。请确保已创建DWS数据库表。该场景作业需要运行在DLI的独享队列上,因此要与DWS集群建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建 - [Hbase维表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0404.md): 创建Hbase维表用于与输入流连接生成宽表。该场景作业需要运行在DLI的独享队列上,因此要与HBase建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。如何建立增强型跨源连接,请参考《数据 - [JDBC维表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0405.md): 创建JDBC表用于与输入流连接。请务必确保您的账户下已创建了相应实例。创建Flink OpenSource SQL作业时,在作业编辑界面的“运行参数”处,“Flink版本”需要选择“1.12”,勾选“保存作业日志”并设置保存作业日志的OBS桶,方便后续查看作业日志。Flink跨源开发场景中直接配置跨源认证信息存在密码泄露的风险,优先推荐您 - [Redis维表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0406.md): 创建Redis表作为维表用于与输入流连接,从而生成相应的宽表。要建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。 - [Avro Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0408.md): Avro格式允许基于Avro schema 读取和写入Avro 数据。目前,Avro schema 从表schema 推导。KafkaUpsert Kafka目前,Avro schema 通常是从 table schema 中推导而来。尚不支持显式定义 Avro schema。因此,下表列出了从 Flink 类型到 Avro 类型的类型映 - [Canal Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0409.md): Canal是一个 CDC(ChangeLog Data Capture,变更日志数据捕获)工具,可以实时地将 MySQL 变更传输到其他系统。Canal 为变更日志提供了统一的数据格式,并支持使用 JSON 或 protobuf序列化消息(Canal 默认使用 protobuf)。Flink 支持将 Canal 的 JSON 消息解析为 - [Confluent Avro Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0410.md): Avro Schema Registry (avro-confluent) 格式能让您读取被 io.confluent.kafka.serializers.KafkaAvroSerializer序列化的记录,以及可以写入成能被 io.confluent.kafka.serializers.KafkaAvroDeserializer反序列化 - [CSV Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0411.md): CSV Format 允许我们基于CSV schema 进行解析和生成CSV 数据。目前的CSV schema 是基于table schema 推导出来的。KafkaUpsert Kafka使用kafka发送数据,输出到print中。 - [Debezium Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0412.md): Debezium是一个 CDC(Changelog Data Capture,变更数据捕获)的工具,可以把其他数据库的更改实时流式传输到 Kafka 中。 Debezium 为变更日志提供了统一的格式结构,并支持使用 JSON消息。Flink 支持将 Debezium JSON解析为 INSERT / UPDATE / DELETE 消息 - [JSON Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0413.md): JSON Format 能读写 JSON 格式的数据。当前,JSON schema 是从 table schema 中自动推导而得的。KafkaUpsert KafkaElasticsearch该示例是从kafka的一个topic中读取数据,并使用kafka sink将数据写入到kafka的另一个topic中。 - [Maxwell Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0414.md): Flink 支持将 Maxwell JSON 消息解释为 INSERT/UPDATE/DELETE 消息到 Flink SQL 系统中。在许多情况下,这对于利用此功能很有用。例如:将数据库中的增量数据同步到其他系统审计日志数据库的实时物化视图临时连接更改数据库表的历史等等。Flink 还支持将 Flink SQL 中的 INSERT/UP - [Raw Format](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0415.md): Raw format 允许读写原始(基于字节)值作为单个列。注意: 这种格式将 null 值编码成 byte[] 类型的 null。这样在 upsert-kafka 中使用时可能会有限制,因为 upsert-kafka 将 null 值视为 墓碑消息(在键上删除)。因此,如果该字段可能具有 null 值,我们建议避免使用 upsert-k - [SELECT](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0417.md): 语法格式语法说明SELECT语句用于从表中选取数据。ALL表示返回所有结果。DISTINCT表示返回不重复结果。注意事项所查询的表必须是已经存在的表,否则会出错。WHERE关键字指定查询的过滤条件,过滤条件中支持算术运算符,关系运算符,逻辑运算符。GROUP BY指定分组的字段,可以单字段分组,也可以多字段分组。示例找出数量超过3的订单。 - [集合操作](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0418.md): 语法格式语法说明UNION返回多个查询结果的并集。Intersect返回多个查询结果的交集。Except返回多个查询结果的差集。注意事项集合运算是以一定条件将表首尾相接,所以其中每一个SELECT语句返回的列数必须相同,列的类型一定要相同,列名不一定要相同。UNION默认是去重的,UNION ALL是不去重的。示例输出Orders1和Or - [窗口](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0419.md): 语法说明Group Window定义在GROUP BY里,每个分组只输出一条记录,包括以下几种:分组函数分组函数表分组窗口函数说明TUMBLE(time_attr, interval)定义一个滚动窗口。滚动窗口把行分配到有固定持续时间( interval )的不重叠的连续窗口。比如,5 分钟的滚动窗口以 5 分钟为间隔对行进行分组。滚动窗 - [JOIN](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0420.md): 语法格式注意事项目前仅支持 equi-join ,即 join 的联合条件至少拥有一个相等谓词。不支持任何 cross join 和 theta join。Join 的顺序没有进行优化,join 会按照 FROM 中所定义的顺序依次执行。请确保 join 所指定的表在顺序执行中不会产生不支持的 cross join (笛卡儿积)以致查询失 - [OrderBy & Limit](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0421.md): 功能描述主要根据时间属性按照升序进行排序注意事项目前仅支持根据时间属性进行排序示例对订单根据订单时间进行升序排序功能描述限制返回的数据结果个数注意事项LIMIT查询需要有一个ORDER BY示例 - [Top-N](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0422.md): Top-N 查询是根据列排序找到N个最大或最小的值。最大值集和最小值集都被视为是一种 Top-N 的查询。若在批处理或流处理的表中需要显示出满足条件的 N 个最底层记录或最顶层记录, Top-N 查询将会十分有用。ROW_NUMBER(): 根据当前分区内的各行的顺序从第一行开始,依次为每一行分配一个唯一且连续的号码。目前,我们只支持 R - [去重](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0423.md): 对在列的集合内重复的行进行删除,只保留第一行或最后一行数据。ROW_NUMBER(): 从第一行开始,依次为每一行分配一个唯一且连续的号码。PARTITION BY col1[, col2...]: 指定分区的列,例如去重的键。ORDER BY time_attr [asc|desc]: 指定排序的列。所指定的列必须为时间属性。目前仅支持 - [自定义函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0425.md): DLI支持三种自定义函数:UDF:自定义函数,支持一个或多个输入参数,返回一个结果值。UDTF:自定义表值函数,支持一个或多个输入参数,可返回多行多列。UDAF:自定义聚合函数,将多条记录聚合成一个值。暂不支持通过python写UDF、UDTF、UDAF自定义函数。Flink Opensource SQL作业中使用自定义函数时,不支持生成 - [自定义函数类型推导](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0451.md): 类型推导包含了验证输入值、派生参数和返回值数据类型。从逻辑角度看,Planner需要知道数据类型、精度和小数位数;从 JVM 角度来看,Planner 在调用自定义函数时需要知道如何将内部数据结构表示为JVM对象。Flink 自定义函数实现了自动的类型推导提取,通过反射从函数的类及其求值方法中派生数据类型。然而以反射方式提取数据类型并不总 - [自定义函数参数传递](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0452.md): 如果您的自定义函数需要在多个作业中使用,但对于不同作业某些参数值不同,直接在UDF中修改较为复杂。您可以在Flink OpenSource SQL编辑页面,自定义配置中配置参数pipeline.global-job-parameters,在UDF代码中获取该参数并使用。如需修改参数值,直接在FlinkOpenSource SQL编辑页面, - [数学运算函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0427.md): 所有数据类型都可用关系运算符进行比较,并返回一个BOOLEAN类型的值。关系运算符均为双目操作符,被比较的两个数据类型必须是相同的数据类型或者是可以进行隐式转换的类型。Flink SQL提供的关系运算符,请参见表1。注意事项double、real和float值存在一定的精度差。且我们不建议直接使用等号=对两个double类型数据进行比较。 - [字符串函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0428.md): 数据湖探索(DLI)提供了丰富的字符串函数,用于处理和转换字符串数据。这些函数包括拼接、大小写转换、截取子串、替换、正则匹配、编码解码、格式转换等。此外,还支持字符串长度计算、位置查找、填充、反转等功能,以及从JSON字符串中提取值的JSON_VAL函数。这些功能广泛应用于数据清洗、文本处理和数据分析场景,为开发者提供强大的工具支持。字符 - [时间函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0429.md): Flink OpenSource SQL所支持的时间函数如表1所示。功能描述DATE函数将"yyyy-MM-dd"日期格式的字符串解析为DATE类型的日期。DATE函数将"yyyy-MM-dd"日期格式的字符串解析为DATE类型的日期。语法说明DATE DATEstring入参说明参数名数据类型参数说明stringSTRINGSQL日期格 - [条件函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0430.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [类型转换函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0431.md): 类型强制转换。若输入为NULL,则返回NULL。cast函数不支持将字符串转换为json对象类型。将amount值转换成整型。Flink作业不支持使用CAST将“BIGINT”转换为“TIMESTAMP”,可以使用to_timestamp进行转换。参考Kafka源表和Print结果表创建flink opensource sql作业,输入以 - [集合函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0432.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [值构建函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0433.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [属性访问函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0434.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [Hash函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0435.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [聚合函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0436.md): 聚合函数是从一组输入值计算一个结果。例如使用COUNT函数计算SQL查询语句返回的记录行数。聚合函数如表1所示。 - [string_split](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0438.md): string_split函数,根据指定的分隔符将目标字符串拆分为子字符串,并返回子字符串列表。参考Kafka源表和Print结果表创建flink opensource sql作业,输入以下作业运行脚本,提交运行作业。注意:创建作业时,在作业编辑界面的“运行参数”处,“Flink版本”选择“1.12”,勾选“保存作业日志”并设置保存作业日志 - [语法支持类型](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0291.md): DLI SQL语法支持以下数据类型:STRING,BOOLEAN,BYTES,DECIMAL,TINYINT,SMALLINT,INTEGER,BIGINT,FLOAT,DOUBLE,DATE,TIME,TIMESTAMP,TIMESTAMP WITH LOCAL TIME ZONE,INTERVAL,ARRAY,MULTISET,MAP - [CREATE TABLE语句](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0294.md): 根据指定的表名创建一个表。COMPUTED COLUMN计算列是一个使用 “column_name AS computed_column_expression” 语法生成的虚拟列。它由使用同一表中其他列的非查询表达式生成,并且不会在表中进行物理存储。例如,一个计算列可以使用 cost AS price * quantity 进行定义,这个 - [CREATE VIEW语句](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0295.md): 通过定义数据视图的方式,将多层嵌套写在数据视图中,简化开发过程。IF NOT EXISTS若该视图已经存在,则不会进行任何操作。创建一个名为viewName的视图 - [CREATE FUNCTION语句](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0296.md): 创建一个用户自定义函数IF NOT EXISTS若该函数已经存在,则不会进行任何操作。LANGUAGE JAVA|SCALALanguage tag 用于指定 Flink runtime 如何执行这个函数。目前,只支持 JAVA 和 SCALA,且函数的默认语言为 JAVA。创建一个名为STRINGBACK的函数 - [DML语法定义](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0297.md): 语法定义注意事项Flink SQL 对于标识符(表、属性、函数名)有类似于 Java 的词法约定:不管是否引用标识符,都保留标识符的大小写。且标识符需区分大小写。与 Java 不一样的地方在于,通过反引号,可以允许标识符带有非字母的字符(如:"SELECT a AS `my field` FROM t")。字符串文本常量需要被单引号包起来 - [Flink OpenSource SQL1.10语法概览](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0298.md): 本章节介绍目前DLI所提供的Flink OpenSource SQL语法列表。参数说明,示例等详细信息请参考具体的语法说明。 - [Kafka源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0301.md): 创建source流从Kafka获取数据,作为作业的输入数据。Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统,具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。Kafka是线下集群,需要通过增强型跨源连接功能将Flink作业与Kafka进行对接。且用户可以根据实际所需设置 - [DIS源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0302.md): 创建source流从数据接入服务(DIS)获取数据。用户数据从DIS接入,Flink作业从DIS的通道读取数据,作为作业的输入数据。Flink作业可通过DIS的source源将数据从生产者快速移出,进行持续处理,适用于将云服务外数据导入云服务后进行过滤、实时分析、监控报告和转储等场景。数据接入服务(Data Ingestion Servi - [JDBC源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0303.md): JDBC连接器是Flink内置的Connector,用于从数据库读取相应的数据。要与实例建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。无 - [DWS源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0304.md): DLI将Flink作业从数据仓库服务(DWS)中读取数据。DWS数据库内核兼容PostgreSQL,PostgreSQL数据库可存储更加复杂类型的数据,支持空间信息服务、多版本并发控制(MVCC)、高并发,适用场景包括位置应用、金融保险、互联网电商等。数据仓库服务(Data Warehouse Service,简称DWS)是一种基于基础架 - [Redis源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0305.md): 创建source流从Redis获取数据,作为作业的输入数据。要建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。从Redis中读取数据。 - [Hbase源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0306.md): 创建source流从HBase中获取数据,作为作业的输入数据。HBase是一个稳定可靠,性能卓越、可伸缩、面向列的分布式云存储系统,适用于海量数据存储以及分布式计算的场景,用户可以利用HBase搭建起TB至PB级数据规模的存储系统,对数据轻松进行过滤分析,毫秒级得到响应,快速发现数据价值。DLI可以从HBase中读取数据,用于过滤分析、数 - [userDefined源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0358.md): 您可通过编写代码实现从云生态或者开源生态获取数据,再把获取到的数据作为Flink作业的输入数据。自定义source类需要继承类RichParallelSourceFunction,并指定数据类型为Row。例如自定义类MySource:public class MySource extends RichParallelSourceFunct - [ClickHouse结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0344.md): DLI将Flink作业数据输出到ClickHouse中。ClickHouse是面向联机分析处理的列式数据库,支持SQL查询,且查询性能好,特别是基于大宽表的聚合分析查询性能非常优异,比其他分析型数据库速度快一个数量级。详细请参考ClickHouse组件操作。该场景需要与ClickHouse建立增强型跨源连接,并根据实际情况设置ClickH - [Kafka结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0308.md): DLI将Flink作业的输出数据输出到Kafka中。Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统,具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。Kafka是线下集群,需要通过增强型跨源连接功能将Flink作业与Kafka进行对接。且用户可以根据实际所需设置相应安全 - [Upsert Kafka结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0309.md): DLI将Flink作业的输出数据以upsert的模式输出到Kafka中。Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统,具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。Kafka是线下集群,需要通过增强型跨源连接功能将Flink作业与Kafka进行对接。且用户可以根据 - [DIS结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0310.md): DLI将Flink作业的输出数据写入数据接入服务(DIS)中。适用于将数据过滤后导入DIS通道,进行后续处理的场景。数据接入服务(Data Ingestion Service,简称DIS)为处理或分析流数据的自定义应用程序构建数据流管道,主要解决云服务外的数据实时传输到云服务内的问题。数据接入服务每小时可从数十万种数据源(如IoT数据采集 - [JDBC结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0311.md): DLI将Flink作业的输出数据输出到关系型数据库中。要与实例建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。无将流jdbcSink的数据输出到MySQL数据库中。 - [DWS结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0312.md): DLI将Flink作业的输出数据输出到数据仓库服务(DWS)中。DWS数据库内核兼容PostgreSQL,PostgreSQL数据库可存储更加复杂类型的数据,支持空间信息服务、多版本并发控制(MVCC)、高并发,适用场景包括位置应用、金融保险、互联网电商等。数据仓库服务(Data Warehouse Service,简称DWS)是一种基于 - [Redis结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0313.md): DLI将Flink作业的输出数据输出到Redis中。Redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。有关Redis的详细信息,请访问Redis官方网站https://redis.io/。要建立增强型跨源连接,且用 - [SMN结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0314.md): DLI将Flink作业的输出数据输出到消息通知服务(SMN)中。消息通知服务(Simple Message Notification,简称SMN)为DLI提供可靠的、可扩展的、海量的消息处理服务,它大大简化系统耦合,能够根据用户的需求,向订阅终端主动推送消息。可用于连接云服务、向多个协议推送消息以及集成在产生或使用通知的任何其他应用程序等 - [Hbase结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0315.md): DLI将作业的输出数据输出到HBase中。HBase是一个稳定可靠,性能卓越、可伸缩、面向列的分布式云存储系统,适用于海量数据存储以及分布式计算的场景,用户可以利用HBase搭建起TB至PB级数据规模的存储系统,对数据轻松进行过滤分析,毫秒级得到响应,快速发现数据价值。HBase支持消息数据、报表数据、推荐类数据、风控类数据、日志数据、订 - [Elasticsearch结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0316.md): DLI将Flink作业的输出数据输出到云搜索服务CSS的Elasticsearch中。Elasticsearch是基于Lucene的当前流行的企业级搜索服务器,具备分布式多用户的能力。其主要功能包括全文检索、结构化搜索、分析、聚合、高亮显示等。能为用户提供实时搜索、稳定可靠的服务。适用于日志分析、站内搜索等场景。云搜索服务(Cloud S - [OpenTSDB结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0348.md): OpenTSDB是基于HBase分布式的 ,可伸缩的时间序列数据库。OpenTSDB的设计目标是用来采集大规模集群中的监控类信息,并可实现数据的秒级查询,解决海量监控类数据在普通数据库中查询存储的局限性,可用于系统监控和测量、物联网数据、金融数据和科学实验结果数据的收集监控。DLI可以通过增强型跨源连接功能将Flink作业的输出数据写入到 - [userDefined结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0347.md): 您可通过编写代码实现将DLI处理之后的数据写入到指定的云生态或者开源生态。已编写代码实现自定义sink类:自定义sink类需要继承Flink开源类:RichSinkFunction,并指定数据类型为:Tuple2。例如开发自定义类MySink:public class MySink extends RichSi - [Print结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0345.md): print connector用于将用户输出的数据打印到error文件或者taskmanager的out文件中,方便用户查看,主要用于代码调试,查看输出结果。从kafka中读取数据输出到taskmanager的out文件中,可以在taskmanager的out文件中看到输出结果。 - [FileSytem结果表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0346.md): FileSystem结果表用于将数据输出到分布式文件系统HDFS或者对象存储服务OBS等文件系统。数据生成后,可直接对生成的目录创建非DLI表,通过DLI SQL进行下一步处理分析,并且输出数据目录支持分区表结构。适用于数据转储、大数据分析、备份或活跃归档、深度或冷归档等场景。该建表语法的数据输出目录为OBS时,OBS必须为并行文件系统, - [创建JDBC维表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0318.md): 创建JDBC表用于与输入流连接。请务必确保您的账户下已创建了相应实例。RDS表用于与输入流连接。CREATE TABLE car_infos ( car_id STRING, car_owner STRING, car_brand STRING, car_price INT, proctime as PROCTIME( - [创建DWS维表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0319.md): 创建DWS表用于与输入流连接。请务必确保您的账户下已创建了所需的DWS实例。RDS表用于与输入流连接。CREATE TABLE car_infos ( car_id STRING, car_owner STRING, car_brand STRING, car_price INT, proctime as PROCTI - [创建Hbase维表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0320.md): 创建Hbase维表用于与输入流连接。该场景作业需要运行在DLI的独享队列上,因此要与HBase建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。如何建立增强型跨源连接,请参考《数据湖探索用 - [SELECT](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0322.md): 语法格式语法说明SELECT语句用于从表中选取数据。ALL表示返回所有结果。DISTINCT表示返回不重复结果。注意事项所查询的表必须是已经存在的表,否则会出错。WHERE关键字指定查询的过滤条件,过滤条件中支持算术运算符,关系运算符,逻辑运算符。GROUP BY指定分组的字段,可以单字段分组,也可以多字段分组。示例找出数量超过3的订单。 - [集合操作](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0323.md): 语法格式语法说明UNION返回多个查询结果的并集。Intersect返回多个查询结果的交集。Except返回多个查询结果的差集。注意事项集合运算是以一定条件将表首尾相接,所以其中每一个SELECT语句返回的列数必须相同,列的类型一定要相同,列名不一定要相同。UNION默认是去重的,UNION ALL是不去重的。示例输出Orders1和Or - [窗口](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0324.md): 语法说明Group Window定义在GROUP BY里,每个分组只输出一条记录,包括以下几种:分组函数在流处理表中的 SQL 查询中,分组窗口函数的 time_attr 参数必须引用一个合法的时间属性,且该属性需要指定行的处理时间或事件时间。对于批处理的 SQL 查询,分组窗口函数的 time_attr 参数必须是一个 TIMESTAM - [JOIN](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0325.md): 语法格式注意事项目前仅支持 equi-join ,即 join 的联合条件至少拥有一个相等谓词。不支持任何 cross join 和 theta join。Join 的顺序没有进行优化,join 会按照 FROM 中所定义的顺序依次执行。请确保 join 所指定的表在顺序执行中不会产生不支持的 cross join (笛卡儿积)以致查询失 - [OrderBy & Limit](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0326.md): 功能描述主要根据时间属性按照升序进行排序注意事项目前仅支持根据时间属性进行排序示例对订单根据订单时间进行升序排序功能描述限制返回的数据结果个数注意事项LIMIT 查询需要有一个 ORDER BY 字句示例 - [Top-N](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0327.md): Top-N 查询是根据列排序找到N个最大或最小的值。最大值集和最小值集都被视为是一种 Top-N 的查询。若在批处理或流处理的表中需要显示出满足条件的 N 个最底层记录或最顶层记录, Top-N 查询将会十分有用。ROW_NUMBER(): 根据当前分区内的各行的顺序从第一行开始,依次为每一行分配一个唯一且连续的号码。目前,我们只支持 R - [去重](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0328.md): 对在列的集合内重复的行进行删除,只保留第一行或最后一行数据。ROW_NUMBER(): 从第一行开始,依次为每一行分配一个唯一且连续的号码。PARTITION BY col1[, col2...]: 指定分区的列,例如去重的键。ORDER BY time_attr [asc|desc]: 指定排序的列。所指定的列必须为时间属性。目前仅支持 - [自定义函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0330.md): DLI支持三种自定义函数:UDF:自定义函数,支持一个或多个输入参数,返回一个结果值。UDTF:自定义表值函数,支持一个或多个输入参数,可返回多行多列。UDAF:自定义聚合函数,将多条记录聚合成一个值。暂不支持通过python写UDF、UDTF、UDAF自定义函数。如果使用IntelliJ IDEA工具对创建的自定义函数进行调试,则需要在 - [数学运算函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0332.md): 所有数据类型都可用关系运算符进行比较,并返回一个BOOLEAN类型的值。关系运算符均为双目操作符,被比较的两个数据类型必须是相同的数据类型或者是可以进行隐式转换的类型。Flink SQL提供的关系运算符,请参见表1。注意事项double、real和float值存在一定的精度差。且我们不建议直接使用等号=对两个double类型数据进行比较。 - [字符串函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0333.md): 数据湖探索(DLI)提供了丰富的字符串函数,用于处理和转换字符串数据。这些函数包括拼接、大小写转换、截取子串、替换、正则匹配、编码解码、格式转换等。此外,还支持字符串长度计算、位置查找、填充、反转等功能,以及从JSON字符串中提取值的JSON_VAL函数。这些功能广泛应用于数据清洗、文本处理和数据分析场景,为开发者提供强大的工具支持。字符 - [时间函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0334.md): Flink OpenSource SQL所支持的时间函数如表1所示。功能描述DATE函数将"yyyy-MM-dd"日期格式的字符串解析为DATE类型的日期。DATE函数将"yyyy-MM-dd"日期格式的字符串解析为DATE类型的日期。语法说明DATE DATEstring入参说明参数名数据类型参数说明stringSTRINGSQL日期格 - [条件函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0335.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [类型转换函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0336.md): 类型强制转换。若输入为NULL,则返回NULL。将amount值转换成整型。Flink作业不支持使用CAST将“BIGINT”转换为“TIMESTAMP”,可以使用to_timestamp进行转换。 - [集合函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0337.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [值构建函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0338.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [属性访问函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0339.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [Hash函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0340.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [聚合函数](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0341.md): 聚合函数是从一组输入值计算一个结果。例如使用COUNT函数计算SQL查询语句返回的记录行数。聚合函数如表1所示。 - [split_cursor](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0357.md): split_cursor表值函数可以将一行转多行,一列转为多列,仅支持在JOIN LATERAL TABLE中使用。输入一条记录("student1", "student2, student3"),输出两条记录("student1", "student2") 和 ("student1", "student3") 。 - [string_split](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0356.md): string_split函数,根据指定的分隔符将目标字符串拆分为子字符串,并返回子字符串列表。准备测试输入数据测试源表disSource数据和分隔符target(STRING)separator (VARCHAR)test-flink-flink-one-two-ww-three-输入测试SQL语句create table disSour - [Hudi表使用约束](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0002.md): Copy On Write写时复制表也简称COW表,使用parquet文件存储数据,内部的更新操作需要通过重写原始parquet文件完成。优点:读取时,只读取对应分区的一个数据文件即可,较为高效。缺点:数据写入的时候,需要复制一个先前的副本再在其基础上生成新的数据文件,这个过程比较耗时。且由于耗时,读请求读取到的数据相对就会滞后。写时复制 - [Hudi查询类型](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0003.md): 快照查询(Snapshot Queries)可以读到最新的commit/compaction产生的快照。对于MOR表,还会在查询中合并最新的delta log文件的内容,使读取的数据近实时。增量查询(Incremental Queries)只会查询到给定的commit/compaction之后新增的数据。读优化查询(Read Optimi - [Hudi存储结构](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0004.md): Hudi在写入数据时会根据设置的存储路径、表名、分区结构等属性生成Hudi表。在DLI环境,Hudi表的数据文件存储在OBS上,因此可以通过查看OBS文件检查。如下,展示了Hudi 多级分区COW表存储结构的示意。 - [DLI Hudi元数据](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0005.md): 创建Hudi表时会在元数据仓创建表的相关元数据信息。Hudi支持对接DLI元数据和Lakeformation元数据(仅Spark 3.3.1及以上版本支持对接Lakeformation元数据),对接方式与Spark一致。DLI元数据可在数据湖探索管理控制台的“数据管理 > 库表管理”中查看。Lakeformation元数据可在湖仓构建La - [Hudi开发规范概述](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0007.md): 本节内容介绍DLI-Hudi组件进行湖仓一体、流批一体方案的设计与开发方面的规则,适用于Hudi开发场景的表的设计、管理与作业开发。主要包括以下方面的规范:数据表设计资源配置性能调优常见故障处理常用参数配置本规范采用以下的术语描述:规则:编程时强制必须遵守的原则。建议:编程时必须加以考虑的原则。说明:对此规则或建议进行的解释。示例:对此规 - [Hudi表模型设计规范](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0009.md): Hudi表必须设置合理的主键。Hudi表提供了数据更新和幂等写入能力,该能力要求Hudi表必须设置主键,主键设置不合理会导致数据重复。主键可以为单一主键也可以为复合主键,两种主键类型均要求主键不能有null值和空值,可以参考以下示例设置主键:SparkSQL:// 通过primaryKey指定主键,如果是复合主键需要用逗号分隔 creat - [Hudi表索引设计规范](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0010.md): 禁止修改表索引类型。Hudi表的索引会决定数据存储方式,随意修改索引类型会导致表中已有的存量数据与新增数据之间出现数据重复和数据准确性问题。常见的索引类型如下:布隆索引:Spark引擎独有索引,采用bloomfiter机制,将布隆索引内容写入到Parquet文件的footer中。Bucket索引:在写入数据过程中,通过主键进行Hash计算 - [Hudi表分区设计规范](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0011.md): 分区键不可以被更新:Hudi具有主键唯一性机制,但在分区表的场景下通常只能保证分区内主键唯一,因此如果分区键的值发生变更后,会导致相同主键的行记录出现多条的情况。在以日期分区的场景,可采用数据的创建时间为分区字段,切记不要采用数据更新时间做分区。当指定Hudi的索引类型为Global索引类型时,Hudi支持跨分区进行数据更新,但Globa - [Hudi数据表Compaction规范](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0013.md): mor表更新数据以行存log的形式写入,log读取时需要按主键合并,并且是行存的,导致log读取效率比parquet低很多。为了解决log读取的性能问题,Hudi通过compaction将log压缩成parquet文件,大幅提升读取性能。有数据持续写入的表,24小时内至少执行一次compaction。对于MOR表,不管是流式写入还是批量写 - [Hudi数据表Clean规范](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0014.md): Clean也是Hudi表的维护操作之一,该操作对于MOR表和COW表都需要执行。Clean操作的目的是为了清理旧版本文件(Hudi不再使用的数据文件),这不但可以节省Hudi表List过程的时间,也可以缓解存储压力。Hudi表必须执行Clean。对于Hudi的MOR、COW表,都需要开启Clean。Hudi表在写入数据时会自动判断是否需要 - [Hudi数据表Archive规范](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0015.md): Archive(归档)是为了减轻Hudi读写元数据的压力,所有的元数据都存放在这个路径:Hudi表根目录/.hoodie目录,如果.hoodie目录下的文件数量超过10000就会发现Hudi表有非常明显的读写时延。Hudi表必须执行Archive。对于Hudi的MOR类型和COW类型的表,都需要开启Archive。Hudi表在写入数据时会 - [SparkSQL建表参数规范](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0017.md): 建表必须指定primaryKey和preCombineField。Hudi表提供了数据更新的能力和幂等写入的能力,该能力要求数据记录必须设置主键用来识别重复数据和更新操作。不指定主键会导致表丢失数据更新能力,不指定preCombineField会导致主键重复。参数名称参数描述输入值说明primaryKeyhudi主键按需必须指定,可以是复 - [Spark增量读取Hudi参数规范](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0018.md): 增量查询之前必须指定当前表的查询为增量查询模式,并且查询后重写设置表的查询模式如果增量查询完,不重新将表查询模式设置回去,将影响后续的实时查询以SQL作业为例:配置参数随后执行SQL提交其他SQL时,需要清除上述配置参数,避免影响其他任务执行结果。 - [Spark异步任务执行表compaction参数设置规范](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0019.md): 写作业未停止情况下,禁止手动执行run schedule命令生成compaction计划。错误示例:run schedule on dsrTable如果还有别的任务在写这张表,执行该操作会导致数据丢失。错误示例:如果还有别的任务在写这张表,执行该操作会导致数据丢失。执行run compaction命令时,禁止将hoodie.run.com - [Spark表数据维护规范](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0020.md): 禁止通过Alter命令修改表关键属性信息:type/primaryKey/preCombineField/hoodie.index.type错误示例,执行如下语句修改表关键属性:除Spark以外,其他引擎也可以修改Hudi表元数据,但是这种修改会导致整个Hudi表出现数据重复,甚至数据损坏;因此禁止修改上述属性。 - [创建Bucket索引表调优](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0022.md): Bucket索引常用设置参数:Spark:hoodie.index.type=BUCKET hoodie.bucket.index.num.buckets=5Flinkindex.type=BUCKET hoodie.bucket.index.num.buckets=5根据表的使用场景一般将表分为事实表和维度表:事实表通常整表数据规模较大 - [Hudi表初始化](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0023.md): 初始化导入存量数据通常由Spark作业来完成,由于初始化数据量通常较大,因此推荐使用API方式给充足资源来完成。对于批量初始化后需要接Flink或Spark流作业实时写入的场景,一般建议通过对上游消息进行过滤,从一个指定的时间范围开始消费来控制数据的重复接入量(例如Spark初始化完成后,Flink消费Kafka时过滤掉2小时之前的数据) - [实时任务接入](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0024.md): 实时作业一般由Flink Sql或Sparkstreaming来完成,流式实时任务通常配置同步生成compaction计划,异步执行计划。Flink SQL作业中sink端Hudi表相关配置如下:create table hudi_sink_table ( // table columns... ) PARTITIONED BY ( - [离线Compaction配置](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0025.md): 对于MOR表的实时业务,通常设置在写入中同步生成compaction计划,因此需要额外通过DataArts或者脚本调度SparkSQL去执行已经产生的compaction计划。执行参数set hoodie.compact.inline = true; //打开compaction操作 set hoodie.r - [在DLI使用Hudi提交Spark SQL作业](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0027.md): 登录DLI管理控制台,选择“SQL编辑器”首进入提交SQL作业的界面。提交SQL作业时需要选择支持Hudi的Spark SQL队列。将如下的建表语句粘贴至DLI SQL编辑器的输入区域,修改 LOCATION,执行引擎选择Spark,配置队列,数据目录,数据库,随后点击右上角的执行按钮,提交作业。注意:由DLI提供元数据服务时,暂不支持创 - [在DLI使用Hudi提交Spark Jar作业](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0028.md): 提交Spark jar作业的场景需要手动配置由LakeFormation提供元数据服务的Hudi锁实现类,请参照 Hudi锁配置说明。提交Hudi相关的Spark jar作业需要选择Spark版本为3.3.1,且使用的通用队列需要支持Hudi。创建或使用现有的maven java项目,在 pom.xml 中引入scala 2.12,spa - [在DLI使用Hudi提交Flink SQL作业](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0029.md): 本节操作介绍在DLI使用Hudi提交Flink SQL作业的操作步骤。具体语法说明请参考Flink OpenSource SQL1.15语法概览。进入DLI控制台,随后单击左侧菜单的“作业管理 > Flink作业”,进入Flink作业的界面。这里的sink表通过创建临时表指向Hudi表路径来写入数据,同时在表参数中配置hive_sync相 - [CREATE TABLE](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0033.md): CREATE TABLE命令通过指定带有表属性的字段列表来创建Hudi Table。在使用由DLI提供的元数据服务时仅可创建外表,即需要通过LOCATION指定表路径。CREATE TABLE [ IF NOT EXISTS] [database_name.]table_name[ (columnTypeList)]USING hudi - [DROP TABLE](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0034.md): DROP TABLE的功能是用来删除已存在的Table。DROP TABLE [IF EXISTS] [db_name.]table_name;在该命令中,IF EXISTS和db_name是可选配置。在使用本语句删除外表时,OBS目录的数据不会自动删除。删除MOR表时,后缀_rt表和后缀_ro表不会自动删除,如需删除需要额外执行DROP - [SHOW TABLE](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0035.md): SHOW TABLES命令用于显示所有在当前database中的table,或所有指定database的table。SHOW TABLES [IN db_name];IN db_Name为可选配置。由DLI提供的元数据服务SQL权限:databasetableLIST_TABLES,DISPLAY_ALL_TABLES,SELECT (只 - [TRUNCATE TABLE](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0036.md): 该命令将会把表中的数据清空。TRUNCATE TABLEtableIdentifier通过运行QUERY语句查看表中数据已被删除。 - [CREATE TABLE AS SELECT](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0038.md): CREATE TABLE As SELECT命令通过指定带有表属性的字段列表来创建Hudi Table。在使用由DLI提供的元数据服务时仅可创建外表,即需要通过LOCATION指定表路径。CREATE TABLE [ IF NOT EXISTS] [database_name.]table_nameUSING hudi[ COMMENT - [INSERT INTO](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0039.md): INSERT命令用于将SELECT查询结果加载到Hudi表中。INSERT INTOtableIndentifier select query;写入模式:Hudi对于设置了主键的表支持三种写入模式,用户可以设置参数hoodie.sql.insert.mode来指定Insert模式,默认为upsert。hoodie.sql.insert.m - [MERGE INTO](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0040.md): 通过MERGE INTO命令,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE或DELETE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部同步工作,执行效率要高于INSERT+UPDATE。MERGE INTO tableIdentifier AStarget_aliasUSING( - [UPDATE](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0041.md): UPDATE命令根据列表达式和可选的过滤条件更新Hudi表。UPDATE tableIdentifier SET column = EXPRESSION(,column = EXPRESSION) [ WHERE boolExpression]可以确认任务状态成功,运行QUERY语句查看表中数据已被更新。 - [DELETE](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0042.md): DELETE命令从Hudi表中删除记录。DELETE from tableIdentifier [ WHERE boolExpression]示例1:delete from h0 where column1 = 'country';示例2:delete from h0 where column1 IN ('country1', 'coun - [COMPACTION](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0043.md): 压缩( compaction)用于在 MergeOnRead表将基于行的log日志文件转化为parquet列式数据文件,用于加快记录的查找。SCHEDULE COMPACTION on tableIdentifier|tablelocation;SHOW COMPACTION on tableIdentifier|tablelocatio - [ARCHIVELOG](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0044.md): 用于根据配置对Timeline上的Instant进行归档,并从Timeline上将已归档的Instant删除,以减少Timeline的操作压力。RUN ARCHIVELOG ON tableIdentifier;RUN ARCHIVELOG ON tablelocation;首先需要执行clean命令,在clean命令清理了历史的数据文件 - [CLEAN](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0045.md): 用于根据配置对Timeline上的Instant进行clean,删除老旧的历史版本文件,以减少hudi表的数据存储及读写压力。RUN CLEAN ON tableIdentifier;RUN CLEAN ON tablelocation;对表执行clean操作时需要表的owner才可以执行。如果需要修改clean默认的参数,需要在执行SQ - [CLEANARCHIVE](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0046.md): 用于对Hudi表的归档文件进行清理,以减少Hudi表的数据存储及读写压力。按文件容量进行清理,需要配置参数:hoodie.archive.file.cleaner.policy = KEEP_ARCHIVED_FILES_BY_SIZE; hoodie.archive.file.cleaner.size.retained = 536870 - [CLEAN_FILE](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0048.md): 用于清理Hudi表目录下的无效数据文件。call clean_file(table => '[table_name]', mode=>'[op_type]', backup_path=>'[backup_path]', start_instant_time=>'[start_time]', end_instant_time=>'[end_ - [SHOW_TIME_LINE](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0049.md): 查看当前生效或者被归档的Hudi time line以及某个指定instant time的详细内容。查看某个表生效的time line列表:call show_active_instant_list(table => '[table_name]');call show_active_instant_list(table => '[tabl - [SHOW_HOODIE_PROPERTIES](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0050.md): 查看指定hudi表的hoodie.properties文件中的配置。call show_hoodie_properties(table => '[table_name]');由DLI提供的元数据服务SQL权限:databasetable无SELECT细粒度权限:dli:table:select由LakeFormation提供的元数据服务, - [ROLL_BACK](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0051.md): 用于回滚指定的commit。call rollback_to_instant(table => '[table_name]', instant_time => '[instant]');只能依次回滚最新的commit时间戳,可以通过SHOW_TIME_LINE命令检查最新的instant time。可以检查任务状态是否成功,查看任务结果, - [CLUSTERING](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0052.md): 对Hudi表进行clustering操作,具体作用可以参考Hudi Clustering操作说明章节。执行clustering:call run_clustering(table=>'[table]', path=>'[path]', predicate=>'[predicate]', order=>'[order]');call run - [CLEANING](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0053.md): 对Hudi表进行cleaning操作,具体作用可以参考Hudi Clean操作说明章节。call run_clean(table=>'[table]', clean_policy=>'[clean_policy]', retain_commits=>'[retain_commits]', hours_retained=> '[hours_ - [COMPACTION](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0054.md): 对Hudi表进行compaction操作,具体作用可以参考Hudi Compaction操作说明章节。call run_compaction(op => '[op]', table=>'[table]', path=>'[path]', timestamp=>'[timestamp]');compaction操作仅支持MOR表。可以检查任 - [SHOW_COMMIT_FILES](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0055.md): 查看指定的instant一共更新或者插入了多个文件。call show_commit_files(table=>'[table]', instant_time=>'[instant_time]', limit=>[limit]);由DLI提供的元数据服务SQL权限:databasetable无SELECT细粒度权限:dli:table:s - [SHOW_FS_PATH_DETAIL](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0056.md): 查看指定的FS路径的统计数据call show_fs_path_detail(path=>'[path]', is_sub=>'[is_sub]', sort=>'[sort]');使用由DLI提供的元数据服务时,不支持本命令。由DLI提供的元数据服务SQL权限:不支持。由LakeFormation提供的元数据服务,权限配置详见LakeF - [SHOW_LOG_FILE](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0057.md): 查看log文件的meta和record信息。查看meta:call show_logfile_metadata(table => '[table]', log_file_path_pattern => '[log_file_path_pattern]', limit => [limit])call show_logfile_metadat - [SHOW_INVALID_PARQUET](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0058.md): 查看执行路径下损坏的parquet文件。call show_invalid_parquet(path => 'path')使用由DLI提供的元数据服务时,不支持本命令。由DLI提供的元数据服务SQL权限:databasetable无SELECT细粒度权限:dli:table:select由LakeFormation提供的元数据服务,权限配 - [ALTER COLUMN](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0060.md): 配置参数:ALTER TABLE ... ALTER COLUMN语法用于修改当前列属性包括列类型、列位置、列comment。ALTER TABLEtableName ALTER[COLUMN]col_old_name TYPEcolumn_type[COMMENT]col_comment[FIRST|AFTER]column_name列 - [ADD COLUMNS](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0061.md): 配置参数:ADD COLUMNS命令用于为现有表添加新列。ALTER TABLEtableNameADD COLUMNS(col_spec[, col_spec ...])通过运行DESCRIBE命令,可显示新添加的列。 - [RENAME COLUMN](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0062.md): 配置参数:ALTER TABLE ... RENAME COLUMN语法用于修改列名称。ALTER TABLEtableNameRENAME COLUMNold_columnNameTOnew_columnNamea.b.c 表示嵌套列全路径,嵌套列具体规则见ADD COLUMNS。修改列名后自动同步到列comment中,comment的 - [RENAME TABLE](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0063.md): 配置参数:ALTER TABLE ... RENAME语法用于修改表名。ALTER TABLEtableNameRENAME TOnewTableName通过运行SHOW TABLES查看新的表名。 - [SET](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0064.md): 配置参数:ALTER TABLE ... SET|UNSET语法用于修改表属性。ALTER TABLEtableNameSET|UNSET tblproperties通过运行DESCRIBE命令查看表属性修改。 - [DROP COLUMN](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0065.md): 配置参数:ALTER TABLE ... DROP COLUMN语法用于删除列。ALTER TABLEtableName DROP COLUMN|COLUMNScolsa.b.c 表示嵌套列全路径,嵌套列具体规则见ADD COLUMNS。通过运行DESCRIBE命令,可查看删除列。 - [配置Hudi数据列默认值](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0066.md): 该特性允许用户在给表新增列时,设置列的默认值。查询历史数据时新增列返回默认值。新增列在设置默认值前,如果数据已经进行了重写,则查询历史数据不支持返回列的默认值,返回NULL。数据入库、更新、执行Compaction、Clustering都会导致部分或全部数据重写。列的默认值设置要与列的类型一致,如不一致会进行类型强转,导致默认值精度丢失或 - [API语法说明](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0068.md): Hudi通过hoodie.datasource.write.operation参数设置写入模式。insert: 该操作不需要通过索引去查询具体更新的文件分区,因此它的速度比upsert快。当不包含更新数据时建议使用该操作,如果存在更新数据使用该操作会出现重复数据。bulk_insert:该操作会对主键进行排序后直接以写普通parquet表 - [Hudi锁配置说明](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0069.md): 提交Spark jar作业时需要手动配置Hudi锁。当使用DLI托管的元数据服务时,必须配置Hudi锁开启,且配置使用DLI提供的Hudi锁实现类:同样在使用LakeFormation服务提供的元数据服务时,需要配置并使用LakeFormation提供的Hudi锁实现类。关闭Hudi锁,或者使用其他的锁实现类时,存在数据丢失/异常的风险。 - [Hudi Compaction操作说明](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0071.md): Compaction用于合并mor表Base和Log文件,Compaction包含两个过程Schedule和Run。Schedule过程会在TimeLine里生成一个Compaction Plan,这个Compaction Plan会记录哪些parquet文件将会与哪些log文件进行合并,但是仅仅是一个Plan,没有去合并。Run过程会将 - [Hudi Clean操作说明](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0072.md): Cleaning用于清理Hudi表不再需要的老版本数据文件 (parquet文件或者log文件),减轻存储压力,提升list操作效率。写完数据后cleanSpark SQL(设置如下参数,随后执行任意写入SQL时,在满足条件时触发)hoodie.clean.automatic=true hoodie.cleaner.commits.ret - [Hudi Archive操作说明](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0073.md): Archive用户清理Hudi表的元数据文件(位于.hoodie目录下,格式为 ${时间戳}.${操作类型}.${操作状态},比如20240622143023546.deltacommit.request)。对Hudi表进行的每次操作都会产生元数据文件,而元数据文件过多会导致性能问题,所以元数据文件数量最好控制在1000以内。写完数据后a - [Hudi Clustering操作说明](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0074.md): 即数据布局,该服务可重新组织数据以提高查询性能,也不会影响摄取速度。Hudi通过其写入客户端API提供了不同的操作,如insert/upsert/bulk_insert来将数据写入Hudi表。为了能够在文件大小和入湖速度之间进行权衡,Hudi提供了一个hoodie.parquet.small.file.limit配置来设置最小文件大小。用 - [Hudi常见配置参数](https://support.huaweicloud.com/sqlref-hudi-dli/dli_hudi_0075.md): 本章节介绍Hudi重要配置的详细信息,更多配置请参考hudi官网:https://hudi.apache.org/cn/docs/0.11.0/configurations/。提交DLI Spark SQL作业时,在SQL编辑器界面右上角的”设置”->”参数设置”中可以配置Hudi参数。提交DLI Spark jar作业时,Hudi参数可 - [DLI Delta表概述](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0001.md): Delta表是一种基于Delta Lake技术实现的数据存储解决方案,它使用基于文件的事务日志扩展了 Parquet 数据文件,可以处理 ACID 事务和可缩放的元数据。 Delta Lake与Apache Spark API完全兼容,并且其设计能够与结构化流式处理紧密集成,可以轻松地将单个数据副本用于批处理和流式处理操作,并提供大规模增 - [DLI Delta元数据](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0003.md): 在DLI中提交Spark SQL作业开发Delta的SQL语法请参考Delta SQL语法参考。在DLI中提交Spark Jar作业开发Delta请参考在DLI使用Delta提交Spark Jar作业。创建Delta表时会在元数据仓创建表的相关元数据信息。Delta支持对接DLI元数据和Lakeformation元数据(仅Spark 3. - [在DLI使用Delta提交Spark Jar作业](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0004.md): 1. 添加如下依赖2. SparkSession添加下面两个参数3. 编写代码(可通过sql或者api两种方式实现)。1) sql开发示例如下,具体sql语法参考“Delta Sql语法参考”。2) api开发示例如下(java)。4. 编译打包后参照https://support.huaweicloud.com/devg-dli/dli - [查看Delta表历史操作记录](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0006.md): DESCRIBE HISTORY[database_name.]table_name|DELTA.`obs_path` [LIMIT n]返回表的历史操作记录,结果指标代表含义见下表。 - [查询Delta表历史版本数据](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0007.md): 查询Delta表历史某一时刻的状态:SELECT * FROM[database_name.]table_nameTIMESTAMP AS OF timestamp_expression查询Delta表某一历史版本的状态:SELECT * FROM[database_name.]table_name VERSION AS OF versi - [还原Delta表到早期状态](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0008.md): 还原Delta表到历史某一时刻的状态:RESTORE[TABLE][database_name.]table_name|DELTA.`obs_path`[TO] TIMESTAMP AS OFtimestamp_expression还原Delta表到某一历史版本的状态:RESTORE[TABLE][database_name.]table - [Delta清理和优化](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0009.md): 可以对 Delta 表运行 VACUUM 命令,以删除该表中不再引用且在保留期阈值之前创建的数据文件。为了提高查询速度,Delta Lake支持优化数据在存储中的布局,这会将许多较小的文件压缩为较大的文件。Zordering是另一种加快查询速度的技术。对数据进行Z排序可以重新组织存储中的数据,当您的数据被适当地排序时,可以跳过更多的文件, - [CREATE TABLE](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0012.md): CREATE TABLE命令通过指定带有表属性的字段列表来创建Delta Table。在该命令中,IF EXISTS和db_name是可选配置。在DLI中delta只支持OBS外表,通过表名创建且未指定location时将会失败。通过表名创建Delta表CREATE[ OR REPLACE] TABLE [ IF NOT EXISTS] - [DROP TABLE](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0013.md): DROP TABLE的功能是用来删除已存在的Table。DROP TABLE [IF EXISTS] [db_name.]table_name;SQL权限DROP TABLE所需权限列表权限描述表所在数据库的DROP_TABLE权限细粒度权限:dli:table:dropTable。由LakeFormation提供的元数据服务,权限配置详 - [DESCRIBE](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0014.md): DESCRIBE命令用于显示表的详细信息或统计信息。显示表统计信息:DESCRIBE [EXTENDED|FORMATTED][database_name.]table_name|DELTA.`obs://bucket_name/tbl_path`;显示表详细信息:DESCRIBE DETAIL[database_name.]table_ - [ADD CONSTRAINT](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0015.md): ADD CONSTRAINT 命令添加 CHECK 约束。 在将约束添加到表中之前会验证所有现有行是否满足约束。在将约束添加到表中之前会验证所有现有行是否满足约束,如果有行不满足约束,约束将添加失败,添加前需先清理不满足约束的数据。ALTER TABLE[database_name.]table_name|DELTA.`obs://buc - [DROP CONSTRAINT](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0016.md): DROP CONSTRAINT 命令删除 CHECK 约束。ALTER TABLE[database_name.]table_name|DELTA.`obs://bucket_name/tbl_path`DROP CONSTRAINT constraint_nameSQL权限细粒度权限:dli:table:alter。由LakeForma - [CONVERT TO DELTA](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0017.md): CONVERT TO DELTA 命令将现有的 Parquet 表就地转换为 Delta 表。 此命令会列出目录中的所有文件,创建 Delta Lake 事务日志来跟踪这些文件,并通过读取所有 Parquet 文件的页脚来自动推断数据架构。 转换过程会收集统计信息,以提升转换后的 Delta 表的查询性能。 如果提供表名,则元存储也将更新 - [SHALLOW CLONE](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0018.md): SHALLOW CLONE 命令在特定版本创建现有Delta表的浅拷贝。被克隆的信息包括:schema、分区信息、数据文件路径等。对克隆表所做的任何更改都只会影响克隆本身,而不会影响源表,只要它们不触及源数据。注意克隆表可能仍会指向源表的数据文件,当源表做了vacuum操作时,可能导致克隆表找不到文件。CREATE TABLE[targe - [INSERT](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0020.md): INSERT命令用于将SELECT查询结果加载到Delta表中。追加模式:INSERT INTO[database_name.]table_name|DELTA.`obs://bucket_name/tbl_path`select query;覆盖模式:INSERT OVERWRITE[database_name.]table_name| - [CREATE TABLE AS SELECT](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0021.md): CREATE TABLE As SELECT命令通过指定带有表属性的字段列表来创建Hudi Table。CREATE[ OR REPLACE] TABLE [ IF NOT EXISTS] [database_name.]table_name|DELTA.`obs://bucket_name/tbl_path`USING DELTA[ - [MERGE INTO](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0022.md): 通过MERGE INTO命令,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE或DELETE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部同步工作,执行效率要高于INSERT+UPDATE。分区表合并需要设置参数spark.sql.forcePartitionPredicatesOn - [UPDATE](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0023.md): UPDATE命令根据列表达式和可选的过滤条件更新Delta表。UPDATE [database_name.]table_name|DELTA.`obs://bucket_name/tbl_path`SET column = EXPRESSION(,column = EXPRESSION)[ WHERE boolExpression]SQL - [DELETE](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0024.md): DELETE命令从Delta表中删除记录。DELETE from [database_name.]table_name|DELTA.`obs://bucket_name/tbl_path`[ WHERE boolExpression]SQL权限细粒度权限:dli:table:delete。由LakeFormation提供的元数据服务,权限 - [VACUUM](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0025.md): VACUUM命令用于删除表目录中不由 Delta 管理的所有文件,并删除不再处于表事务日志最新状态且超过保留期阈值的数据文件。默认阈值为 7 天。RETAIN num HOURS表示保留期阈值,建议设置为至少 7 天。如果对 Delta 表运行VACUUM,则将无法再回头查看在指定数据保留期之前创建的版本。Delta Lake 具有一项安 - [RESTORE](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0026.md): RESTORE命令用于将Delta表还原到早期状态,支持还原到较早的版本号或者时间戳。还原Delta表到历史某一时刻的状态:RESTORE[TABLE][database_name.]table_name|DELTA.`obs_path`[TO] TIMESTAMP AS OFtimestamp_expression还原Delta表到某一 - [OPTIMIZE](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0027.md): OPTIMIZE命令用于优化数据在存储中的布局,提高查询速度。由于Optimize是一项耗时的活动,因此需要根据更好的最终用户查询性能与优化计算时间之间的权衡来确定运行Optimized的频率。分区表优化需要设置参数spark.sql.forcePartitionPredicatesOnPartitionedTable.enabled为f - [ALTER COLUMN](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0029.md): ALTER TABLE ... ALTER COLUMN语法用于修改当前列属性包括列comment、空约束,当前不支持修改列类型、列位置。目前不支持修改列类型。目前不支持修改已存在列的顺序。目前不支持指定顺序添加列。ALTER TABLEtableName ALTER[COLUMN]col_name[COMMENT]col_comment - [ADD COLUMNS](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0030.md): ADD COLUMNS命令用于为现有表添加新列。ALTER TABLEtableNameADD COLUMNS(col_spec[, col_spec ...])SQL权限细粒度权限:dli:table:alter。由LakeFormation提供的元数据服务,权限配置详见LakeFormation文档。通过运行DESCRIBE命令,可显 - [RENAME COLUMN](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0031.md): ALTER TABLE ... RENAME COLUMN语法用于修改列名称。如果您的表已经在所需的协议版本上,需要先执行如下语句才能修改成功:ALTER TABLE table_name SET TBLPROPERTIES ('delta.columnMapping.mode' = 'name');如果您的表不在所需的协议版本上,需要先 - [RENAME TABLE](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0032.md): ALTER TABLE ... RENAME语法用于修改表名。ALTER TABLEtableNameRENAME TOnewTableNameSQL权限细粒度权限:dli:table:alter。由LakeFormation提供的元数据服务,权限配置详见LakeFormation文档。通过运行SHOW TABLES查看新的表名。 - [DROP COLUMN](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0033.md): ALTER TABLE ... DROP COLUMN语法用于删除列。ALTER TABLEtableName DROP COLUMN|COLUMNScolsSQL权限细粒度权限:dli:table:alter。由LakeFormation提供的元数据服务,权限配置详见LakeFormation文档。a.b.c 表示嵌套列全路径,嵌套列具 - [Delta常见配置参数](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0034.md): 提交DLI Spark SQL作业时,在“SQL编辑器”界面右上角的“设置 > 参数设置”中配置Delta参数。 - [DLI Delta常见问题](https://support.huaweicloud.com/sqlref-delta-dli/dli_delta_0035.md): 根因分析:不支持insert into/overwrite table_name partition(part_key='part_value')语法。解决方案:在console页面设置中添加参数spark.sql.forcePartitionPredicatesOnPartitionedTable.enabled值为false。根因分析 ## API参考 - [API使用前必读](https://support.huaweicloud.com/api-dli/dli_02_0174.md): 欢迎使用数据湖探索。数据湖探索(Data Lake Insight,简称DLI)是完全兼容Apache Spark、Apache Flink生态,提供一站式的流处理、批处理、交互式分析的Serverless融合处理分析服务。用户不需要管理任何服务器,即开即用。支持标准SQL/Spark SQL/Flink SQL,支持多种接入方式,并兼容 - [API概览](https://support.huaweicloud.com/api-dli/dli_02_0100.md): 本章节介绍了目前DLI所提供的API列表。 - [构造请求](https://support.huaweicloud.com/api-dli/dli_02_0180.md): 本章节介绍REST API请求的组成,并以调用IAM服务的获取用户Token来说明如何调用API,该API获取用户的Token,Token可以用于调用其他API时鉴权。您还可以通过这个视频教程了解如何构造请求调用API:https://bbs.huaweicloud.com/videos/102987 。请求URI由如下部分组成。{URI - [认证鉴权](https://support.huaweicloud.com/api-dli/dli_02_0004.md): 调用API有如下两种认证方式,您可以任选其中一种进行认证鉴权。Token认证:通过Token认证调用请求。AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。推荐使用AK/SK认证,其安全性比Token认证更高。Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表 - [返回结果](https://support.huaweicloud.com/api-dli/dli_02_0010.md): 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。对应请求消息头,响应同样也有消息头,如“Content-Type”。对于获取用户Token接口,接口,返 - [创建并提交SQL作业](https://support.huaweicloud.com/api-dli/dli_02_0308.md): 本章节指导用户通过API提交SQL作业创建数据库和表,并查询数据。创建弹性资源池 - CreateElasticResourcePool创建队列 - CreateQueue提交SQL作业(推荐) - CreateSqlJob创建弹性资源池elastic_pool_dli接口相关信息URI格式:POST /v3/{project_id}/e - [创建并提交Spark作业](https://support.huaweicloud.com/api-dli/dli_02_0309.md): 本章节指导用户通过API创建并提交Spark作业。新队列第一次运行作业时,需要一定的时间,通常为6~10分钟。创建弹性资源池 - CreateElasticResourcePool:创建弹性资源池。创建队列 - CreateQueue:在弹性资源池中添加队列。上传分组资源:上传Spark作业所需的资源包。查询组内资源包:确认上传的资源包是 - [创建并提交Flink作业](https://support.huaweicloud.com/api-dli/dli_02_0310.md): 本章节指导用户通过API创建并运行Flink自定义作业。新队列第一次运行作业时,需要一定的时间,通常为6~10分钟。创建弹性资源池 - CreateElasticResourcePool:创建弹性资源池。创建队列 - CreateQueue:在弹性资源池中添加队列。上传分组资源:上传Flink自定义作业所需的资源包。查询组内资源包:确认上 - [创建并使用跨源链接](https://support.huaweicloud.com/api-dli/dli_02_0311.md): 本章节指导用户通过API创建增强型跨源连接。新队列第一次运行作业时,需要一定的时间,通常为6~10分钟。创建增强型跨源连接之前需要获取需要建立连接的服务对应VPC的ID和其所在子网的网络ID。获取VPC的ID接口,具体请参考《虚拟私有云API参考》。获取子网网络ID接口,具体请参考《虚拟私有云API参考》。创建弹性资源池 - Create - [数据赋权(用户或项目) - RunAuthorizationAction](https://support.huaweicloud.com/api-dli/dli_02_0318.md): 该API用于将数据库或数据表的数据权限赋给指定的其他用户或项目。被赋权用户所在用户组的所属区域需具有Tenant Guest权限。赋权给项目时,只可以赋权给相同租户下的相同区域的项目。关于Tenant Guest权限的介绍和开通方法,详细参见权限策略和统一身份认证服务 用户指南中的创建用户组。您可以在API Explorer中调试该接口。 - [查看赋权对象使用者权限信息 - ListAuthorizationPrivileges](https://support.huaweicloud.com/api-dli/dli_02_0252.md): 获取对象赋权用户的权限信息。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Leve - [创建全局变量 - CreateGlobalVariable](https://support.huaweicloud.com/api-dli/dli_02_0258.md): 该API用于创建全局变量。全局变量默认仅供创建者使用,如需其他用户使用请参考数据赋权(用户或项目) - RunAuthorizationAction授权。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体 - [删除全局变量 - DeleteGlobalVariable](https://support.huaweicloud.com/api-dli/dli_02_0259.md): 该API用于删除全局变量。只有创建全局变量的用户才可以删除对应的变量。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项 - [修改全局变量 - UpdateGlobalVariable](https://support.huaweicloud.com/api-dli/dli_02_0260.md): 该API用于修改全局变量。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level - [查询所有全局变量 - ListGlobalVariables](https://support.huaweicloud.com/api-dli/dli_02_0261.md): 该API用于查询当前project下所有全局变量的信息。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访 - [获取项目下所有Catalog信息 - ListCatalogs](https://support.huaweicloud.com/api-dli/dli_02_0388.md): 该API获取指定项目下所有Catalog信息。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求 - [描述Catalog信息 - ShowCatalog](https://support.huaweicloud.com/api-dli/dli_02_0389.md): 该API用于查询指定的DLI Catalog详情。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限 - [绑定/解绑catalog映射信息 - RunCatalogAction](https://support.huaweicloud.com/api-dli/dli_02_0390.md): 该API创建DLI绑定/解绑到Lakeformation等服务的元数据目录(Catalog)相关信息,当前只支持Lakeformation。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用 - [批量添加资源标签 - BatchCreateResourceTags](https://support.huaweicloud.com/api-dli/dli_02_0396.md): 批量添加资源标签。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果 - [批量删除资源标签 - BatchDeleteResourceTags](https://support.huaweicloud.com/api-dli/dli_02_0397.md): 为指定实例批量删除标签。此接口为幂等接口: 删除时,如果删除的标签不存在,默认处理成功。单次最多支持删除20个标签删除时不对标签字符集范围做校验。删除时tags结构体不能缺失,key不能为空,或者空字符串。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示 - [查询资源实例数量 - CountResourcesByTags](https://support.huaweicloud.com/api-dli/dli_02_0398.md): 查询资源实例数量。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果 - [查询资源实例列表 - ListResourcesByTags](https://support.huaweicloud.com/api-dli/dli_02_0399.md): 该接口用于查询资源实例列表。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项 - [查询指定资源类型的标签信息 - ListResourcesTags](https://support.huaweicloud.com/api-dli/dli_02_0513.md): 该接口用于查询指定资源类型的标签信息,即指定项目中资源类型的所有资源标签集合。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果 - [查询指定资源实例的标签信息 - ShowResourceTags](https://support.huaweicloud.com/api-dli/dli_02_0501.md): 查询指定资源实例的标签信息。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项 - [创建增强型跨源连接 - CreateEnhancedConnection](https://support.huaweicloud.com/api-dli/dli_02_0187.md): 该API用于创建与其他服务的增强型跨源连接。如果需要了解Console界面的使用方法,可参考《数据湖探索用户指南》中的“增强型跨源连接”。系统default队列不支持创建跨源连接。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如 - [删除增强型跨源连接 - DeleteEnhancedConnection](https://support.huaweicloud.com/api-dli/dli_02_0188.md): 该API用于删除已创建的增强型跨源连接。创建中的连接,无法删除。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Act - [查询增强型跨源连接列表 - ListEnhancedConnections](https://support.huaweicloud.com/api-dli/dli_02_0190.md): 该API用于查询该用户已创建的增强型跨源连接列表。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别 - [查询增强型跨源连接 - ShowEnhancedConnection](https://support.huaweicloud.com/api-dli/dli_02_0189.md): 该API用于查询该用户指定的已创建的增强型跨源连接。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级 - [绑定队列 - AssociateQueueToEnhancedConnection](https://support.huaweicloud.com/api-dli/dli_02_0191.md): 该API用于在已创建的增强型跨源中绑定队列。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Acc - [解绑队列 - DisassociateQueueFromEnhancedConnection](https://support.huaweicloud.com/api-dli/dli_02_0192.md): 该API用于在增强型跨源中解绑已绑定的队列。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Acc - [修改主机信息 - UpdateEnhancedConnection](https://support.huaweicloud.com/api-dli/dli_02_0200.md): 该API用于在跨源中修改数据源主机信息,仅支持全量覆盖。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访 - [查询增强型跨源授权信息 - ShowEnhancedConnectionPrivilege](https://support.huaweicloud.com/api-dli/dli_02_0256.md): 该API用于查询增强型跨源连接授权的信息。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Acce - [创建路由 - CreateRouteToEnhancedConnection](https://support.huaweicloud.com/api-dli/dli_02_0371.md): 该API用于创建跨源需要的路由。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Le - [删除路由 - DeleteRouteFromEnhancedConnection](https://support.huaweicloud.com/api-dli/dli_02_0372.md): 该API用于删除不需要的路由。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Lev - [创建跨源认证 - CreateJobAuthInfo](https://support.huaweicloud.com/api-dli/dli_02_0367.md): 该API用于创建跨源认证。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level - [获取跨源认证列表 - ListJobAuthInfos](https://support.huaweicloud.com/api-dli/dli_02_0368.md): 该API用于查看某个project下跨源认证列表。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别 - [更新跨源认证 - UpdateJobAuthInfo](https://support.huaweicloud.com/api-dli/dli_02_0369.md): 该API用于更新认证信息。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level - [删除跨源认证 - DeleteJobAuthInfo](https://support.huaweicloud.com/api-dli/dli_02_0370.md): 该API用于删除跨源认证。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level - [查询配额 - ShowQuota](https://support.huaweicloud.com/api-dli/dli_02_0503.md): 该API用于获取用户配额信息列表。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及 - [创建弹性资源池 - CreateElasticResourcePool](https://support.huaweicloud.com/api-dli/dli_02_0326.md): 创建弹性资源池。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level资源类型( - [查询所有弹性资源池 - ListElasticResourcePools](https://support.huaweicloud.com/api-dli/dli_02_0327.md): 查询所有弹性资源池。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level资源类 - [删除弹性资源池 - DeleteElasticResourcePool](https://support.huaweicloud.com/api-dli/dli_02_0328.md): 删除弹性资源池。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level资源类型( - [修改弹性资源池信息 - UpdateElasticResourcePool](https://support.huaweicloud.com/api-dli/dli_02_0329.md): 修改弹性资源池信息。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level资源类 - [查询弹性资源池下所有队列 - ListElasticResourcePoolQueues](https://support.huaweicloud.com/api-dli/dli_02_0330.md): 查询队列与弹性资源池的关联关系。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Le - [关联队列到弹性资源池 - AssociateQueueToElasticResourcePool](https://support.huaweicloud.com/api-dli/dli_02_0331.md): 关联队列到弹性资源池。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level资源 - [弹性资源池扩缩容历史记录 - ListElasticResourcePoolScaleRecords](https://support.huaweicloud.com/api-dli/dli_02_0336.md): 该API用于查询当前弹性资源池扩缩容历史记录。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Ac - [修改弹性资源池关联队列的扩缩容策略 - UpdateElasticResourcePoolQueue](https://support.huaweicloud.com/api-dli/dli_02_0332.md): 修改弹性资源池关联队列的扩缩容策略。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access - [创建包周期弹性资源池 - CreatePeriodElasticResourcePoolOrder](https://support.huaweicloud.com/api-dli/dli_02_0505.md): 该API用于创建包周期弹性资源池。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及 - [包周期弹性资源池规格变更下单接口 - CreatePeriodElasticResourcePoolSpecChangeOrder](https://support.huaweicloud.com/api-dli/dli_02_0506.md): 包周期弹性资源池规格变更。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说 - [创建队列 - CreateQueue](https://support.huaweicloud.com/api-dli/dli_02_0194.md): 该API用于创建队列,该队列将会绑定用户指定的计算资源。新队列第一次运行作业时,需要一定的时间,通常为5~15分钟。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使 - [删除队列 - DeleteQueue](https://support.huaweicloud.com/api-dli/dli_02_0195.md): 该API用于删除指定队列。若指定队列正在执行任务,则不允许删除。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Act - [查询所有队列 - ListQueues](https://support.huaweicloud.com/api-dli/dli_02_0196.md): 该API用于列出该project下所有的队列。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Ac - [查询队列详情 - ShowQueue](https://support.huaweicloud.com/api-dli/dli_02_0016.md): 该API用于列出该project下指定的队列详情。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别 - [重启/扩容/缩容队列 - RunQueueAction](https://support.huaweicloud.com/api-dli/dli_02_0249.md): 该API用于重新启动队列、扩容队列、缩容队列。只有SQL类型的队列支持重启,且重启的时候队列的状态必须是可用状态(执行SQL作业成功后队列状态才是可用状态)。该接口不支持对弹性资源池队列扩容和缩容。如需对弹性资源池接口扩缩容请参考修改弹性资源池关联队列的扩缩容策略 - UpdateElasticResourcePoolQueue。您可以在 - [创建指定地址连通性测试请求 - CreateConnectivityTask](https://support.huaweicloud.com/api-dli/dli_02_0284.md): 该API用于往指定队列发送地址连通性测试请求,并将测试地址插入表内。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项A - [查询指定地址连通性测试详情 - ShowConnectivityTask](https://support.huaweicloud.com/api-dli/dli_02_0285.md): 该API用于在连通性测试提交后查询连通性结果。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Ac - [新增队列属性 - CreateQueueProperty](https://support.huaweicloud.com/api-dli/dli_02_0509.md): 该接口用于增加队列属性。支持一次新增多个属性。当前支持设置的队列的属性:Spark driver的相关参数:通过设置队列的Spark driver,以提升队列资源的调度效率。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限 - [获取队列属性 - ListQueueProperties](https://support.huaweicloud.com/api-dli/dli_02_0510.md): 该API用于获取队列配置的属性。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限及授权项说明。URI格式:GET /v3/{project_id}/queues/{queue_name}/properties - [更新队列属性 - UpdateQueueProperty](https://support.huaweicloud.com/api-dli/dli_02_0511.md): 该API用于更新队列属性。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限及授权项说明。URI格式:PUT /v3/{project_id}/queues/{queue_name}/propertiesPUT - [删除队列属性 - DeleteQueueProperty](https://support.huaweicloud.com/api-dli/dli_02_0512.md): 该API用于删除队列的属性,一次可删除多个属性值。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限及授权项说明。URI格式:DELETE /v3/{project_id}/queues/{queue_name - [提交SQL作业(推荐) - CreateSqlJob](https://support.huaweicloud.com/api-dli/dli_02_0102.md): 该API用于通过执行SQL语句的方式向队列提交作业。作业包含以下类型:DDL、DCL、IMPORT、QUERY和INSERT。其中,IMPORT与导入数据(废弃)的功能一致,区别仅在于实现方式不同。另外,用户可使用其他API来对作业进行查询和管理。具体操作有:查询作业状态 - ShowSqlJobStatus查询作业详细信息 - Show - [取消作业(推荐) - CancelSqlJob](https://support.huaweicloud.com/api-dli/dli_02_0104.md): 该API用于取消已经提交的作业,若作业已经执行结束或失败则无法取消。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项A - [查询所有作业 - ListSqlJobs](https://support.huaweicloud.com/api-dli/dli_02_0025.md): 该API用于查询当前project下的所有作业的信息。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问 - [预览SQL作业查询结果 - PreviewSqlJobResult](https://support.huaweicloud.com/api-dli/dli_02_0312.md): 该API用于在执行SQL查询语句的作业完成后,查看该作业执行的结果。目前仅支持查看“QUERY”类型作业的执行结果。该API只能查看前1000条的结果记录,且不支持分页查询。若要查看全部的结果记录,需要先导出查询结果再进行查看,详细请参见导出查询结果 - ExportSqlJobResult。您可以在API Explorer中调试该接口。 - [导出查询结果 - ExportSqlJobResult](https://support.huaweicloud.com/api-dli/dli_02_0024.md): 该API用于将SQL语句的查询结果导出到OBS对象存储中,只支持导出“QUERY”类型作业的查询结果。该API为异步操作。目前只支持导出数据到OBS中,且导出的路径必须指定到文件夹级别。OBS路径中不支持逗号,且其中的桶名不能以正则格式“.[0-9]+(.*)”结尾,即,若桶名包含“.”, 则最后一个“.”不能以数字开头(例如:**.12 - [查询作业状态 - ShowSqlJobStatus](https://support.huaweicloud.com/api-dli/dli_02_0021.md): 该API用于在作业提交后查询作业状态。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access - [查询作业详细信息 - ShowSqlJobDetail](https://support.huaweicloud.com/api-dli/dli_02_0022.md): 该API用于查询作业的详细信息,如作业的databasename、tablename、file size和export mode等信息。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限 - [检查SQL语法 - CheckSql](https://support.huaweicloud.com/api-dli/dli_02_0107.md): 该API用于检查SQL语法。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Leve - [查询作业执行进度信息 - ShowSqlJobProgress](https://support.huaweicloud.com/api-dli/dli_02_0296.md): 该API用于获取作业执行进度信息,如果作业正在执行,可以获取到子作业的信息,如果作业刚开始或者已经结束,则无法获取到子作业信息。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项 - [保存SQL模板 - CreateSqlJobTemplate](https://support.huaweicloud.com/api-dli/dli_02_0347.md): 该接口用于存储指定的SQL语句,后续可以重复使用。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别 - [查看所有SQL模板 - ListSqlJobTemplates](https://support.huaweicloud.com/api-dli/dli_02_0348.md): 该接口用于查看用户保存的所有SQL模板。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Acces - [更新SQL模板 - UpdateSqlJobTemplate](https://support.huaweicloud.com/api-dli/dli_02_0350.md): 该接口用于更新SQL模板。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level - [删除SQL模板 - BatchDeleteSqlJobTemplates](https://support.huaweicloud.com/api-dli/dli_02_0351.md): 该接口用于批量删除SQL模板。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Lev - [创建SQL防御规则 - CreateSqlJobDefendRule](https://support.huaweicloud.com/api-dli/dli_02_0380.md): 该API用于创建SQL防御规则,拦截匹配规则的SQL。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体 - [批量获取SQL防御规则 - ListSqlJobDefendRules](https://support.huaweicloud.com/api-dli/dli_02_0381.md): 该API用于批量获取SQL防御规则。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限 - [更新SQL防御规则 - UpdateSqlJobDefendRule](https://support.huaweicloud.com/api-dli/dli_02_0382.md): 该API用于更新SQL防御规则,拦截匹配规则的SQL。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体 - [删除SQL防御规则 - DeleteSqlJobDefendRule](https://support.huaweicloud.com/api-dli/dli_02_0383.md): 该API用于删除SQL防御规则。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授 - [获取SQL防御规则 - ShowSqlJobDefendRule](https://support.huaweicloud.com/api-dli/dli_02_0384.md): 该API用于获取单个SQL防御规则。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限 - [批量获取系统预置SQL防御规则 - ListSqlJobSystemDefendRules](https://support.huaweicloud.com/api-dli/dli_02_0385.md): 该API用于获取系统预置SQL防御规则。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限及授权项说明。GET - [获取单个系统预置SQL防御规则 - ShowSqlJobSystemDefendRule](https://support.huaweicloud.com/api-dli/dli_02_0386.md): 该API用于获取系统预置SQL防御规则。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限及授权项说明。GET - [新建SQL作业 - CreateFlinkSqlJob](https://support.huaweicloud.com/api-dli/dli_02_0228.md): 该API用于创建Flink SQL作业。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Acces - [更新SQL作业 - UpdateFlinkSqlJob](https://support.huaweicloud.com/api-dli/dli_02_0229.md): 该API用于修改Flink SQL作业。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Acces - [新建Flink Jar作业 - CreateFlinkJarJob](https://support.huaweicloud.com/api-dli/dli_02_0230.md): 该API用于创建用户自定义的作业,目前支持jar格式,运行在独享队列中。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权 - [更新Flink Jar作业 - UpdateFlinkJarJob](https://support.huaweicloud.com/api-dli/dli_02_0231.md): 该API用于更新用户自定义作业,目前仅支持Jar格式,运行在独享队列中。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权 - [批量运行作业 - BatchRunFlinkJobs](https://support.huaweicloud.com/api-dli/dli_02_0233.md): 该API用于触发批量运行作业。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Lev - [查询作业列表 - ListFlinkJobs](https://support.huaweicloud.com/api-dli/dli_02_0234.md): 查询当前用户的作业列表,可以根据作业ID作为ID,查询大于ID或小于ID的限定条数的作业,默认查询全部状态的作业,也可以设定运行中或其他状态条件。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求 - [查询作业详情 - ShowFlinkJob](https://support.huaweicloud.com/api-dli/dli_02_0235.md): 查看一个作业的详情信息。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level资 - [查询作业执行计划 - ShowFlinkJobExecutionGraph](https://support.huaweicloud.com/api-dli/dli_02_0236.md): 该API用于查询作业执行计划。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Lev - [批量停止作业 - BatchStopFlinkJobs](https://support.huaweicloud.com/api-dli/dli_02_0241.md): 该API用于批量停止正在运行的作业。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access - [删除作业 - DeleteFlinkJob](https://support.huaweicloud.com/api-dli/dli_02_0242.md): 该API可用于删除任何状态的Flink作业。删除作业接口只删除作业,不删除作业记录。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策 - [批量删除作业 - BatchDeleteFlinkJobs](https://support.huaweicloud.com/api-dli/dli_02_0243.md): 该API可用于批量删除任何状态的作业。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access - [导出Flink作业 - ExportFlinkJobs](https://support.huaweicloud.com/api-dli/dli_02_0254.md): 该API用于导出Flink作业数据。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access - [导入Flink作业 - ImportFlinkJobs](https://support.huaweicloud.com/api-dli/dli_02_0255.md): 该API用于导入Flink作业数据。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access - [生成Flink SQL作业的静态流图 - CreateFlinkSqlJobGraph](https://support.huaweicloud.com/api-dli/dli_02_0316.md): 该API用于生成Flink SQL作业的静态流图。Flink 1.15版本不支持生成静态流图。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备 - [新建模板 - CreateFlinkSqlJobTemplate](https://support.huaweicloud.com/api-dli/dli_02_0245.md): 该API在DLI服务中新建一个用户模板,最多100个。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问 - [更新模板 - UpdateFlinkSqlJobTemplate](https://support.huaweicloud.com/api-dli/dli_02_0246.md): 该API用于对DLI服务中已有的模板进行更新。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Ac - [删除模板 - DeleteFlinkSqlJobTemplate](https://support.huaweicloud.com/api-dli/dli_02_0247.md): 该API删除一个模板,即使当前模板正在被作业使用,也允许删除。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Acti - [查询模板列表 - ListFlinkSqlJobTemplates](https://support.huaweicloud.com/api-dli/dli_02_0248.md): 该API查询作业模板列表。当前只支持查询用户自定义模板。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访 - [触发Flink作业保存点 - ExecuteFlinkJobSavepoint](https://support.huaweicloud.com/api-dli/dli_02_0392.md): 触发Flink作业保存点。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说 - [导入Flink作业保存点 - ImportFlinkJobSavepoint](https://support.huaweicloud.com/api-dli/dli_02_0393.md): 导入Flink作业保存点。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说 - [创建批处理作业 - CreateSparkJob](https://support.huaweicloud.com/api-dli/dli_02_0124.md): 该API用于在某个队列上创建批处理作业。在Spark作业提交过程中,若长时间未能成功获取资源,作业状态将在持续等待3小时左右转变为“dead”状态。Spark作业状态请参考表7。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果 - [查询批处理作业列表 - ListSparkJobs](https://support.huaweicloud.com/api-dli/dli_02_0125.md): 该API用于查询Project下某队列批处理作业的列表。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访 - [查询批处理作业详情 - ShowSparkJob](https://support.huaweicloud.com/api-dli/dli_02_0126.md): 该API用于根据批处理作业的id查询作业详情。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Ac - [查询批处理作业状态 - ShowSparkJobStatus](https://support.huaweicloud.com/api-dli/dli_02_0127.md): 该API用于查询批处理作业的状态。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access L - [取消批处理作业 - CancelSparkJob](https://support.huaweicloud.com/api-dli/dli_02_0129.md): 该API用于取消批处理作业。作业状态为“已成功”或者“已失败”的批处理作业无法取消。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策 - [创建作业模板 - CreateSparkJobTemplate](https://support.huaweicloud.com/api-dli/dli_02_0352.md): 该API用于创建作业模板。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level - [查询作业模板列表 - ListSparkJobTemplates](https://support.huaweicloud.com/api-dli/dli_02_0354.md): 该API用于查询作业模板列表。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Lev - [修改作业模板 - UpdateSparkJobTemplate](https://support.huaweicloud.com/api-dli/dli_02_0353.md): 该API用于修改作业模板。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level - [获取作业模板 - ShowSparkJobTemplate](https://support.huaweicloud.com/api-dli/dli_02_0355.md): 该API用于获取作业模板。您可以在API Explorer中调试该接口。账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。如果使用角色与策略授权,具体权限要求请参见权限及授权项说明。如果使用身份策略授权,需具备如下身份策略权限。授权项Action访问级别Access Level - [权限及授权项说明](https://support.huaweicloud.com/api-dli/dli_02_0375.md): 如果您需要对您所拥有的DLI进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),如果账号所具备的权限功能已经能满足您的要求,您可以跳过本章节,不影响您使用DLI服务的其它功能。通过IAM,您可以通过授权控制主体(IAM用户、用户组、IAM委托或信任委托)对资源的访问范 - [策略授权参考](https://support.huaweicloud.com/api-dli/dli_02_0201.md): 本章节介绍DLI基于角色授权场景下支持的策略授权项。策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下:权限:允许或拒绝对指定资源在特定条件下进行某项操作。对应API接口:自定义策略实际调用的API接口。授权 - [身份策略授权参考](https://support.huaweicloud.com/api-dli/dli_02_0377.md): 云服务在IAM预置了常用授权项,称为系统身份策略。如果IAM系统身份策略无法满足授权要求,管理员可以根据各服务支持的授权项,创建IAM自定义身份策略来进行精细的访问控制,IAM自定义身份策略是对系统身份策略的扩展和补充。除IAM服务外,Organizations服务中的服务控制策略(Service Control Policies,以下简 - [数据湖探索 DLI](https://support.huaweicloud.com/api-dli/dli_02_0515.md): Organizations服务中的服务控制策略(Service Control Policy,以下简称SCP)可以使用以下授权项元素设置访问控制策略。SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。本章节介绍组织服 - [获取DLI委托信息(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0298.md): 该API用于获取DLI用户委托信息。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v2/{project_id}/agencyGET /v2/{project_id}/agency参数说明URI参数参数名称是否必选参数类型说明project_id是String项目编号,用于资源隔离。获取方 - [创建DLI委托(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0299.md): 该API用于创建DLI用户委托。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:POST /v2/{project_id}/agencyPOST /v2/{project_id}/agency参数说明URI参数参数名称是否必选参数类型说明project_id是String项目编号,用于资源隔离。获取方 - [上传分组资源(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0130.md): 该API用于上传分组资源到某个project下。该API对应控制台的创建程序包功能。Flink1.15及以上版本、Spark3.3.1及以上版本时该接口废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:POST /v2.0/{project_id}/resourcesPOST /v2.0/{project_id} - [查询分组资源列表(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0168.md): 该API用于查询某个project下的所有资源,其中包含Group。Flink1.15及以上版本、Spark3.3.1及以上版本时该接口废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v2.0/{project_id}/resourcesGET /v2.0/{project_id}/resources - [上传jar类型分组资源(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0169.md): 该API用于在project下上传jar类型分组资源。上传同名资源模块时,新模块将会覆盖旧模块。Flink1.15及以上版本、Spark3.3.1及以上版本时该接口废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:POST /v2.0/{project_id}/resources/jarsPOST /v2.0/{ - [上传pyfile类型分组资源(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0170.md): 该API用于在project下的上传pyfile类型模块。上传同名pyfile类型模块时,新模块将会覆盖旧模块。Flink1.15及以上版本、Spark3.3.1及以上版本时该接口废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:POST /v2.0/{project_id}/resources/pyfilesP - [上传file类型分组资源(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0171.md): 该API用于在project下上传file类型模块。上传同名file模块时,新模块将会覆盖旧模块。Flink1.15及以上版本、Spark3.3.1及以上版本时该接口废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:POST /v2.0/{project_id}/resources/filesPOST /v2.0 - [查询组内资源包(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0172.md): 该API用于查询某个project某个分组下的具体资源信息。Flink1.15及以上版本、Spark3.3.1及以上版本时该接口废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v2.0/{project_id}/resources/{resource_name}GET /v2.0/{project_i - [删除组内资源包(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0173.md): 该API用于删除某个project某个分组下的资源包。Flink1.15及以上版本、Spark3.3.1及以上版本时该接口废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:DELETE /v2.0/{project_id}/resources/{resource_name}DELETE /v2.0/{projec - [修改组或资源包拥有者(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0253.md): 该API用于修改程序包的owner。Flink1.15及以上版本、Spark3.3.1及以上版本时该接口废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:PUT /v2.0/{project_id}/resources/ownerPUT /v2.0/{project_id}/resources/owner参数说明 - [查询批处理作业日志(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0128.md): 该API用于查询批处理作业的后台日志。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v2.0/{project_id}/batches/{batch_id}/logGET /v2.0/{project_id}/batches/{batch_id}/log参数说明URI参数参数名称是否必选参 - [导入数据(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0019.md): 该API用于将数据从文件导入DLI或OBS表,目前仅支持将OBS上的数据导入DLI或OBS中。当前接口已废弃,不推荐使用。该API为异步操作。导入数据时,可选择已存在的OBS桶路径或新建OBS桶路径,但只能指定一个OBS桶路径。若需新建OBS桶,需遵守以下命名规则:需全局唯一,不能与已有的任何桶名称重复。长度范围为3到63个字符,支持小写 - [导出数据(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0020.md): 该API用于从DLI表中导出数据到文件。该API为异步操作。目前只支持从DLI表导出数据到OBS中,且导出的路径必须指定到文件夹级别。OBS路径中不支持逗号,且其中的桶名不能以正则格式“.[0-9]+(.*)”结尾,即,若桶名包含“.”, 则最后一个“.”不可以数字开头(例如:**.12abc 或 **.12)。支持跨账号导出数据,即,如 - [创建数据库(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0028.md): 该API用于新增数据库。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:POST /v1.0/{project_id}/databasesPOST /v1.0/{project_id}/databases参数说明URI参数参数名称是否必选参数类型说明project_id是String项目编号,用于资源 - [删除数据库(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0030.md): 该API用于删除空数据库,默认方式下,若待删除的数据库中存在表,则需先删除其中的所有表。删除表API请参见删除表(废弃)。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:DELETE /v1.0/{project_id}/databases/{database_name}DELETE /v1.0/{p - [查询所有数据库(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0029.md): 该API用于查询出所有的数据库信息。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v1.0/{project_id}/databasesGET /v1.0/{project_id}/databases参数说明URI参数参数名称是否必选参数类型说明project_id是String项目编号, - [修改数据库用户(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0164.md): 用于修改数据库的owner。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:PUT /v1.0/{project_id}/databases/{database_name}/ownerPUT /v1.0/{project_id}/databases/{database_name}/owner参数说明U - [创建表(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0034.md): 该API用于创建新的表。该接口是同步接口。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:POST /v1.0/{project_id}/databases/{database_name}/tablesPOST /v1.0/{project_id}/databases/{database_name}/ - [删除表(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0035.md): 该API用于删除指定的表。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:DELETE /v1.0/{project_id}/databases/{database_name}/tables/{table_name}DELETE /v1.0/{project_id}/databases/{databa - [查询所有表(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0105.md): 该API用于查询指定数据库下符合过滤条件的或所有的表信息。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v1.0/{project_id}/databases/{database_name}/tablesGET /v1.0/{project_id}/databases/{database_ - [描述表信息(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0033.md): 该API用于描述指定表的元数据信息。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}GET /v1.0/{project_id}/databases/{databas - [预览表内容(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0108.md): 该API用于用于预览表中前10行的内容。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/previewGET /v1.0/{project_id}/database - [修改表用户(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0165.md): 用于修改数据库中表的owner。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:PUT /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/ownerPUT /v1.0/{project_id}/databases/{dat - [获取分区信息列表(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0250.md): 该API用于用于获取分区信息的列表。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/partitionsGET /v1.0/{project_id}/databas - [队列赋权(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0037.md): 该API用于与其他用户共享指定的队列,可以给用户赋使用指定的队列的权限或者收回使用权限。用户所属的用户组需要在所属区域内具有Tenant Guest权限。关于Tenant Guest权限的介绍和开通方法,详细参见权限策略和统一身份认证服务 用户指南中的创建用户组。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。U - [查看队列的使用者(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0038.md): 该API用于查询可以使用的指定队列的所有用户名称。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v1.0/{project_id}/queues/{queue_name}/usersGET /v1.0/{project_id}/queues/{queue_name}/users参数说明UR - [数据赋权(用户)(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0039.md): 该API用于将数据库或数据表的数据权限赋给指定的其他用户。被赋权用户所在用户组的所属区域需具有Tenant Guest权限。关于Tenant Guest权限的介绍和开通方法,详细参见权限策略和统一身份认证服务 用户指南中的创建用户组。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:PUT /v1.0/ - [查看数据库的使用者(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0040.md): 该API用于查看当前数据库有权限使用或访问的所有用户名称。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v1.0/{project_id}/databases/{database_name}/usersGET /v1.0/{project_id}/databases/{database_n - [查看表的使用者(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0041.md): 该API用于查看有权访问指定表或表的列的所有用户。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/usersGET /v1.0/{project_id}/datab - [查看表的用户权限(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0042.md): 该API用于查询指定用户在表上的权限。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/users/{user_name}GET /v1.0/{project_id} - [修改队列网段(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0222.md): 该功能用于修改包年包月队列网段。如果待修改网段的队列中有正在提交或正在运行的作业,或者改队列已经绑定了增强型跨源,将不支持修改网段操作。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:PUT /v1.0/{project_id}/queues/{queue_name}PUT /v1.0/{projec - [创建队列定时扩缩容计划(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0291.md): 该API用于创建队列定时扩缩容计划,对指定的队列创建定时规格变更计划。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:POST /v1/{project_id}/queues/{queue_name}/plansPOST /v1/{project_id}/queues/{queue_name}/pla - [查看队列定时扩缩容计划(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0292.md): 该API用于查看队列定时扩缩容计划,列出指定队列定时规格变更计划。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v1/{project_id}/queues/{queue_name}/plansGET /v1/{project_id}/queues/{queue_name}/plans参数 - [批量删除队列定时扩缩容计划(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0293.md): 该API用于批量删除队列定时扩缩容计划。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:POST /v1/{project_id}/queues/{queue_name}/plans/batch-deletePOST /v1/{project_id}/queues/{queue_name}/plans - [单个删除队列定时扩缩容计划(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0294.md): 该API用于删除指定ID的队列定时扩缩容计划。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:DELETE /v1/{project_id}/queues/{queue_name}/plans/{plan_id}DELETE /v1/{project_id}/queues/{queue_name}/p - [修改队列定时扩缩容计划(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0295.md): 该API用于修改指定ID的队列的定时扩缩容计划。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:PUT /v1/{project_id}/queues/{queue_name}/plans/{plan_id}PUT /v1/{project_id}/queues/{queue_name}/plans/ - [创建跨源认证(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0339.md): 该API用于创建跨源认证。当前接口已废弃,不推荐使用。推荐使用创建跨源认证 - CreateJobAuthInfo。您可以在API Explorer中调试该接口。URI格式:POST /v2.0/{project_id}/datasource/auth-infosPOST /v2.0/{project_id}/datasource/aut - [获取跨源认证列表(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0340.md): 该API用于查看某个project下跨源认证列表。当前接口已废弃,不推荐使用。推荐使用获取跨源认证列表 - ListJobAuthInfos。您可以在API Explorer中调试该接口。URI格式:GET /v2.0/{project_id}/datasource/auth-infosGET /v2.0/{project_id}/dat - [更新跨源认证(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0341.md): 该API用于更新认证信息。当前接口已废弃,不推荐使用。推荐使用更新跨源认证 - UpdateJobAuthInfo。您可以在API Explorer中调试该接口。URI格式:PUT /v2.0/{project_id}/datasource/auth-infosPUT /v2.0/{project_id}/datasource/auth- - [删除跨源认证(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0342.md): 该API用于删除跨源认证。当前接口已废弃,不推荐使用。推荐使用删除跨源认证 - DeleteJobAuthInfo。您可以在API Explorer中调试该接口。URI格式:DELETE /v2.0/{project_id}/datasource/auth-infos/{auth_info_name}DELETE /v2.0/{proje - [创建路由(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0344.md): 该API用于创建跨源需要的路由。当前接口已废弃,不推荐使用。推荐使用创建路由 - CreateRouteToEnhancedConnection。您可以在API Explorer中调试该接口。URI格式:POST /v2.0/{project_id}/datasource/enhanced-connections/{connection_ - [删除路由(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0345.md): 该API用于删除不需要的路由。当前接口已废弃,不推荐使用。推荐使用删除路由 - DeleteRouteFromEnhancedConnection。您可以在API Explorer中调试该接口。URI格式:DELETE /v2.0/{project_id}/datasource/enhanced-connections/{connecti - [查询所有SQL样例模板(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0349.md): 该API用于查询所有SQL样例模板。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式:GET /v1.0/{project_id}/sqls/sampleGET /v1.0/{project_id}/sqls/sample参数说明URI参数说明参数是否必选参数类型描述project_id是String项 - [查询所有表(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0032.md): 该API用于查询指定数据库下符合过滤条件的或所有的表信息。当前接口已废弃,不推荐使用。URI格式:GET /v1.0/{project_id}/databases/{database_name}?keyword=tb&with-detail=trueGET /v1.0/{project_id}/databases/{database_na - [提交SQL作业(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0018.md): 该API用于通过执行SQL语句的方式向队列提交作业。当前接口已废弃,不推荐使用。作业包含以下类型:DDL、DCL、IMPORT、EXPORT、QUERY和INSERT。其中,IMPORT和EXPORT分别与导入数据(废弃)和与导出数据(废弃)的功能一致,区别仅在于实现方式不同。另外,用户可使用其他API来对作业进行查询和管理。具体操作有: - [取消作业(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0026.md): 该API用于取消已经提交的作业,若作业已经执行结束或失败则无法取消。当前接口已废弃,不推荐使用。URI格式:DELETE /v1.0/{project_id}/queues/{queue_name}/jobs/{job_id}DELETE /v1.0/{project_id}/queues/{queue_name}/jobs/{job_i - [查询作业结果(方式一)(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0023.md): 该API用于在执行SQL查询语句的作业完成后,查看该作业执行的结果。目前仅支持查看“QUERY”类型作业的执行结果。当前接口已废弃,不推荐使用。该API只能查看前1000条的结果记录,若要查看全部的结果记录,需要先导出查询结果再进行查看,详细请参见导出查询结果 - ExportSqlJobResult。URI格式:GET/v1.0/{pr - [查询作业结果(方式二)(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0103.md): 该API用于在执行SQL查询语句的作业完成后,查看该作业执行的结果。目前仅支持查看“QUERY”类型作业的执行结果。该API只能查看前1000条的结果记录,若要查看全部的结果记录,需要先导出查询结果再进行查看,详细请参见导出查询结果 - ExportSqlJobResult。当前接口已废弃,不推荐使用。URI格式:GET/v1.0/{pr - [对已创建的上传作业进行鉴权(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0054.md): 该API用于检查已创建的上传作业是否合法,并授权合法作业上传数据至DLI。当前接口已废弃,不推荐使用。URI格式:POST /v1.0/{project_id}/uploader/authenticationPOST /v1.0/{project_id}/uploader/authentication参数说明请求样例:{ "job_i - [创建集群(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0110.md): 该API用于创建集群,该集群将会绑定用户指定的计算资源。当前接口已废弃,不推荐使用。URI格式:POST /v2.0/{project_id}/clustersPOST /v2.0/{project_id}/clusters参数说明URI参数名称是否必选说明project_id是项目编号,用于资源隔离。获取方式请参考获取项目ID。创建集群 - [删除集群(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0111.md): 该API用于删除指定集群。当前接口已废弃,不推荐使用。URI格式:DELETE /v2.0/{project_id}/clusters/{cluster_name}DELETE /v2.0/{project_id}/clusters/{cluster_name}参数说明URI参数名称是否必选说明project_id是项目编号,用于资源隔离 - [获取指定集群信息(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0112.md): 该API用于查询指定集群的信息,包括名称、描述以及绑定的计算资源数。当前接口已废弃,不推荐使用。URI格式:GET /v2.0/{project_id}/clusters/{cluster_name}GET /v2.0/{project_id}/clusters/{cluster_name}参数说明URI参数名称是否必选说明project - [获取全部集群信息(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0113.md): 该API用于列出该project下所有的集群。当前接口已废弃,不推荐使用。URI格式:GET/v2.0/{project_id}/clustersGET/v2.0/{project_id}/clusters参数说明URI参数名称是否必选说明project_id是项目编号,用于资源隔离。获取方式请参考获取项目ID。无请求参数。返回码成功返回 - [查询作业监控信息(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0238.md): 该API用于查询作业监控信息, 支持同时查询多个作业的监控信息。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式POST /v1.0/{project_id}/streaming/jobs/metricsPOST /v1.0/{project_id}/streaming/jobs/metrics参数说明 - [OBS授权给DLI服务(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0225.md): 用户主动授权OBS桶的操作权限给DLI服务,用于保存用户作业的checkpoint、作业的运行日志等。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式POST /v1.0/{project_id}/dli/obs-authorizePOST /v1.0/{project_id}/dli/obs-auth - [创建经典型跨源连接(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0144.md): 该API用于创建与其他服务的经典型跨源连接。推荐使用创建增强型跨源连接 - CreateEnhancedConnection。系统default队列不支持创建跨源连接。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式POST /v2.0/{project_id}/datasource-connectio - [删除经典型跨源连接(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0155.md): 该API用于删除已创建的经典型跨源连接。创建中的连接,无法删除。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式DELETE /v2.0/{project_id}/datasource-connection/{connection_id}DELETE /v2.0/{project_id}/datasou - [查询经典型跨源连接列表(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0146.md): 该API用于查询该用户已创建的经典型跨源连接列表。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式GET /v2.0/{project_id}/datasource-connectionGET /v2.0/{project_id}/datasource-connection参数说明URI参数参数名称是否 - [查询经典型跨源连接(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0145.md): 该API用于查询该用户指定的已创建的经典型跨源连接。当前接口已废弃,不推荐使用。您可以在API Explorer中调试该接口。URI格式GET /v2.0/{project_id}/datasource-connection/{connection_id}GET /v2.0/{project_id}/datasource-connecti - [创建IEF消息通道(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0286.md): 该API用于创建IEF消息通道。DLI不再支持边缘作业场景的API调用。您可以在API Explorer中调试该接口。URI格式POST /v1/{project_id}/edgesrv/message-channelPOST /v1/{project_id}/edgesrv/message-channel参数说明URI参数说明参数名称是 - [边缘Flink作业状态上报(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0287.md): 该API用于处理边缘Flink作业状态上报信息。DLI不再支持边缘作业场景的API调用。您可以在API Explorer中调试该接口。URI格式POST /v1/{project_id}/edgesrv/job-reportPOST /v1/{project_id}/edgesrv/job-report参数说明URI参数说明参数名称是否必 - [边缘Flink作业Action回调(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0288.md): 该API用于处理IEF Flink作业action回调信息。DLI不再支持边缘作业场景的API调用。您可以在API Explorer中调试该接口。URI格式POST /v1/{project_id}/edgesrv/messagesPOST /v1/{project_id}/edgesrv/messages参数说明URI参数说明参数名称是 - [IEF系统事件上报(废弃)](https://support.huaweicloud.com/api-dli/dli_02_0289.md): 该API用于处理IEF系统事件上报。DLI不再支持边缘作业场景的API调用。您可以在API Explorer中调试该接口。URI格式POST /v1/{project_id}/edgesrv/system-eventsPOST /v1/{project_id}/edgesrv/system-events参数说明URI参数说明参数名称是否必 - [状态码](https://support.huaweicloud.com/api-dli/dli_02_0012.md): 状态码如表1所示。 - [错误码](https://support.huaweicloud.com/api-dli/dli_02_0056.md): 调用API出错后,将不会返回结果数据。调用方可根据每个API对应的错误码来定位错误原因。 当调用出错时,HTTP 请求返回一个 4xx 或 5xx 的 HTTP 状态码。返回的消息体中是具体的错误代码及错误信息。在调用方找不到错误原因时,可以联系企业技术人员,并提供错误码,以便尽快帮您解决问题。当接口调用出错时,会返回错误码及错误信息说明 - [获取项目ID](https://support.huaweicloud.com/api-dli/dli_02_0183.md): 在调用接口的时候,部分URL中需要填入项目ID,所以需要获取到项目ID。有如下两种获取方式:调用API获取项目ID从控制台获取项目ID项目ID可以通过调用查询指定条件下的项目信息API获取。获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和 - [获取账号ID](https://support.huaweicloud.com/api-dli/dli_02_0013.md): 在调用接口的时候,部分URL中需要填入账号ID(domain-id),所以需要先在管理控制台上获取到账号ID。账号ID获取步骤如下:登录管理控制台。鼠标指向界面右上角的登录用户名,在下拉列表中单击“我的凭证”。在“API凭证”页面查看账号ID。获取账号ID ## SDK参考 - [DLI SDK简介](https://support.huaweicloud.com/sdkreference-dli/dli_04_0002.md): 数据湖探索服务软件开发工具包(DLI SDK,Data Lake Insight Software Development Kit)是对DLI服务提供的REST API进行封装,以简化开发工作。DLI提供两种SDK支持:一种是 API Explorer SDK,另一种是DLI服务自研的SDK(包括DLI SDK V1和DLI SDK V2 - [Java开发环境配置](https://support.huaweicloud.com/sdkreference-dli/dli_04_0029.md): 在安装和使用Java SDK前,确保您已经完成开发环境的基本配置。Java SDK要求使用JDK1.8或更高版本。考虑到后续版本的兼容性,推荐使用1.8版本。在Java运行环境配置好的情况下,打开windows的命令行,执行命令Java -version,可以检查版本信息。安装JDK。从Oracle官网下载并安装JDK1.8版本安装包。配 - [Java SDK的获取与安装](https://support.huaweicloud.com/sdkreference-dli/dli_04_0004.md): 在“DLI SDK DOWNLOAD”页面,单击选择所需的SDK链接,即可获取对应的SDK安装包。建议您同时下载SDK安装包中的.sha256文件,该文件可用于验证SDK包的完整性。验证方法请参考验证SDK包的完整性。下载SDK安装包时,您需要同时下载.sha256文件,用于验证SDK包的完整性。本节介绍使用.sha256文件验证SDK包 - [初始化DLI客户端](https://support.huaweicloud.com/sdkreference-dli/dli_04_0008.md): 使用DLI SDK工具访问DLI,需要用户初始化DLI客户端。用户可以使用AK/SK(Access Key ID/Secret Access Key)或Token两种认证方式初始化客户端。其中Token认证仅DLI SDK V1版本支持,推荐使用AK/SK认证方式。已参考Java SDK概述配置Java SDK环境。已参考本节操作完成客户 - [Python开发环境配置](https://support.huaweicloud.com/sdkreference-dli/dli_04_0151.md): 在安装和使用Python SDK前,确保您已经完成开发环境的基本配置。Python版本建议使用2.7.10和3.4.0以上版本,需要配置Visual C++编译环境Visual C++ build tools 或者 Visual Studio。从Python官网下载并安装Python版本。根据Python官方指导安装Python版本。检验 - [Python SDK获取与安装](https://support.huaweicloud.com/sdkreference-dli/dli_04_0006.md): 本节操作介绍安装Python SDK的操作指导。在“DLI SDK DOWNLOAD”页面,单击选择所需的SDK链接,即可获取对应的SDK安装包。建议您同时下载SDK安装包中的.sha256文件,该文件可用于验证SDK包的完整性。验证方法请参考验证SDK包的完整性。“dli-sdk-python-x.x.x.zip”压缩包,解压后目录结构 - [初始化DLI客户端](https://support.huaweicloud.com/sdkreference-dli/dli_04_0033.md): 使用DLI Python SDK工具访问DLI,需要用户初始化DLI客户端。用户可以使用AK/SK(Access Key ID/Secret Access Key)或Token两种认证方式初始化客户端。其中Token认证仅DLI SDK V1版本支持,推荐使用AK/SK认证方式。完整样例代码和依赖包说明请参考:Python SDK概述。代 - [API Explorer SDK(推荐使用)](https://support.huaweicloud.com/sdkreference-dli/dli_04_1008.md): 数据湖探索服务软件开发工具包(DLI SDK,Data Lake Insight Software Development Kit)是对DLI服务提供的REST API进行的封装,以简化开发工作。本文介绍了 API Explorer SDK的使用方法,列举了最新版本SDK的获取地址。SDK V3版本开发指南。表1提供了通用SDK V3的D - [使用SDK提交SQL作业](https://support.huaweicloud.com/sdkreference-dli/dli_04_0084.md): 本节操作介绍使用DLI SDK V2提交SQL作业的操作方法。DLI SDK V2当前处于受限使用阶段,如需使用请提交工单申请开通。2024年5月起,首次使用DLI的用户可以直接使用DLI SDK V2,无需申请。对于2024年5月之前开通并使用DLI服务的用户,如需使用“DLI SDK V2”功能,必须提交工单申请开通试用权限。单击下载 - [使用SDK提交Flink SQL作业](https://support.huaweicloud.com/sdkreference-dli/dli_04_0202.md): 本节操作介绍使用DLI SDK V2提交Flink SQL作业的操作方法。DLI SDK V2当前处于受限使用阶段,如需使用请提交工单申请开通。2024年5月起,首次使用DLI的用户可以直接使用DLI SDK V2,无需申请。对于2024年5月之前开通并使用DLI服务的用户,如需使用“DLI SDK V2”功能,必须提交工单申请开通试用权 - [使用SDK提交Flink Jar作业](https://support.huaweicloud.com/sdkreference-dli/dli_04_0203.md): 本节操作介绍使用DLI SDK V2提交Flink Jar作业的操作方法。DLI SDK V2当前处于受限使用阶段,如需使用请提交工单申请开通。2024年5月起,首次使用DLI的用户可以直接使用DLI SDK V2,无需申请。对于2024年5月之前开通并使用DLI服务的用户,如需使用“DLI SDK V2”功能,必须提交工单申请开通试用权 - [使用SDK提交Spark作业](https://support.huaweicloud.com/sdkreference-dli/dli_04_0204.md): 本节操作介绍使用DLI SDK V2提交Spark作业的操作方法。DLI SDK V2当前处于受限使用阶段,如需使用请提交工单申请开通。2024年5月起,首次使用DLI的用户可以直接使用DLI SDK V2,无需申请。对于2024年5月之前开通并使用DLI服务的用户,如需使用“DLI SDK V2”功能,必须提交工单申请开通试用权限。单击 - [使用SDK提交SQL作业](https://support.huaweicloud.com/sdkreference-dli/dli_04_0206.md): 本节操作介绍使用DLI SDK V2提交SQL作业的操作方法。DLI SDK V2当前处于受限使用阶段,如需使用请提交工单申请开通。2024年5月起,首次使用DLI的用户可以直接使用DLI SDK V2,无需申请。对于2024年5月之前开通并使用DLI服务的用户,如需使用“DLI SDK V2”功能,必须提交工单申请开通试用权限。单击下载 - [使用SDK提交Flink SQL作业](https://support.huaweicloud.com/sdkreference-dli/dli_04_0207.md): 本节操作介绍使用DLI SDK V2提交Flink SQL作业的操作方法。DLI SDK V2当前处于受限使用阶段,如需使用请提交工单申请开通。2024年5月起,首次使用DLI的用户可以直接使用DLI SDK V2,无需申请。对于2024年5月之前开通并使用DLI服务的用户,如需使用“DLI SDK V2”功能,必须提交工单申请开通试用权 - [使用SDK提交Flink Jar作业](https://support.huaweicloud.com/sdkreference-dli/dli_04_0208.md): 本节操作介绍使用DLI SDK V2提交Flink Jar作业的操作方法。DLI SDK V2当前处于受限使用阶段,如需使用请提交工单申请开通。2024年5月起,首次使用DLI的用户可以直接使用DLI SDK V2,无需申请。对于2024年5月之前开通并使用DLI服务的用户,如需使用“DLI SDK V2”功能,必须提交工单申请开通试用权 - [使用SDK提交Spark作业](https://support.huaweicloud.com/sdkreference-dli/dli_04_0209.md): 本节操作介绍使用DLI SDK V2提交Spark作业的操作方法。DLI SDK V2当前处于受限使用阶段,如需使用请提交工单申请开通。2024年5月起,首次使用DLI的用户可以直接使用DLI SDK V2,无需申请。对于2024年5月之前开通并使用DLI服务的用户,如需使用“DLI SDK V2”功能,必须提交工单申请开通试用权限。单击 - [DLI SDK V1功能矩阵](https://support.huaweicloud.com/sdkreference-dli/dli_04_0003.md): SDK开发指南指导您如何安装和配置开发环境、如何通过调用DLI SDK提供的接口函数进行二次开发。Java、Python SDK功能矩阵请参见表1 - [DLI SDK V1与API的对应关系](https://support.huaweicloud.com/sdkreference-dli/dli_04_0123.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [Java SDK概述](https://support.huaweicloud.com/sdkreference-dli/dli_04_0125.md): DLI Java SDK 让您无需关心请求细节即可快速使用数据湖探索服务。本节操作介绍如何获取并使用Java SDK 。要使用DLI Java SDK 访问指定服务的 API ,您需要确认已在DLI控制台开通当前服务并完成服务授权。Java SDK 支持 Java JDK 1.8 及其以上版本。关于Java开发环境的配置请参考Java S - [队列相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0028.md): 已参考Java SDK概述配置Java SDK环境。已参考初始化DLI客户端完成客户端DLIClient的初始化。DLI提供创建队列的接口,您可以使用该接口创建队列。示例代码如下:private static void createQueue(DLIClient client) throws DLIException { //通过 - [资源相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0053.md): 已参考Java SDK概述配置Java SDK环境。已参考初始化DLI客户端完成客户端DLIClient的初始化。您可以使用DLI提供的接口上传资源包,示例代码如下:请求参数说明如下,详细参数使用可以参考Python SDK概述下载样例代码。kind:资源包类型,当前支持包类型分别为:jar:用户jar文件pyfile:用户Python文 - [数据库相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0011.md): 已参考Java SDK概述配置Java SDK环境。已参考初始化DLI客户端完成客户端DLIClient的初始化,参考队列相关完成队列创建等操作。DLI提供创建数据库的接口。您可以使用该接口创建数据库,示例代码如下:“default”为内置数据库,不能创建名为“default”的数据库。DLI提供删除数据库的接口。您可以使用该接口删除数据 - [表相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0012.md): DLI提供创建DLI表的接口。您可以使用该接口创建数据存储在DLI内部的表。示例代码如下:DataType.DECIMAL的默认精度为(10,0),设置Decimal类型精度的方法如下:DLI提供创建OBS表的接口。您可以使用该接口创建数据存储在OBS的表。示例代码如下:DataType.DECIMAL的默认精度为(10,0),设置Dec - [作业相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0016.md): DLI提供导入数据的接口。您可以使用该接口将存储在OBS中的数据导入到已创建的DLI表或者OBS表中。示例代码如下:在提交导入作业前,可选择设置导入数据的格式,如样例所示,调用ImportJob对象的setStorageType接口设置数据存储类型为csv,数据的具体格式通过调用ImportJob对象的setCsvFormatInfo接口 - [Flink作业相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0085.md): 已参考Java SDK概述配置Java SDK环境。已参考初始化DLI客户端完成客户端DLIClient的初始化,参考队列相关完成队列创建等操作。DLI提供新建Flink SQL作业的接口。您可以使用该接口新建Flink SQL作业并提交到DLI,示例代码如下:DLI提供新建Flink自定义作业的接口。您可以使用该接口创建一个用户自定义作 - [Spark作业相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0054.md): 已参考Java SDK概述配置Java SDK环境。已参考初始化DLI客户端完成客户端DLIClient的初始化,参考队列相关完成队列创建等操作。DLI提供执行批处理作业的接口。您可以使用该接口执行批处理作业。示例代码如下:Cluster为用户自建的队列。传参不能为JSON格式。对应批处理作业提交提供两个接口:异步 asyncSubmit - [Flink作业模板相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0108.md): 已参考Java SDK概述配置Java SDK环境。已参考初始化DLI客户端完成客户端DLIClient的初始化。DLI提供新建Flink作业模板的接口。您可以使用该接口新建一个Flink作业模板。示例代码如下:DLI提供更新Flink作业模板的接口。您可以使用该接口修改一个Flink作业模板。示例代码如下:DLI提供删除Flink作业模 - [Python SDK概述](https://support.huaweicloud.com/sdkreference-dli/dli_04_0124.md): DLI SDK让您无需关心请求细节即可快速使用数据湖探索服务。本节操作介绍如何在Python环境获取并使用SDK。要使用DLI Python SDK访问指定服务的 API ,您需要确认已在DLI管理控制台开通当前服务并完成服务授权。Python版本建议使用2.7.10和3.4.0以上版本,需要配置Visual C++编译环境Visual - [队列相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0035.md): 当前使用SDK创建的作业不支持在default队列上运行。DLI提供查询队列列表接口,您可以使用该接口并选择相应的队列来执行作业。示例代码如下:完整样例代码和依赖包说明请参考:Python SDK概述。 - [资源相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0144.md): 已参考Python SDK概述配置Java SDK环境。已参考初始化DLI客户端完成客户端DLIClient的初始化。您可以使用DLI提供的接口上传资源包,示例代码如下。完整样例代码和依赖包说明请参考:Python SDK概述。请求参数说明如下,详细参数使用可以参考Python SDK概述下载样例代码。kind:资源包类型,当前支持的包类 - [数据库相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0037.md): DLI提供创建数据库的接口。您可以使用该接口创建数据库,示例代码如下:“default”为内置数据库,不能创建名为“default”的数据库。完整样例代码和依赖包说明请参考:Python SDK概述。DLI提供删除数据库的接口。您可以使用该接口删除数据库。示例代码如下:含表的数据库不能直接删除,请先删除数据库的表再删除数据库。数据库删除后 - [表相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0038.md): DLI提供创建DLI表的接口。您可以使用该接口创建数据存储在DLI内部的表。示例代码如下:完整样例代码和依赖包说明请参考:Python SDK概述。DLI提供创建OBS表的接口。您可以使用该接口创建数据存储在OBS的表。示例代码如下:创建OBS表需要指定OBS路径,且该路径需要提前创建。完整样例代码和依赖包说明请参考:Python SDK - [作业相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0042.md): 完整样例代码和依赖包说明请参考:Python SDK概述。DLI提供导入数据的接口。您可以使用该接口将存储在OBS中的数据导入到已创建的DLI表中。示例代码如下:在提交导入作业前,可选择通过data_type参数设置导入数据的类型,例如将data_type设置为csv。csv数据的具体格式通可过options参数设置,例如:csv的分隔符 - [Spark作业相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0139.md): 完整样例代码和依赖包说明请参考:Python SDK概述。DLI提供执行批处理作业的接口。您可以使用该接口执行批处理作业。示例代码如下:DLI提供取消批处理作业的接口。您可以使用该接口取消批处理作业。若作业已经执行结束或失败则无法取消。示例代码如下:DLI提供删除批处理作业的接口。您可以使用该接口删除批处理作业。示例代码如下:def de - [修订记录](https://support.huaweicloud.com/sdkreference-dli/dli_04_1000.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 ## CLI参考 - [如何使用CLI](https://support.huaweicloud.com/clir-dli/dli_cli_0001.md): 华为云命令行工具服务(Koo Command Line Interface,KooCLI,原名HCloud CLI)是为发布在API Explorer上的云服务API提供的命令行管理工具。您可以通过此工具调用API Explorer中DLI开放的API,管理和使用您的DLI资源。关于KooCLI的详细信息,请参见什么是KooCLI。在使用 - [CLI命令参考](https://support.huaweicloud.com/clir-dli/dli_cli_0002.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 ## 常见问题 - [DLI Flink与MRS Flink有什么区别?](https://support.huaweicloud.com/dli_faq/dli_03_0203.md): DLI Flink是天然的云原生基础架构。在内核引擎上DLI Flink进行了多处核心功能的优化,并且提供了企业级的一站式开发平台,自带开发和运维功能,免除自建集群运维的麻烦;在connector方面除了支持开源connector之外,还可以对接云上Mysql、GaussDB、MRS HBase、DMS、DWS、OBS等,开箱即用;在资源 - [DLI中的Spark组件与MRS中的Spark组件有什么区别?](https://support.huaweicloud.com/dli_faq/dli_03_0115.md): DLI和MRS都支持Spark组件,但在服务模式、接口方式、应用场景和性能特性上存在一些差异。DLI服务的Spark组件是全托管式服务,用户对Spark组件不感知,仅仅可以使用该服务,且接口为封装式接口。DLI的这种模式减轻了运维负担,可以更专注于数据处理和分析任务本身。具体请参考《数据湖探索用户指南》。DLI的这种模式减轻了运维负担,可 - [怎样升级DLI作业的引擎版本](https://support.huaweicloud.com/dli_faq/dli_03_0002.md): DLI提供了Spark和Flink计算引擎,为用户提供了一站式的流处理、批处理、交互式分析的Serverless融合处理分析服务,当前,Flink计算引擎推荐版本:Flink 1.15,Spark计算引擎推荐版本: Spark 3.3.1。本节操作介绍如何升级作业的引擎版本。SQL作业:SQL作业不支持配置引擎版本,需要您重新新建队列执行 - [DLI的数据可存储在哪些地方](https://support.huaweicloud.com/dli_faq/dli_03_0029.md): DLI支持如下数据格式:ParquetCSVORCJsonAvroOBS:SQL作业,Spark作业,Flink作业使用的数据均可以存储在OBS服务中,降低存储成本。DLI:DLI内部使用的是列存的Parquet格式,即数据以Parquet格式存储。存储成本较高。跨源作业可将数据存储在对应的服务中,目前支持CloudTable,CSS,D - [DLI是否支持导入其他租户共享OBS桶的数据?](https://support.huaweicloud.com/dli_faq/dli_03_0129.md): DLI支持将同一个租户下子账户共享OBS桶中的数据导入,但是租户级别共享OBS桶中的数据无法导入。DLI不支持导入其他租户共享的OBS桶中的数据,主要是为了确保数据的安全性和数据隔离。对于需要跨租户共享和分析数据的场景,建议先将数据脱敏后上传到OBS桶中,再进行数据分析,分析完成后及时删除OBS桶中的临时数据,以确保数据安全 - [区域和可用区](https://support.huaweicloud.com/dli_faq/dli_03_0027.md): 区域和可用区用于描述数据中心的位置,您可以在特定的区域、可用区创建资源。区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Reg - [全局变量的使用中,一个子账号是否可以使用其他子账号创建的全局变量](https://support.huaweicloud.com/dli_faq/dli_03_0263.md): 全局变量可用于简化复杂参数。例如,可替换长难复杂变量,提升SQL语句可读性。全局变量的使用具有以下约束限制:存量敏感变量只有创建用户才能使用,其余普通全局变量同账号同项目下的用户共用。如果同账号同项目下存在多个相同名称的全局变量时,需要将多余相同名称的全局变量删除,保证同账号同项目下唯一,此时具备该全局变量修改权限的用户均可以修改对应的变 - [怎样获取DLI作业样例(Demo)](https://support.huaweicloud.com/dli_faq/dli_03_0123.md): 为了方便用户更好地使用DLI,DLI服务提供了供作业开发的Demo样例,您可以通过DLI样例代码获取。该样例代码的目录内容介绍如下:dli-flink-demo:开发Flink作业时的样例代码参考。例如,样例代码实现读取Kafka源表数据写入到HDFS、DWS、Hive等结果表中的功能。dli-spark-demo:开发Spark作业时的 - [DLI是否存在Apache Spark 命令注入漏洞(CVE-2022-33891)?](https://support.huaweicloud.com/dli_faq/dli_03_0260.md): 不存在。DLI没有启动spark.acls.enable配置项,所以不涉及Apache Spark 命令注入漏洞(CVE-2022-33891)。该漏洞主要影响在启用了ACL(访问控制列表)时,可以通过提供任意用户名来执行命令导致数据安全受到威胁。DLI在设计时充分考虑了数据安全和数据隔离,因此没有启用相关的配置项,所以不会受到这个漏洞的 - [怎样管理在DLI上运行的作业](https://support.huaweicloud.com/dli_faq/dli_03_0126.md): 管理大量的DLI作业时您可以采用以下方案:作业分组:将几万个作业根据不同的类型分组,不同类型的作业通过不同的队列运行。将几万个作业根据不同的类型分组,不同类型的作业通过不同的队列运行。创建IAM子用户或者创建IAM子用户,将不同类型的作业通过不同的用户执行。具体请参考《数据湖探索用户指南》。或者创建IAM子用户,将不同类型的作业通过不同的 - [怎样修改DLI上已经创建好的表的字段名称?](https://support.huaweicloud.com/dli_faq/dli_03_0162.md): DLI本身不支持直接修改表的字段名称,但您可以通过以下步骤来解决这个问题表数据迁移的方式来解决该问题:创建新表:创建一个新表,并定义新的表字段名称。迁移数据:使用INSERT INTO ... SELECT语句将旧表的数据迁移到新表中。删除旧表:在确保新表完全替代旧表并且数据迁移完成后,您可以删除旧表以避免表数据混淆。 - [DLI Flink与MRS Flink有什么区别?](https://support.huaweicloud.com/dli_faq/dli_03_0203.md): DLI Flink是天然的云原生基础架构。在内核引擎上DLI Flink进行了多处核心功能的优化,并且提供了企业级的一站式开发平台,自带开发和运维功能,免除自建集群运维的麻烦;在connector方面除了支持开源connector之外,还可以对接云上Mysql、GaussDB、MRS HBase、DMS、DWS、OBS等,开箱即用;在资源 - [DLI中的Spark组件与MRS中的Spark组件有什么区别?](https://support.huaweicloud.com/dli_faq/dli_03_0115.md): DLI和MRS都支持Spark组件,但在服务模式、接口方式、应用场景和性能特性上存在一些差异。DLI服务的Spark组件是全托管式服务,用户对Spark组件不感知,仅仅可以使用该服务,且接口为封装式接口。DLI的这种模式减轻了运维负担,可以更专注于数据处理和分析任务本身。具体请参考《数据湖探索用户指南》。DLI的这种模式减轻了运维负担,可 - [怎样升级DLI作业的引擎版本](https://support.huaweicloud.com/dli_faq/dli_03_0002.md): DLI提供了Spark和Flink计算引擎,为用户提供了一站式的流处理、批处理、交互式分析的Serverless融合处理分析服务,当前,Flink计算引擎推荐版本:Flink 1.15,Spark计算引擎推荐版本: Spark 3.3.1。本节操作介绍如何升级作业的引擎版本。SQL作业:SQL作业不支持配置引擎版本,需要您重新新建队列执行 - [DLI的数据可存储在哪些地方](https://support.huaweicloud.com/dli_faq/dli_03_0029.md): DLI支持如下数据格式:ParquetCSVORCJsonAvroOBS:SQL作业,Spark作业,Flink作业使用的数据均可以存储在OBS服务中,降低存储成本。DLI:DLI内部使用的是列存的Parquet格式,即数据以Parquet格式存储。存储成本较高。跨源作业可将数据存储在对应的服务中,目前支持CloudTable,CSS,D - [DLI是否支持导入其他租户共享OBS桶的数据?](https://support.huaweicloud.com/dli_faq/dli_03_0129.md): DLI支持将同一个租户下子账户共享OBS桶中的数据导入,但是租户级别共享OBS桶中的数据无法导入。DLI不支持导入其他租户共享的OBS桶中的数据,主要是为了确保数据的安全性和数据隔离。对于需要跨租户共享和分析数据的场景,建议先将数据脱敏后上传到OBS桶中,再进行数据分析,分析完成后及时删除OBS桶中的临时数据,以确保数据安全 - [区域和可用区](https://support.huaweicloud.com/dli_faq/dli_03_0027.md): 区域和可用区用于描述数据中心的位置,您可以在特定的区域、可用区创建资源。区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Reg - [全局变量的使用中,一个子账号是否可以使用其他子账号创建的全局变量](https://support.huaweicloud.com/dli_faq/dli_03_0263.md): 全局变量可用于简化复杂参数。例如,可替换长难复杂变量,提升SQL语句可读性。全局变量的使用具有以下约束限制:存量敏感变量只有创建用户才能使用,其余普通全局变量同账号同项目下的用户共用。如果同账号同项目下存在多个相同名称的全局变量时,需要将多余相同名称的全局变量删除,保证同账号同项目下唯一,此时具备该全局变量修改权限的用户均可以修改对应的变 - [怎样获取DLI作业样例(Demo)](https://support.huaweicloud.com/dli_faq/dli_03_0123.md): 为了方便用户更好地使用DLI,DLI服务提供了供作业开发的Demo样例,您可以通过DLI样例代码获取。该样例代码的目录内容介绍如下:dli-flink-demo:开发Flink作业时的样例代码参考。例如,样例代码实现读取Kafka源表数据写入到HDFS、DWS、Hive等结果表中的功能。dli-spark-demo:开发Spark作业时的 - [DLI是否存在Apache Spark 命令注入漏洞(CVE-2022-33891)?](https://support.huaweicloud.com/dli_faq/dli_03_0260.md): 不存在。DLI没有启动spark.acls.enable配置项,所以不涉及Apache Spark 命令注入漏洞(CVE-2022-33891)。该漏洞主要影响在启用了ACL(访问控制列表)时,可以通过提供任意用户名来执行命令导致数据安全受到威胁。DLI在设计时充分考虑了数据安全和数据隔离,因此没有启用相关的配置项,所以不会受到这个漏洞的 - [怎样管理在DLI上运行的作业](https://support.huaweicloud.com/dli_faq/dli_03_0126.md): 管理大量的DLI作业时您可以采用以下方案:作业分组:将几万个作业根据不同的类型分组,不同类型的作业通过不同的队列运行。将几万个作业根据不同的类型分组,不同类型的作业通过不同的队列运行。创建IAM子用户或者创建IAM子用户,将不同类型的作业通过不同的用户执行。具体请参考《数据湖探索用户指南》。或者创建IAM子用户,将不同类型的作业通过不同的 - [怎样修改DLI上已经创建好的表的字段名称?](https://support.huaweicloud.com/dli_faq/dli_03_0162.md): DLI本身不支持直接修改表的字段名称,但您可以通过以下步骤来解决这个问题表数据迁移的方式来解决该问题:创建新表:创建一个新表,并定义新的表字段名称。迁移数据:使用INSERT INTO ... SELECT语句将旧表的数据迁移到新表中。删除旧表:在确保新表完全替代旧表并且数据迁移完成后,您可以删除旧表以避免表数据混淆。 - [怎样查看弹性资源池和作业的资源使用情况?](https://support.huaweicloud.com/dli_faq/dli_03_0276.md): 在大数据分析的日常工作中,合理分配和管理计算资源,可以提供良好的作业执行环境。您可以根据作业的计算需求和数据规模分配资源、调整任务执行顺序,调度不同的弹性资源池或队列资源以适应不同的工作负载。待提交作业所需的CUs需小于等于弹性资源池的剩余可用CUs,才可以确保作业任务的正常执行。本节操作介绍查看弹性资源池计算资源使用情况、作业所需CU数 - [怎样判断当前DLI队列中的作业是否有积压?](https://support.huaweicloud.com/dli_faq/dli_03_0183.md): 需要查看DLI的队列中作业状态为“提交中”和“运行中”的作业数,判断当前队列中的作业是否有积压。可以通过“云监控服务 CES”来查看DLI队列中不同状态的作业情况,具体操作步骤如下:在控制台搜索“云监控服务 CES”,进入云监控服务控制台。在左侧导航栏选择“云服务监控 > 数据湖探索”,进入到云服务监控页面。在云服务监控页面,“名称”列对 - [怎样查看DLI队列负载?](https://support.huaweicloud.com/dli_faq/dli_03_0095.md): 如果需要确认DLI队列的运行状态,决定是否运行更多的作业时需要查看队列负载。在控制台搜索“云监控服务 CES”。搜索CES进入CES后,在页面左侧“云服务监控”列表中,单击“数据湖探索”。云服务监控选择队列进行查看。查看队列负载 - [怎样监控DLI队列上的作业异常?](https://support.huaweicloud.com/dli_faq/dli_03_0098.md): DLI为用户提供了作业失败的topic订阅功能。登录DLI控制台。单击左侧“队列管理”,进入队列管理页面。在队列管理页面,单击左上角“创建消息通知主题”进行配置。详细操作请参考《数据湖探索用户指南》。 - [怎样将老版本的Spark队列切换成通用型队列](https://support.huaweicloud.com/dli_faq/dli_03_0065.md): 当前DLI服务包括“SQL队列”和“通用队列”两种队列类型。 其中,“SQL队列”用于运行SQL作业,“通用队列”兼容老版本的Spark队列,用于运行Spark作业和Flink作业。通过以下步骤,可以将老版本的“Spark队列”转换为新的“通用队列”。重新购买“通用队列”。将在旧的“Spark队列”中的作业迁移到新的“通用型队列”中,即在 - [在default队列执行DLI SQL失败,提示超时异常怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0171.md): 使用default队列提交SQL作业,作业运行异常,排查作业日志显示Execution Timeout异常。异常日志参考如下:[ERROR] Execute DLI SQL failed. Please contact DLI service. [ERROR] Error message:Execution Timeoutdefault队 - [怎样查看弹性资源池和作业的资源使用情况?](https://support.huaweicloud.com/dli_faq/dli_03_0276.md): 在大数据分析的日常工作中,合理分配和管理计算资源,可以提供良好的作业执行环境。您可以根据作业的计算需求和数据规模分配资源、调整任务执行顺序,调度不同的弹性资源池或队列资源以适应不同的工作负载。待提交作业所需的CUs需小于等于弹性资源池的剩余可用CUs,才可以确保作业任务的正常执行。本节操作介绍查看弹性资源池计算资源使用情况、作业所需CU数 - [怎样判断当前DLI队列中的作业是否有积压?](https://support.huaweicloud.com/dli_faq/dli_03_0183.md): 需要查看DLI的队列中作业状态为“提交中”和“运行中”的作业数,判断当前队列中的作业是否有积压。可以通过“云监控服务 CES”来查看DLI队列中不同状态的作业情况,具体操作步骤如下:在控制台搜索“云监控服务 CES”,进入云监控服务控制台。在左侧导航栏选择“云服务监控 > 数据湖探索”,进入到云服务监控页面。在云服务监控页面,“名称”列对 - [怎样查看DLI队列负载?](https://support.huaweicloud.com/dli_faq/dli_03_0095.md): 如果需要确认DLI队列的运行状态,决定是否运行更多的作业时需要查看队列负载。在控制台搜索“云监控服务 CES”。搜索CES进入CES后,在页面左侧“云服务监控”列表中,单击“数据湖探索”。云服务监控选择队列进行查看。查看队列负载 - [怎样监控DLI队列上的作业异常?](https://support.huaweicloud.com/dli_faq/dli_03_0098.md): DLI为用户提供了作业失败的topic订阅功能。登录DLI控制台。单击左侧“队列管理”,进入队列管理页面。在队列管理页面,单击左上角“创建消息通知主题”进行配置。详细操作请参考《数据湖探索用户指南》。 - [怎样将老版本的Spark队列切换成通用型队列](https://support.huaweicloud.com/dli_faq/dli_03_0065.md): 当前DLI服务包括“SQL队列”和“通用队列”两种队列类型。 其中,“SQL队列”用于运行SQL作业,“通用队列”兼容老版本的Spark队列,用于运行Spark作业和Flink作业。通过以下步骤,可以将老版本的“Spark队列”转换为新的“通用队列”。重新购买“通用队列”。将在旧的“Spark队列”中的作业迁移到新的“通用型队列”中,即在 - [在default队列执行DLI SQL失败,提示超时异常怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0171.md): 使用default队列提交SQL作业,作业运行异常,排查作业日志显示Execution Timeout异常。异常日志参考如下:[ERROR] Execute DLI SQL failed. Please contact DLI service. [ERROR] Error message:Execution Timeoutdefault队 - [为什么在DLI控制台中查询不到表?](https://support.huaweicloud.com/dli_faq/dli_03_0184.md): 已知存在某DLI表,但在DLI页面查询不到该表。已有表但是查询不到时,大概率是因为当前登录的用户没有对该表的查询和操作权限。联系创建该表的用户,让该用户给需要操作该表的其他用户赋予查询和操作的权限。赋权操作如下:使用创建表的用户账号登录到DLI管理控制台,选择“数据管理 > 库表管理”。单击对应的数据库名称,进入到表管理界面。在对应表的“ - [OBS表压缩率较高怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0013.md): 当您在提交导入数据到DLI表的作业时,如果遇到Parquet/Orc格式的OBS表对应的文件压缩率较高,超过了5倍的压缩率,您可以通过调整配置来优化作业的性能。具体方法:在submit-job请求体conf字段中配置“dli.sql.files.maxPartitionBytes=33554432”。该配置项默认值为128MB,将其配置成 - [字符码不一致导致数据乱码怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0009.md): 在DLI执行作业时,为了避免因字符编码不一致导致的乱码问题,建议您统一数据源的编码格式。DLI服务只支持UTF-8文本格式,因此在执行创建表和导入操作时,用户的数据需要以UTF-8编码。在将数据导入DLI之前,确保源数据文件(如CSV、JSON等)是以UTF-8编码保存的。如果数据源不是UTF-8编码,请在导入前提前转换为UTF-8编码。 - [删除表后再重新创建同名的表,需要对操作该表的用户和项目重新赋权吗?](https://support.huaweicloud.com/dli_faq/dli_03_0175.md): A用户通过SQL作业在某数据库下创建了表testTable,并且授权testTable给B用户插入和删除表数据的权限。后续A用户删除了表testTable,并重新创建了同名的表testTable,如果希望B用户继续保留插入和删除表testTable数据的权限,则需要重新对该表进行权限赋予。删除表后再重建同名的表,该场景下表权限不会自动继承 - [DLI分区内表导入的文件不包含分区列的数据,导致数据导入完成后查询表数据失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0177.md): DLI分区内表导入了CSV文件数据,导入的文件数据没有包含对应分区列的字段数据。分区表查询时需要指定分区字段,导致查询不到表数据。DLI分区内表在导入数据时,如果文件数据没有包含分区字段,则系统会默认指定分区值“__HIVE_DEFAULT_PARTITION__”,当前Spark判断分区为空时,则会直接返回null,不返回具体的数据。登 - [创建OBS外表,由于OBS文件中的某字段存在换行符导致表字段数据错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0181.md): 创建OBS外表,因为指定的OBS文件内容中某字段包含回车换行符导致表字段数据错误。例如,当前创建的OBS外表语句为:test.csv文件内容如下:Jordon,88,"aa bb"因为最后一个字段的aa和bb之间存在回车换行。创建OBS外表后,查询test06表数据内容显示如下:name id classno Jordon 88 aa b - [join表时没有添加on条件,造成笛卡尔积查询,导致队列资源爆满,作业运行失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0187.md): 运行的SQL语句中存在join表,但是join没有添加on条件,多表关联造成笛卡尔积查询,最终导致队列资源占满,该队列上的作业运行失败。例如,如下问题SQL语句,存在三个表的left join,并且没有指定on条件,造成笛卡尔积查询。select case when to_char(from_unixtime - [手动在OBS表的分区目录下添加了数据,但是无法查询到数据怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0190.md): 手动在OBS表的分区目录下上传了分区数据,但是在SQL编辑器中查询该表新增的分区数据时却查询不到。手动添加分区数据后,需要刷新OBS表的元数据信息。具体操作如下:MSCK REPAIR TABLE table_name;执行完上述命令后,再执行对应OBS分区表的数据查询即可。 - [为什么insert overwrite覆盖分区表数据的时候,覆盖了全量数据?](https://support.huaweicloud.com/dli_faq/dli_03_0212.md): 当您使用insert overwrite语句覆盖分区表的数据时,如果发现它覆盖了全量数据而不是预期的分区数据,这可能是因为动态分区覆盖功能没有被启用。如果需要动态覆盖DataSource表指定的分区数据,您需要先配置参数 dli.sql.dynamicPartitionOverwrite.enabled=true,然后通过insert o - [跨源连接RDS表中create_date字段类型是datetime,为什么DLI中查出来的是时间戳呢?](https://support.huaweicloud.com/dli_faq/dli_03_0214.md): Spark中没有datetime数据类型,其使用的是TIMESTAMP类型。您可以通过函数进行转换。例如:select cast(create_date as string), * from table where create_date>'2221-12-01 00:00:00';TIMESTAMP类型详细可参考TIMESTAMP数据类 - [SQL作业执行完成后,修改表名导致datasize不正确怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0215.md): 在执行SQL作业后立即修改表名,可能会导致表的数据大小结果不正确。这是因为DLI在执行SQL作业时,会对表进行元数据更新,如果在作业执行完成前修改了表名,会和作业的元数据更新过程冲突,从而影响对数据大小的判断。为了避免这种情况,建议在SQL作业执行完成后,等待5分钟后再修改表名。确保系统有足够的时间更新表的元数据,避免因修改表名而导致的数 - [从DLI导入数据到OBS,数据量不一致怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0231.md): 使用DLI插入数据到OBS临时表文件,数据量有差异。出现该问题可能原因如下:作业执行过程中,读取数据量错误。验证数据量的方式不正确。通常在执行插入数据操作后,如需确认插入数据量是否正确,建议通过查询语句进行查询。如果OBS对存入的文件数量有要求,可以在插入语句后加入“DISTRIBUTE BY number”。例如,在插入语句后添加“DI - [为什么创建Hudi表没有在DLI控制台上显示?](https://support.huaweicloud.com/dli_faq/dli_03_0277.md): 使用Flink SQL语句创建的Hudi表未在DLI控制台显示无法通过控制台对该表进行管理和查询操作。DLI控制台的数据管理默认使用的是Hive Catalog,而Hudi表的元数据没有正确同步到Hive Catalog中。Hudi表的元数据管理是独立于Hive的,因此需要额外的配置来确保Hudi表的元数据能够被Hive Catalog识 - [为什么在DLI控制台中查询不到表?](https://support.huaweicloud.com/dli_faq/dli_03_0184.md): 已知存在某DLI表,但在DLI页面查询不到该表。已有表但是查询不到时,大概率是因为当前登录的用户没有对该表的查询和操作权限。联系创建该表的用户,让该用户给需要操作该表的其他用户赋予查询和操作的权限。赋权操作如下:使用创建表的用户账号登录到DLI管理控制台,选择“数据管理 > 库表管理”。单击对应的数据库名称,进入到表管理界面。在对应表的“ - [OBS表压缩率较高怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0013.md): 当您在提交导入数据到DLI表的作业时,如果遇到Parquet/Orc格式的OBS表对应的文件压缩率较高,超过了5倍的压缩率,您可以通过调整配置来优化作业的性能。具体方法:在submit-job请求体conf字段中配置“dli.sql.files.maxPartitionBytes=33554432”。该配置项默认值为128MB,将其配置成 - [字符码不一致导致数据乱码怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0009.md): 在DLI执行作业时,为了避免因字符编码不一致导致的乱码问题,建议您统一数据源的编码格式。DLI服务只支持UTF-8文本格式,因此在执行创建表和导入操作时,用户的数据需要以UTF-8编码。在将数据导入DLI之前,确保源数据文件(如CSV、JSON等)是以UTF-8编码保存的。如果数据源不是UTF-8编码,请在导入前提前转换为UTF-8编码。 - [删除表后再重新创建同名的表,需要对操作该表的用户和项目重新赋权吗?](https://support.huaweicloud.com/dli_faq/dli_03_0175.md): A用户通过SQL作业在某数据库下创建了表testTable,并且授权testTable给B用户插入和删除表数据的权限。后续A用户删除了表testTable,并重新创建了同名的表testTable,如果希望B用户继续保留插入和删除表testTable数据的权限,则需要重新对该表进行权限赋予。删除表后再重建同名的表,该场景下表权限不会自动继承 - [DLI分区内表导入的文件不包含分区列的数据,导致数据导入完成后查询表数据失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0177.md): DLI分区内表导入了CSV文件数据,导入的文件数据没有包含对应分区列的字段数据。分区表查询时需要指定分区字段,导致查询不到表数据。DLI分区内表在导入数据时,如果文件数据没有包含分区字段,则系统会默认指定分区值“__HIVE_DEFAULT_PARTITION__”,当前Spark判断分区为空时,则会直接返回null,不返回具体的数据。登 - [创建OBS外表,由于OBS文件中的某字段存在换行符导致表字段数据错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0181.md): 创建OBS外表,因为指定的OBS文件内容中某字段包含回车换行符导致表字段数据错误。例如,当前创建的OBS外表语句为:test.csv文件内容如下:Jordon,88,"aa bb"因为最后一个字段的aa和bb之间存在回车换行。创建OBS外表后,查询test06表数据内容显示如下:name id classno Jordon 88 aa b - [join表时没有添加on条件,造成笛卡尔积查询,导致队列资源爆满,作业运行失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0187.md): 运行的SQL语句中存在join表,但是join没有添加on条件,多表关联造成笛卡尔积查询,最终导致队列资源占满,该队列上的作业运行失败。例如,如下问题SQL语句,存在三个表的left join,并且没有指定on条件,造成笛卡尔积查询。select case when to_char(from_unixtime - [手动在OBS表的分区目录下添加了数据,但是无法查询到数据怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0190.md): 手动在OBS表的分区目录下上传了分区数据,但是在SQL编辑器中查询该表新增的分区数据时却查询不到。手动添加分区数据后,需要刷新OBS表的元数据信息。具体操作如下:MSCK REPAIR TABLE table_name;执行完上述命令后,再执行对应OBS分区表的数据查询即可。 - [为什么insert overwrite覆盖分区表数据的时候,覆盖了全量数据?](https://support.huaweicloud.com/dli_faq/dli_03_0212.md): 当您使用insert overwrite语句覆盖分区表的数据时,如果发现它覆盖了全量数据而不是预期的分区数据,这可能是因为动态分区覆盖功能没有被启用。如果需要动态覆盖DataSource表指定的分区数据,您需要先配置参数 dli.sql.dynamicPartitionOverwrite.enabled=true,然后通过insert o - [跨源连接RDS表中create_date字段类型是datetime,为什么DLI中查出来的是时间戳呢?](https://support.huaweicloud.com/dli_faq/dli_03_0214.md): Spark中没有datetime数据类型,其使用的是TIMESTAMP类型。您可以通过函数进行转换。例如:select cast(create_date as string), * from table where create_date>'2221-12-01 00:00:00';TIMESTAMP类型详细可参考TIMESTAMP数据类 - [SQL作业执行完成后,修改表名导致datasize不正确怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0215.md): 在执行SQL作业后立即修改表名,可能会导致表的数据大小结果不正确。这是因为DLI在执行SQL作业时,会对表进行元数据更新,如果在作业执行完成前修改了表名,会和作业的元数据更新过程冲突,从而影响对数据大小的判断。为了避免这种情况,建议在SQL作业执行完成后,等待5分钟后再修改表名。确保系统有足够的时间更新表的元数据,避免因修改表名而导致的数 - [从DLI导入数据到OBS,数据量不一致怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0231.md): 使用DLI插入数据到OBS临时表文件,数据量有差异。出现该问题可能原因如下:作业执行过程中,读取数据量错误。验证数据量的方式不正确。通常在执行插入数据操作后,如需确认插入数据量是否正确,建议通过查询语句进行查询。如果OBS对存入的文件数量有要求,可以在插入语句后加入“DISTRIBUTE BY number”。例如,在插入语句后添加“DI - [为什么创建Hudi表没有在DLI控制台上显示?](https://support.huaweicloud.com/dli_faq/dli_03_0277.md): 使用Flink SQL语句创建的Hudi表未在DLI控制台显示无法通过控制台对该表进行管理和查询操作。DLI控制台的数据管理默认使用的是Hive Catalog,而Hudi表的元数据没有正确同步到Hive Catalog中。Hudi表的元数据管理是独立于Hive的,因此需要额外的配置来确保Hudi表的元数据能够被Hive Catalog识 - [增强型跨源连接绑定队列失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0237.md): 客户创建增强型跨源连接后,在队列管理测试网络连通性,网络不通,单击对应的跨源连接查看详情,发现绑定队列失败,报错信息如下:DLI跨源连接需要使用VPC、子网、路由、对等连接、端口功能,因此需要获得VPC(虚拟私有云)的VPC Administrator权限。客户未给VPC服务授权导致绑定队列失败。其中“DLI Datasource Con - [DLI增强型跨源连接DWS失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0238.md): 客户创建增强型跨源连接DLI和DWS,安全组已配置出方向规则到关联队列,使用的是密码形式的跨源认证,报DLI.0999: PSQLException: The connection attempt failed。出现该问题可能原因如下:安全组配置不正确子网配置不正确入方向规则:检查本安全组内的入方向网段及端口是否已开放,若没有则添加。出方 - [创建跨源成功但测试网络连通性失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0179.md): 创建跨源并绑定新创建的DLI队列,测试跨源的网络连通性时失败,有如下报错信息:failed to connect to specified address以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。检查是否在域名或者I - [怎样配置DLI队列与数据源的网络连通?](https://support.huaweicloud.com/dli_faq/dli_03_0186.md): 配置DLI队列与内网数据源的网络连通DLI在创建运行作业需要连接外部其他数据源,如:DLI连接MRS、RDS、CSS、Kafka、DWS时,需要打通DLI和外部数据源之间的网络。DLI提供的增强型跨源连接功能,底层采用对等连接的方式打通与目的数据源的vpc网络,通过点对点的方式实现数据互通。增强型跨源连接配置流程DLI在创建运行作业需要连 - [为什么DLI增强型跨源连接要创建对等连接?](https://support.huaweicloud.com/dli_faq/dli_03_0128.md): DLI增强型跨源连接创建对等连接的主要原因是为了实现DLI与不同VPC中的数据源之间的网络连通。当DLI需要访问外部数据源,而这些数据源位于不同的VPC中时,由于网络隔离,DLI默认无法直接读取这些数据源的数据。通过创建增强型跨源连接,可以采用对等连接的方式打通DLI与数据源的VPC网络,从而实现数据的互通和跨源分析。增强型跨源连接的优势 - [DLI创建跨源连接,绑定队列一直在创建中怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0257.md): 跨源连接创建慢,有以下几种可能:购买DLI队列后,第一次进行绑定队列。通常需要等待5~10分钟,待后台拉起集群后,即可创建成功。若刚刚对队列进行网段修改,立即进行绑定队列。通常需要等待5~10分钟,待后台重建集群后,即可创建成功。 - [新建跨源连接,显示已激活,但使用时提示communication link failure错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0047.md): 网络连通性问题,建议用户检查安全组选择是否正确,检查安全组网络(vpc)配置。示例:创建RDS跨源,使用时报communication link failure错误。将原有跨源连接删除重新创建。再次创建时,必须确保所选安全组、虚拟私有云、子网”和目的地址与RDS中的设置完全一致。请选择正确的服务类型,本示例中为RDS。创建经典型跨源连接- - [跨源访问MRS HBase,连接超时,日志未打印错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0080.md): 用户在跨源连接中没有添加集群主机信息,导致KRB认证失败,故连接超时,日志也未打印错误。建议您重新配置主机信息后再重试访问MRS HBase。在增强型跨源页面,单击该连接“操作”列中的“修改主机信息”,在弹出的对话框中,填写主机信息。格式:“IP 主机名/域名”,多条信息之间以换行分隔。MRS主机信息获取,详细请参考《数据湖探索用户指南》 - [DLI跨源连接报错找不到子网怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0111.md): 跨源连接创建对等连接失败,报错信息如下:DLI跨源连接需要使用VPC、子网、路由、对等连接、端口功能,因此需要获得VPC(虚拟私有云)的VPC Administrator权限。客户未给VPC服务授权导致DLI跨源连接报错找不到子网。其中“DLI Datasource Connections Agency Access”是跨源场景访问和使用 - [跨源RDS表,执行insert overwrite提示Incorrect string value错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0239.md): 客户在数据治理中心DataArts Studio创建DLI的跨源RDS表,执行insert overwrite语句向RDS写入数据报错:DLI.0999: BatchUpdateException: Incorrect string value: '\xF0\x9F\x90\xB3' for column 'robot_name' at - [创建RDS跨源表提示空指针错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0250.md): 客户创建RDS跨源表失败,报空指针的错误。客户建表语句:客户的RDS数据库为PostGre集群,url的协议头填写错误导致。修改url为'url'='jdbc:postgresql://to-rds-1174405119-oLRHAGE7.datasource.com:5432/postgreDB', 重新创建跨源表成功。创建跨源表关联R - [对跨源DWS表执行insert overwrite操作,报错:org.postgresql.util.PSQLException: ERROR: tuple concurrently updated](https://support.huaweicloud.com/dli_faq/dli_03_0251.md): 客户对DWS执行并发insert overwrite操作,报错:org.postgresql.util.PSQLException: ERROR: tuple concurrently updated。客户作业存在并发操作,同时对一张表执行两个insert overwrite操作。一个cn在执行:另外一个cn在执行:这个函数里面有dele - [通过跨源表向CloudTable Hbase表导入数据,executor报错:RegionTooBusyException](https://support.huaweicloud.com/dli_faq/dli_03_0252.md): 客户通过DLI跨源表向CloudTable Hbase导入数据,原始数据:HBASE表,一个列簇,一个rowkey运行一个亿的模拟数据,数据量为9.76GB。导入1000W条数据后作业失败。查看driver错误日志。查看executor错误日志。查看task错误日志。结论:rowkey过于集中,出现了热点region。Hbase做预分区。 - [通过DLI跨源写DWS表,非空字段出现空值异常怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0253.md): 客户在DWS建表,然后在DLI创建跨源连接读写该表,突然出现如下异常,报错信息显示DLI向该表某非空字段写入了空值,因为非空约束存在导致作业出错。报错信息如下:DLI.0999: PSQLException: ERROR: dn_6009_6010: null value in column "ctr" violates not-null - [更新跨源目的端源表后,未同时更新对应跨源表,导致insert作业失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0254.md): 客户在DLI中创建了DWS跨源连接和DWS跨源表,然后对DWS中的源表schema进行更新,执行DLI作业,发现DWS中源表schema被修改为更新前的形式,导致schema不匹配,作业执行失败。DLI跨源表执行insert操作时,会将DWS源表删除重建,客户没有对应更新DLI端跨源表建表语句,导致更新的DWS源表被替换。新建DLI跨源表 - [RDS表有自增主键时怎样在DLI插入数据?](https://support.huaweicloud.com/dli_faq/dli_03_0028.md): 在DLI中创建关联RDS表时,如果RDS表包含自增主键或其他自动填充字段,您在DLI中插入数据时可以采取以下措施:插入数据时省略自增字段:在DLI中插入数据时,对于自增主键字段或其他自动填充的字段,您可以在插入语句中省略这些字段。数据库会自动为这些字段生成值。例如,如果表中有一个名为id的自增主键字段,您可以在插入数据时不包含这个字段,数 - [增强型跨源连接绑定队列失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0237.md): 客户创建增强型跨源连接后,在队列管理测试网络连通性,网络不通,单击对应的跨源连接查看详情,发现绑定队列失败,报错信息如下:DLI跨源连接需要使用VPC、子网、路由、对等连接、端口功能,因此需要获得VPC(虚拟私有云)的VPC Administrator权限。客户未给VPC服务授权导致绑定队列失败。其中“DLI Datasource Con - [DLI增强型跨源连接DWS失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0238.md): 客户创建增强型跨源连接DLI和DWS,安全组已配置出方向规则到关联队列,使用的是密码形式的跨源认证,报DLI.0999: PSQLException: The connection attempt failed。出现该问题可能原因如下:安全组配置不正确子网配置不正确入方向规则:检查本安全组内的入方向网段及端口是否已开放,若没有则添加。出方 - [创建跨源成功但测试网络连通性失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0179.md): 创建跨源并绑定新创建的DLI队列,测试跨源的网络连通性时失败,有如下报错信息:failed to connect to specified address以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。检查是否在域名或者I - [怎样配置DLI队列与数据源的网络连通?](https://support.huaweicloud.com/dli_faq/dli_03_0186.md): 配置DLI队列与内网数据源的网络连通DLI在创建运行作业需要连接外部其他数据源,如:DLI连接MRS、RDS、CSS、Kafka、DWS时,需要打通DLI和外部数据源之间的网络。DLI提供的增强型跨源连接功能,底层采用对等连接的方式打通与目的数据源的vpc网络,通过点对点的方式实现数据互通。增强型跨源连接配置流程DLI在创建运行作业需要连 - [为什么DLI增强型跨源连接要创建对等连接?](https://support.huaweicloud.com/dli_faq/dli_03_0128.md): DLI增强型跨源连接创建对等连接的主要原因是为了实现DLI与不同VPC中的数据源之间的网络连通。当DLI需要访问外部数据源,而这些数据源位于不同的VPC中时,由于网络隔离,DLI默认无法直接读取这些数据源的数据。通过创建增强型跨源连接,可以采用对等连接的方式打通DLI与数据源的VPC网络,从而实现数据的互通和跨源分析。增强型跨源连接的优势 - [DLI创建跨源连接,绑定队列一直在创建中怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0257.md): 跨源连接创建慢,有以下几种可能:购买DLI队列后,第一次进行绑定队列。通常需要等待5~10分钟,待后台拉起集群后,即可创建成功。若刚刚对队列进行网段修改,立即进行绑定队列。通常需要等待5~10分钟,待后台重建集群后,即可创建成功。 - [新建跨源连接,显示已激活,但使用时提示communication link failure错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0047.md): 网络连通性问题,建议用户检查安全组选择是否正确,检查安全组网络(vpc)配置。示例:创建RDS跨源,使用时报communication link failure错误。将原有跨源连接删除重新创建。再次创建时,必须确保所选安全组、虚拟私有云、子网”和目的地址与RDS中的设置完全一致。请选择正确的服务类型,本示例中为RDS。创建经典型跨源连接- - [跨源访问MRS HBase,连接超时,日志未打印错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0080.md): 用户在跨源连接中没有添加集群主机信息,导致KRB认证失败,故连接超时,日志也未打印错误。建议您重新配置主机信息后再重试访问MRS HBase。在增强型跨源页面,单击该连接“操作”列中的“修改主机信息”,在弹出的对话框中,填写主机信息。格式:“IP 主机名/域名”,多条信息之间以换行分隔。MRS主机信息获取,详细请参考《数据湖探索用户指南》 - [DLI跨源连接报错找不到子网怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0111.md): 跨源连接创建对等连接失败,报错信息如下:DLI跨源连接需要使用VPC、子网、路由、对等连接、端口功能,因此需要获得VPC(虚拟私有云)的VPC Administrator权限。客户未给VPC服务授权导致DLI跨源连接报错找不到子网。其中“DLI Datasource Connections Agency Access”是跨源场景访问和使用 - [跨源RDS表,执行insert overwrite提示Incorrect string value错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0239.md): 客户在数据治理中心DataArts Studio创建DLI的跨源RDS表,执行insert overwrite语句向RDS写入数据报错:DLI.0999: BatchUpdateException: Incorrect string value: '\xF0\x9F\x90\xB3' for column 'robot_name' at - [创建RDS跨源表提示空指针错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0250.md): 客户创建RDS跨源表失败,报空指针的错误。客户建表语句:客户的RDS数据库为PostGre集群,url的协议头填写错误导致。修改url为'url'='jdbc:postgresql://to-rds-1174405119-oLRHAGE7.datasource.com:5432/postgreDB', 重新创建跨源表成功。创建跨源表关联R - [对跨源DWS表执行insert overwrite操作,报错:org.postgresql.util.PSQLException: ERROR: tuple concurrently updated](https://support.huaweicloud.com/dli_faq/dli_03_0251.md): 客户对DWS执行并发insert overwrite操作,报错:org.postgresql.util.PSQLException: ERROR: tuple concurrently updated。客户作业存在并发操作,同时对一张表执行两个insert overwrite操作。一个cn在执行:另外一个cn在执行:这个函数里面有dele - [通过跨源表向CloudTable Hbase表导入数据,executor报错:RegionTooBusyException](https://support.huaweicloud.com/dli_faq/dli_03_0252.md): 客户通过DLI跨源表向CloudTable Hbase导入数据,原始数据:HBASE表,一个列簇,一个rowkey运行一个亿的模拟数据,数据量为9.76GB。导入1000W条数据后作业失败。查看driver错误日志。查看executor错误日志。查看task错误日志。结论:rowkey过于集中,出现了热点region。Hbase做预分区。 - [通过DLI跨源写DWS表,非空字段出现空值异常怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0253.md): 客户在DWS建表,然后在DLI创建跨源连接读写该表,突然出现如下异常,报错信息显示DLI向该表某非空字段写入了空值,因为非空约束存在导致作业出错。报错信息如下:DLI.0999: PSQLException: ERROR: dn_6009_6010: null value in column "ctr" violates not-null - [更新跨源目的端源表后,未同时更新对应跨源表,导致insert作业失败怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0254.md): 客户在DLI中创建了DWS跨源连接和DWS跨源表,然后对DWS中的源表schema进行更新,执行DLI作业,发现DWS中源表schema被修改为更新前的形式,导致schema不匹配,作业执行失败。DLI跨源表执行insert操作时,会将DWS源表删除重建,客户没有对应更新DLI端跨源表建表语句,导致更新的DWS源表被替换。新建DLI跨源表 - [RDS表有自增主键时怎样在DLI插入数据?](https://support.huaweicloud.com/dli_faq/dli_03_0028.md): 在DLI中创建关联RDS表时,如果RDS表包含自增主键或其他自动填充字段,您在DLI中插入数据时可以采取以下措施:插入数据时省略自增字段:在DLI中插入数据时,对于自增主键字段或其他自动填充的字段,您可以在插入语句中省略这些字段。数据库会自动为这些字段生成值。例如,如果表中有一个名为id的自增主键字段,您可以在插入数据时不包含这个字段,数 - [SQL作业开发类](https://support.huaweicloud.com/dli_faq/dli_03_0204.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [SQL作业使用咨询](https://support.huaweicloud.com/dli_faq/dli_03_0200.md): 问题描述:临时表主要用于存储临时中间结果,当事务结束或者会话结束的时候,临时表的数据可以自动删除。例如MySQL中可以通过:“create temporary table ...” 语法来创建临时表,通过该表存储临时数据,结束事务或者会话后该表数据自动清除。当前DLI是否支持该功能?解决措施:当前DLI不支持创建临时表功能,只能根据当前业 - [如何合并小文件](https://support.huaweicloud.com/dli_faq/dli_03_0086.md): 分布式文件系统按块(Block)存放数据。小文件是指在存储系统中,文件大小远小于存储块大小的文件。大量小文件会给大数据系统带来显著的性能和管理问题,合并小文件是优化系统性能的关键手段之一。本文介绍如何在DLI中使用DISTRIBUTE BY来合并小文件。元数据压力:文件系统(如HDFS)的Master节点(NameNode)需要在内存中管 - [DLI如何访问OBS桶中的数据](https://support.huaweicloud.com/dli_faq/dli_03_0141.md): 创建OBS表。具体语法请参考《数据湖探索SQL语法参考》。具体语法请参考《数据湖探索SQL语法参考》。添加分区。具体语法请参考《数据湖探索SQL语法参考》。具体语法请参考《数据湖探索SQL语法参考》。往分区导入OBS桶中的数据。具体语法请参考《数据湖探索SQL语法参考》。具体语法请参考《数据湖探索SQL语法参考》。查询数据。具体语法请参考 - [创建OBS表时怎样指定OBS路径](https://support.huaweicloud.com/dli_faq/dli_03_0092.md): 创建OBS表时,OBS路径须指定到数据库下的具体表层路径。路径格式为:obs://xxx/数据库名/表名。创建OBS表更多语法介绍请参考《数据湖探索Spark SQL语法参考》。如果指定路径为akdc.db时,进行insert overwrite操作时,会将akdc.db下的数据都清空。 - [关联OBS桶中嵌套的JSON格式数据如何创建表](https://support.huaweicloud.com/dli_faq/dli_03_0108.md): 如果需要关联OBS桶中嵌套的JSON格式数据,可以使用异步模式创建表。以下是一个示例的建表语句,展示了如何使用 JSON 格式选项来指定 OBS 中的路径:using json:指定使用 JSON 格式。options:用于设置表的选项。path:指定OBS中JSON文件的路径。 - [count函数如何进行聚合](https://support.huaweicloud.com/dli_faq/dli_03_0069.md): 使用count函数进行聚合的正确用法如下:或者错误用法:将会报错。 - [怎样将一个区域中的DLI表数据同步到另一个区域中?](https://support.huaweicloud.com/dli_faq/dli_03_0072.md): 可以使用OBS跨区域复制功能实现,步骤如下:将区域一中的DLI表数据导出到自定义的OBS桶中。具体请参考《数据湖探索用户指南》。具体请参考《数据湖探索用户指南》。通过OBS跨区域复制功能将数据复制至区域二的OBS桶中。具体请参考跨区域复制。具体请参考跨区域复制。根据需要导入或使用对应的数据。 - [SQL作业如何指定表的部分字段进行表数据的插入](https://support.huaweicloud.com/dli_faq/dli_03_0191.md): 如果需要将数据插入到表中,但只想指定部分字段,可以使用INSERT INTO语句结合SELECT子句来实现。但是DLI目前不支持直接在INSERT INTO语句中指定部分列字段进行数据插入,您需要确保在SELECT子句中选择的字段数量和类型与目标表的Schema信息匹配。即确保源表和目标表的数据类型和列字段个数相同,以避免插入失败。如果目 - [SQL作业运行慢如何定位](https://support.huaweicloud.com/dli_faq/dli_03_0196.md): 作业运行慢可以通过以下步骤进行排查处理。判断当前作业运行慢是否是FullGC导致:登录DLI控制台,单击“作业管理 > SQL作业”。在SQL作业页面,在对应作业的“操作”列,单击“更多 > 归档日志”。归档日志在OBS目录下,获取归档日志文件夹,详细如下。Spark SQL作业:查看带有“driver”或者为“container_xxx - [怎样查看DLI SQL日志?](https://support.huaweicloud.com/dli_faq/dli_03_0091.md): 日常运维时需要查看DLI SQL日志。在DataArts Studio控制台获取DataArts Studio执行DLI作业的job id。查看日志查找job id在DLI控制台,选择“作业管理”>“SQL作业”。在SQL作业管理页面,输入对应的job id,找到对应的作业。在“操作”列中,单击“更多”>“归档日志”>“下载日志到本地”。 - [怎样查看DLI的执行SQL记录?](https://support.huaweicloud.com/dli_faq/dli_03_0116.md): 执行SQL作业过程中需要查看对应的记录。登录DLI管理控制台。在左侧导航栏单击“作业管理”>“SQL作业”进入SQL作业管理页面。输入作业ID或者执行的语句可以筛选所要查看的作业。 - [执行SQL作业时产生数据倾斜怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0093.md): 数据倾斜是在SQL作业执行中常见的问题,当数据分布不均匀的情况下,一部分计算节点处理的数据量远大于其他节点,从而影响整个计算过程的处理效率。例如观察到SQL执行时间较长,进入SparkUI查看对应SQL的执行状态,如图1所示,查看到一个stage运行时间超过20分钟且只剩余一个task在运行,即为数据倾斜的情况。Group By聚合倾斜在 - [SQL作业中存在join操作,因为自动广播导致内存不足,作业一直运行中](https://support.huaweicloud.com/dli_faq/dli_03_0182.md): SQL作业中存在join操作,作业提交后状态一直是运行中,没有结果返回。Spark SQL作业存在join小表操作时,会触发自动广播所有executor,使得join快速完成。但同时该操作会增加executor的内存消耗,如果executor内存不够时,导致作业运行失败。排查执行的SQL中是否有使用“/*+ BROADCAST(u) */ - [为什么SQL作业一直处于“提交中”?](https://support.huaweicloud.com/dli_faq/dli_03_0213.md): SQL作业一直在提交中,有以下几种可能:刚购买DLI队列后,第一次进行SQL作业的提交。需要等待5~10分钟,待后台拉起集群后,即可提交成功。若刚刚对队列进行网段修改,立即进行SQL作业的提交。需要等待5~10分钟,待后台重建集群后,即可提交功。按需队列,队列已空闲状态(超过1个小时),则后台资源已经释放。此时进行SQL作业的提交。需要等 - [SQL作业运维类](https://support.huaweicloud.com/dli_faq/dli_03_0206.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [用户导表到OBS报“path obs://xxx already exists”错误](https://support.huaweicloud.com/dli_faq/dli_03_0014.md): 该提示信息说明您将数据导出到一个已经存在的OBS路径。解决方案:新建OBS目录。您可以新建一个不存在的OBS目录用于存储导出的数据。您可以新建一个不存在的OBS目录用于存储导出的数据。删除已存在的OBS目录。删除已存在的OBS目录后,目录下的所有数据将会被删除。请谨慎执行此删除操作。删除已存在的OBS目录后,目录下的所有数据将会被删除。请 - [对两个表进行join操作时,提示:SQL_ANALYSIS_ERROR: Reference 't.id' is ambiguous, could be: t.id, t.id.;](https://support.huaweicloud.com/dli_faq/dli_03_0066.md): 出现这个提示,表示进行join操作的两个表中包含相同的字段,但是在执行命令时,没有指定该字段的归属。例如:在表tb1和tb2中都包含字段“id”。错误的命令:select id from tb1 join tb2;正确的命令: - [执行查询语句报错:The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget.](https://support.huaweicloud.com/dli_faq/dli_03_0071.md): 该提示信息说明您可能因账户欠费或余额不足导致操作受限。解决方案:检查账户状态。请先确认是否欠费,如有欠费请充值。请先确认是否欠费,如有欠费请充值。重新登录账户。如果充值后仍然提示相同的错误,请退出账号后重新登录。如果充值后仍然提示相同的错误,请退出账号后重新登录。 - [执行查询语句报错:There should be at least one partition pruning predicate on partitioned table XX.YYY](https://support.huaweicloud.com/dli_faq/dli_03_0145.md): 上述报错信息说明:partitioned table XX.YYY执行查询时,其查询条件中未使用其表分区列。查询分区表时,查询条件中每个分区表必须包含至少一个分区列才允许执行,否则不允许执行。建议用户参考如下例子查询分区表:其中partitionedTable为分区表,partitionedColumn为分区列,查询语句为:查询每个分区表 - [LOAD数据到OBS外表报错:IllegalArgumentException: Buffer size too small. size](https://support.huaweicloud.com/dli_faq/dli_03_0169.md): 在Spark SQL作业中,使用LOAD DATA命令导入数据到DLI表中时报如下错误:或者如下错误error.DLI.0999: InvalidProtocolBufferException: EOF in compressed stream footer position: 3 length: 479 range: 0 offset: - [SQL作业运行报错:DLI.0002 FileNotFoundException](https://support.huaweicloud.com/dli_faq/dli_03_0189.md): SQL作业执行报错,报错信息大致如下:Please contact DLI service. DLI.0002: FileNotFoundException: getFileStatus on obs://xxx: status [404]请排查在同一时间点是否还有另外作业对当前报错作业操作的表信息有删除操作。DLI不允许同时有多个作业在 - [用户通过CTAS创建hive表报schema解析异常错误](https://support.huaweicloud.com/dli_faq/dli_03_0046.md): 目前DLI支持hive语法创建TEXTFILE、SEQUENCEFILE、RCFILE、ORC、AVRO、PARQUET文件类型的表。如果用户CTAS建表指定的文件格式为AVRO类型,而且直接使用数字作为查询语句(SELECT)的输入,如“CREATE TABLE tb_avro STORED AS AVRO AS SELECT 1”则会 - [在DataArts Studio上运行DLI SQL脚本,执行结果报org.apache.hadoop.fs.obs.OBSIOException错误](https://support.huaweicloud.com/dli_faq/dli_03_0173.md): 在DataArts Studio上运行DLI SQL脚本,执行结果的运行日志显示语句执行失败,错误信息为:DLI.0999: RuntimeException: org.apache.hadoop.fs.obs.OBSIOException: initializing on obs://xxx.csv: status [-1] - req - [使用CDM迁移数据到DLI,迁移作业日志上报UQUERY_CONNECTOR_0001:Invoke DLI service api failed错误](https://support.huaweicloud.com/dli_faq/dli_03_0172.md): 在CDM迁移数据到DLI,迁移作业提交后,在CDM作业迁移日志中查看作业执行失败,具体日志有如下报错信息:org.apache.sqoop.common.SqoopException:UQUERY_CONNECTOR_0001:Invoke DLI service api failed, failed reason is %s. at o - [SQL作业访问报错:File not Found](https://support.huaweicloud.com/dli_faq/dli_03_0207.md): 执行SQL作业访问报错:File not Found。可能由于文件路径错误或文件不存在导致系统无法找指定文件路径或文件。文件被占用。检查文件路径、文件名。检查文件的路径是否正确,包括目录名称和文件名。检查文件的路径是否正确,包括目录名称和文件名。文件被占用文件被占用导致的文件报错找不到,一般是读写冲突产生的,建议查询SQL查询报错表的时候 - [SQL作业访问报错:DLI.0003: AccessControlException XXX](https://support.huaweicloud.com/dli_faq/dli_03_0208.md): SQL作业访问报错:DLI.0003: AccessControlException XXX。请检查OBS桶权限,确保账号有权限访问报错信息中提到的OBS桶。如果没有,需要联系OBS桶的管理员添加桶的访问权限。 - [SQL作业访问外表报错:DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{桶名}}: status [403]](https://support.huaweicloud.com/dli_faq/dli_03_0209.md): SQL作业访问外表报错:DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{桶名}}: status [403]。请检查OBS桶权限,确保账号有权限访问报错信息中提到的OBS桶。如果没有,需要联系OBS桶的管理员添加桶的访 - [执行SQL语句报错:The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget.](https://support.huaweicloud.com/dli_faq/dli_03_0210.md): 执行SQL语句报错:The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget。检查账户状态。请先确认是否欠费,如有欠费请充值。请先确认 - [预览SQL作业结果报错:预览结果内容超过预览阈值](https://support.huaweicloud.com/dli_faq/dli_03_0280.md): 执行SQL作业,因查询结果过大导致作业结果预览失败。获取作业结果失败,抛出runException。已解析输入的长度超过了解析器设置中定义的最大字符数限制。您可以导出作业结果到指定的桶,再从OBS桶下载作业结果。导出查询结果的操作入口有两个,分别在SQL作业和SQL编辑器页面。在“作业管理”>SQL作业页面,可单击对应作业“操作”列“更多 - [SQL作业使用咨询](https://support.huaweicloud.com/dli_faq/dli_03_0200.md): 问题描述:临时表主要用于存储临时中间结果,当事务结束或者会话结束的时候,临时表的数据可以自动删除。例如MySQL中可以通过:“create temporary table ...” 语法来创建临时表,通过该表存储临时数据,结束事务或者会话后该表数据自动清除。当前DLI是否支持该功能?解决措施:当前DLI不支持创建临时表功能,只能根据当前业 - [如何合并小文件](https://support.huaweicloud.com/dli_faq/dli_03_0086.md): 分布式文件系统按块(Block)存放数据。小文件是指在存储系统中,文件大小远小于存储块大小的文件。大量小文件会给大数据系统带来显著的性能和管理问题,合并小文件是优化系统性能的关键手段之一。本文介绍如何在DLI中使用DISTRIBUTE BY来合并小文件。元数据压力:文件系统(如HDFS)的Master节点(NameNode)需要在内存中管 - [DLI如何访问OBS桶中的数据](https://support.huaweicloud.com/dli_faq/dli_03_0141.md): 创建OBS表。具体语法请参考《数据湖探索SQL语法参考》。具体语法请参考《数据湖探索SQL语法参考》。添加分区。具体语法请参考《数据湖探索SQL语法参考》。具体语法请参考《数据湖探索SQL语法参考》。往分区导入OBS桶中的数据。具体语法请参考《数据湖探索SQL语法参考》。具体语法请参考《数据湖探索SQL语法参考》。查询数据。具体语法请参考 - [创建OBS表时怎样指定OBS路径](https://support.huaweicloud.com/dli_faq/dli_03_0092.md): 创建OBS表时,OBS路径须指定到数据库下的具体表层路径。路径格式为:obs://xxx/数据库名/表名。创建OBS表更多语法介绍请参考《数据湖探索Spark SQL语法参考》。如果指定路径为akdc.db时,进行insert overwrite操作时,会将akdc.db下的数据都清空。 - [关联OBS桶中嵌套的JSON格式数据如何创建表](https://support.huaweicloud.com/dli_faq/dli_03_0108.md): 如果需要关联OBS桶中嵌套的JSON格式数据,可以使用异步模式创建表。以下是一个示例的建表语句,展示了如何使用 JSON 格式选项来指定 OBS 中的路径:using json:指定使用 JSON 格式。options:用于设置表的选项。path:指定OBS中JSON文件的路径。 - [count函数如何进行聚合](https://support.huaweicloud.com/dli_faq/dli_03_0069.md): 使用count函数进行聚合的正确用法如下:或者错误用法:将会报错。 - [怎样将一个区域中的DLI表数据同步到另一个区域中?](https://support.huaweicloud.com/dli_faq/dli_03_0072.md): 可以使用OBS跨区域复制功能实现,步骤如下:将区域一中的DLI表数据导出到自定义的OBS桶中。具体请参考《数据湖探索用户指南》。具体请参考《数据湖探索用户指南》。通过OBS跨区域复制功能将数据复制至区域二的OBS桶中。具体请参考跨区域复制。具体请参考跨区域复制。根据需要导入或使用对应的数据。 - [SQL作业如何指定表的部分字段进行表数据的插入](https://support.huaweicloud.com/dli_faq/dli_03_0191.md): 如果需要将数据插入到表中,但只想指定部分字段,可以使用INSERT INTO语句结合SELECT子句来实现。但是DLI目前不支持直接在INSERT INTO语句中指定部分列字段进行数据插入,您需要确保在SELECT子句中选择的字段数量和类型与目标表的Schema信息匹配。即确保源表和目标表的数据类型和列字段个数相同,以避免插入失败。如果目 - [SQL作业运行慢如何定位](https://support.huaweicloud.com/dli_faq/dli_03_0196.md): 作业运行慢可以通过以下步骤进行排查处理。判断当前作业运行慢是否是FullGC导致:登录DLI控制台,单击“作业管理 > SQL作业”。在SQL作业页面,在对应作业的“操作”列,单击“更多 > 归档日志”。归档日志在OBS目录下,获取归档日志文件夹,详细如下。Spark SQL作业:查看带有“driver”或者为“container_xxx - [怎样查看DLI SQL日志?](https://support.huaweicloud.com/dli_faq/dli_03_0091.md): 日常运维时需要查看DLI SQL日志。在DataArts Studio控制台获取DataArts Studio执行DLI作业的job id。查看日志查找job id在DLI控制台,选择“作业管理”>“SQL作业”。在SQL作业管理页面,输入对应的job id,找到对应的作业。在“操作”列中,单击“更多”>“归档日志”>“下载日志到本地”。 - [怎样查看DLI的执行SQL记录?](https://support.huaweicloud.com/dli_faq/dli_03_0116.md): 执行SQL作业过程中需要查看对应的记录。登录DLI管理控制台。在左侧导航栏单击“作业管理”>“SQL作业”进入SQL作业管理页面。输入作业ID或者执行的语句可以筛选所要查看的作业。 - [执行SQL作业时产生数据倾斜怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0093.md): 数据倾斜是在SQL作业执行中常见的问题,当数据分布不均匀的情况下,一部分计算节点处理的数据量远大于其他节点,从而影响整个计算过程的处理效率。例如观察到SQL执行时间较长,进入SparkUI查看对应SQL的执行状态,如图1所示,查看到一个stage运行时间超过20分钟且只剩余一个task在运行,即为数据倾斜的情况。Group By聚合倾斜在 - [SQL作业中存在join操作,因为自动广播导致内存不足,作业一直运行中](https://support.huaweicloud.com/dli_faq/dli_03_0182.md): SQL作业中存在join操作,作业提交后状态一直是运行中,没有结果返回。Spark SQL作业存在join小表操作时,会触发自动广播所有executor,使得join快速完成。但同时该操作会增加executor的内存消耗,如果executor内存不够时,导致作业运行失败。排查执行的SQL中是否有使用“/*+ BROADCAST(u) */ - [为什么SQL作业一直处于“提交中”?](https://support.huaweicloud.com/dli_faq/dli_03_0213.md): SQL作业一直在提交中,有以下几种可能:刚购买DLI队列后,第一次进行SQL作业的提交。需要等待5~10分钟,待后台拉起集群后,即可提交成功。若刚刚对队列进行网段修改,立即进行SQL作业的提交。需要等待5~10分钟,待后台重建集群后,即可提交功。按需队列,队列已空闲状态(超过1个小时),则后台资源已经释放。此时进行SQL作业的提交。需要等 - [SQL作业使用咨询](https://support.huaweicloud.com/dli_faq/dli_03_0200.md): 问题描述:临时表主要用于存储临时中间结果,当事务结束或者会话结束的时候,临时表的数据可以自动删除。例如MySQL中可以通过:“create temporary table ...” 语法来创建临时表,通过该表存储临时数据,结束事务或者会话后该表数据自动清除。当前DLI是否支持该功能?解决措施:当前DLI不支持创建临时表功能,只能根据当前业 - [如何合并小文件](https://support.huaweicloud.com/dli_faq/dli_03_0086.md): 分布式文件系统按块(Block)存放数据。小文件是指在存储系统中,文件大小远小于存储块大小的文件。大量小文件会给大数据系统带来显著的性能和管理问题,合并小文件是优化系统性能的关键手段之一。本文介绍如何在DLI中使用DISTRIBUTE BY来合并小文件。元数据压力:文件系统(如HDFS)的Master节点(NameNode)需要在内存中管 - [DLI如何访问OBS桶中的数据](https://support.huaweicloud.com/dli_faq/dli_03_0141.md): 创建OBS表。具体语法请参考《数据湖探索SQL语法参考》。具体语法请参考《数据湖探索SQL语法参考》。添加分区。具体语法请参考《数据湖探索SQL语法参考》。具体语法请参考《数据湖探索SQL语法参考》。往分区导入OBS桶中的数据。具体语法请参考《数据湖探索SQL语法参考》。具体语法请参考《数据湖探索SQL语法参考》。查询数据。具体语法请参考 - [创建OBS表时怎样指定OBS路径](https://support.huaweicloud.com/dli_faq/dli_03_0092.md): 创建OBS表时,OBS路径须指定到数据库下的具体表层路径。路径格式为:obs://xxx/数据库名/表名。创建OBS表更多语法介绍请参考《数据湖探索Spark SQL语法参考》。如果指定路径为akdc.db时,进行insert overwrite操作时,会将akdc.db下的数据都清空。 - [关联OBS桶中嵌套的JSON格式数据如何创建表](https://support.huaweicloud.com/dli_faq/dli_03_0108.md): 如果需要关联OBS桶中嵌套的JSON格式数据,可以使用异步模式创建表。以下是一个示例的建表语句,展示了如何使用 JSON 格式选项来指定 OBS 中的路径:using json:指定使用 JSON 格式。options:用于设置表的选项。path:指定OBS中JSON文件的路径。 - [count函数如何进行聚合](https://support.huaweicloud.com/dli_faq/dli_03_0069.md): 使用count函数进行聚合的正确用法如下:或者错误用法:将会报错。 - [怎样将一个区域中的DLI表数据同步到另一个区域中?](https://support.huaweicloud.com/dli_faq/dli_03_0072.md): 可以使用OBS跨区域复制功能实现,步骤如下:将区域一中的DLI表数据导出到自定义的OBS桶中。具体请参考《数据湖探索用户指南》。具体请参考《数据湖探索用户指南》。通过OBS跨区域复制功能将数据复制至区域二的OBS桶中。具体请参考跨区域复制。具体请参考跨区域复制。根据需要导入或使用对应的数据。 - [SQL作业如何指定表的部分字段进行表数据的插入](https://support.huaweicloud.com/dli_faq/dli_03_0191.md): 如果需要将数据插入到表中,但只想指定部分字段,可以使用INSERT INTO语句结合SELECT子句来实现。但是DLI目前不支持直接在INSERT INTO语句中指定部分列字段进行数据插入,您需要确保在SELECT子句中选择的字段数量和类型与目标表的Schema信息匹配。即确保源表和目标表的数据类型和列字段个数相同,以避免插入失败。如果目 - [SQL作业运行慢如何定位](https://support.huaweicloud.com/dli_faq/dli_03_0196.md): 作业运行慢可以通过以下步骤进行排查处理。判断当前作业运行慢是否是FullGC导致:登录DLI控制台,单击“作业管理 > SQL作业”。在SQL作业页面,在对应作业的“操作”列,单击“更多 > 归档日志”。归档日志在OBS目录下,获取归档日志文件夹,详细如下。Spark SQL作业:查看带有“driver”或者为“container_xxx - [怎样查看DLI SQL日志?](https://support.huaweicloud.com/dli_faq/dli_03_0091.md): 日常运维时需要查看DLI SQL日志。在DataArts Studio控制台获取DataArts Studio执行DLI作业的job id。查看日志查找job id在DLI控制台,选择“作业管理”>“SQL作业”。在SQL作业管理页面,输入对应的job id,找到对应的作业。在“操作”列中,单击“更多”>“归档日志”>“下载日志到本地”。 - [怎样查看DLI的执行SQL记录?](https://support.huaweicloud.com/dli_faq/dli_03_0116.md): 执行SQL作业过程中需要查看对应的记录。登录DLI管理控制台。在左侧导航栏单击“作业管理”>“SQL作业”进入SQL作业管理页面。输入作业ID或者执行的语句可以筛选所要查看的作业。 - [执行SQL作业时产生数据倾斜怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0093.md): 数据倾斜是在SQL作业执行中常见的问题,当数据分布不均匀的情况下,一部分计算节点处理的数据量远大于其他节点,从而影响整个计算过程的处理效率。例如观察到SQL执行时间较长,进入SparkUI查看对应SQL的执行状态,如图1所示,查看到一个stage运行时间超过20分钟且只剩余一个task在运行,即为数据倾斜的情况。Group By聚合倾斜在 - [SQL作业中存在join操作,因为自动广播导致内存不足,作业一直运行中](https://support.huaweicloud.com/dli_faq/dli_03_0182.md): SQL作业中存在join操作,作业提交后状态一直是运行中,没有结果返回。Spark SQL作业存在join小表操作时,会触发自动广播所有executor,使得join快速完成。但同时该操作会增加executor的内存消耗,如果executor内存不够时,导致作业运行失败。排查执行的SQL中是否有使用“/*+ BROADCAST(u) */ - [为什么SQL作业一直处于“提交中”?](https://support.huaweicloud.com/dli_faq/dli_03_0213.md): SQL作业一直在提交中,有以下几种可能:刚购买DLI队列后,第一次进行SQL作业的提交。需要等待5~10分钟,待后台拉起集群后,即可提交成功。若刚刚对队列进行网段修改,立即进行SQL作业的提交。需要等待5~10分钟,待后台重建集群后,即可提交功。按需队列,队列已空闲状态(超过1个小时),则后台资源已经释放。此时进行SQL作业的提交。需要等 - [用户导表到OBS报“path obs://xxx already exists”错误](https://support.huaweicloud.com/dli_faq/dli_03_0014.md): 该提示信息说明您将数据导出到一个已经存在的OBS路径。解决方案:新建OBS目录。您可以新建一个不存在的OBS目录用于存储导出的数据。您可以新建一个不存在的OBS目录用于存储导出的数据。删除已存在的OBS目录。删除已存在的OBS目录后,目录下的所有数据将会被删除。请谨慎执行此删除操作。删除已存在的OBS目录后,目录下的所有数据将会被删除。请 - [对两个表进行join操作时,提示:SQL_ANALYSIS_ERROR: Reference 't.id' is ambiguous, could be: t.id, t.id.;](https://support.huaweicloud.com/dli_faq/dli_03_0066.md): 出现这个提示,表示进行join操作的两个表中包含相同的字段,但是在执行命令时,没有指定该字段的归属。例如:在表tb1和tb2中都包含字段“id”。错误的命令:select id from tb1 join tb2;正确的命令: - [执行查询语句报错:The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget.](https://support.huaweicloud.com/dli_faq/dli_03_0071.md): 该提示信息说明您可能因账户欠费或余额不足导致操作受限。解决方案:检查账户状态。请先确认是否欠费,如有欠费请充值。请先确认是否欠费,如有欠费请充值。重新登录账户。如果充值后仍然提示相同的错误,请退出账号后重新登录。如果充值后仍然提示相同的错误,请退出账号后重新登录。 - [执行查询语句报错:There should be at least one partition pruning predicate on partitioned table XX.YYY](https://support.huaweicloud.com/dli_faq/dli_03_0145.md): 上述报错信息说明:partitioned table XX.YYY执行查询时,其查询条件中未使用其表分区列。查询分区表时,查询条件中每个分区表必须包含至少一个分区列才允许执行,否则不允许执行。建议用户参考如下例子查询分区表:其中partitionedTable为分区表,partitionedColumn为分区列,查询语句为:查询每个分区表 - [LOAD数据到OBS外表报错:IllegalArgumentException: Buffer size too small. size](https://support.huaweicloud.com/dli_faq/dli_03_0169.md): 在Spark SQL作业中,使用LOAD DATA命令导入数据到DLI表中时报如下错误:或者如下错误error.DLI.0999: InvalidProtocolBufferException: EOF in compressed stream footer position: 3 length: 479 range: 0 offset: - [SQL作业运行报错:DLI.0002 FileNotFoundException](https://support.huaweicloud.com/dli_faq/dli_03_0189.md): SQL作业执行报错,报错信息大致如下:Please contact DLI service. DLI.0002: FileNotFoundException: getFileStatus on obs://xxx: status [404]请排查在同一时间点是否还有另外作业对当前报错作业操作的表信息有删除操作。DLI不允许同时有多个作业在 - [用户通过CTAS创建hive表报schema解析异常错误](https://support.huaweicloud.com/dli_faq/dli_03_0046.md): 目前DLI支持hive语法创建TEXTFILE、SEQUENCEFILE、RCFILE、ORC、AVRO、PARQUET文件类型的表。如果用户CTAS建表指定的文件格式为AVRO类型,而且直接使用数字作为查询语句(SELECT)的输入,如“CREATE TABLE tb_avro STORED AS AVRO AS SELECT 1”则会 - [在DataArts Studio上运行DLI SQL脚本,执行结果报org.apache.hadoop.fs.obs.OBSIOException错误](https://support.huaweicloud.com/dli_faq/dli_03_0173.md): 在DataArts Studio上运行DLI SQL脚本,执行结果的运行日志显示语句执行失败,错误信息为:DLI.0999: RuntimeException: org.apache.hadoop.fs.obs.OBSIOException: initializing on obs://xxx.csv: status [-1] - req - [使用CDM迁移数据到DLI,迁移作业日志上报UQUERY_CONNECTOR_0001:Invoke DLI service api failed错误](https://support.huaweicloud.com/dli_faq/dli_03_0172.md): 在CDM迁移数据到DLI,迁移作业提交后,在CDM作业迁移日志中查看作业执行失败,具体日志有如下报错信息:org.apache.sqoop.common.SqoopException:UQUERY_CONNECTOR_0001:Invoke DLI service api failed, failed reason is %s. at o - [SQL作业访问报错:File not Found](https://support.huaweicloud.com/dli_faq/dli_03_0207.md): 执行SQL作业访问报错:File not Found。可能由于文件路径错误或文件不存在导致系统无法找指定文件路径或文件。文件被占用。检查文件路径、文件名。检查文件的路径是否正确,包括目录名称和文件名。检查文件的路径是否正确,包括目录名称和文件名。文件被占用文件被占用导致的文件报错找不到,一般是读写冲突产生的,建议查询SQL查询报错表的时候 - [SQL作业访问报错:DLI.0003: AccessControlException XXX](https://support.huaweicloud.com/dli_faq/dli_03_0208.md): SQL作业访问报错:DLI.0003: AccessControlException XXX。请检查OBS桶权限,确保账号有权限访问报错信息中提到的OBS桶。如果没有,需要联系OBS桶的管理员添加桶的访问权限。 - [SQL作业访问外表报错:DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{桶名}}: status [403]](https://support.huaweicloud.com/dli_faq/dli_03_0209.md): SQL作业访问外表报错:DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{桶名}}: status [403]。请检查OBS桶权限,确保账号有权限访问报错信息中提到的OBS桶。如果没有,需要联系OBS桶的管理员添加桶的访 - [执行SQL语句报错:The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget.](https://support.huaweicloud.com/dli_faq/dli_03_0210.md): 执行SQL语句报错:The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget。检查账户状态。请先确认是否欠费,如有欠费请充值。请先确认 - [预览SQL作业结果报错:预览结果内容超过预览阈值](https://support.huaweicloud.com/dli_faq/dli_03_0280.md): 执行SQL作业,因查询结果过大导致作业结果预览失败。获取作业结果失败,抛出runException。已解析输入的长度超过了解析器设置中定义的最大字符数限制。您可以导出作业结果到指定的桶,再从OBS桶下载作业结果。导出查询结果的操作入口有两个,分别在SQL作业和SQL编辑器页面。在“作业管理”>SQL作业页面,可单击对应作业“操作”列“更多 - [用户导表到OBS报“path obs://xxx already exists”错误](https://support.huaweicloud.com/dli_faq/dli_03_0014.md): 该提示信息说明您将数据导出到一个已经存在的OBS路径。解决方案:新建OBS目录。您可以新建一个不存在的OBS目录用于存储导出的数据。您可以新建一个不存在的OBS目录用于存储导出的数据。删除已存在的OBS目录。删除已存在的OBS目录后,目录下的所有数据将会被删除。请谨慎执行此删除操作。删除已存在的OBS目录后,目录下的所有数据将会被删除。请 - [对两个表进行join操作时,提示:SQL_ANALYSIS_ERROR: Reference 't.id' is ambiguous, could be: t.id, t.id.;](https://support.huaweicloud.com/dli_faq/dli_03_0066.md): 出现这个提示,表示进行join操作的两个表中包含相同的字段,但是在执行命令时,没有指定该字段的归属。例如:在表tb1和tb2中都包含字段“id”。错误的命令:select id from tb1 join tb2;正确的命令: - [执行查询语句报错:The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget.](https://support.huaweicloud.com/dli_faq/dli_03_0071.md): 该提示信息说明您可能因账户欠费或余额不足导致操作受限。解决方案:检查账户状态。请先确认是否欠费,如有欠费请充值。请先确认是否欠费,如有欠费请充值。重新登录账户。如果充值后仍然提示相同的错误,请退出账号后重新登录。如果充值后仍然提示相同的错误,请退出账号后重新登录。 - [执行查询语句报错:There should be at least one partition pruning predicate on partitioned table XX.YYY](https://support.huaweicloud.com/dli_faq/dli_03_0145.md): 上述报错信息说明:partitioned table XX.YYY执行查询时,其查询条件中未使用其表分区列。查询分区表时,查询条件中每个分区表必须包含至少一个分区列才允许执行,否则不允许执行。建议用户参考如下例子查询分区表:其中partitionedTable为分区表,partitionedColumn为分区列,查询语句为:查询每个分区表 - [LOAD数据到OBS外表报错:IllegalArgumentException: Buffer size too small. size](https://support.huaweicloud.com/dli_faq/dli_03_0169.md): 在Spark SQL作业中,使用LOAD DATA命令导入数据到DLI表中时报如下错误:或者如下错误error.DLI.0999: InvalidProtocolBufferException: EOF in compressed stream footer position: 3 length: 479 range: 0 offset: - [SQL作业运行报错:DLI.0002 FileNotFoundException](https://support.huaweicloud.com/dli_faq/dli_03_0189.md): SQL作业执行报错,报错信息大致如下:Please contact DLI service. DLI.0002: FileNotFoundException: getFileStatus on obs://xxx: status [404]请排查在同一时间点是否还有另外作业对当前报错作业操作的表信息有删除操作。DLI不允许同时有多个作业在 - [用户通过CTAS创建hive表报schema解析异常错误](https://support.huaweicloud.com/dli_faq/dli_03_0046.md): 目前DLI支持hive语法创建TEXTFILE、SEQUENCEFILE、RCFILE、ORC、AVRO、PARQUET文件类型的表。如果用户CTAS建表指定的文件格式为AVRO类型,而且直接使用数字作为查询语句(SELECT)的输入,如“CREATE TABLE tb_avro STORED AS AVRO AS SELECT 1”则会 - [在DataArts Studio上运行DLI SQL脚本,执行结果报org.apache.hadoop.fs.obs.OBSIOException错误](https://support.huaweicloud.com/dli_faq/dli_03_0173.md): 在DataArts Studio上运行DLI SQL脚本,执行结果的运行日志显示语句执行失败,错误信息为:DLI.0999: RuntimeException: org.apache.hadoop.fs.obs.OBSIOException: initializing on obs://xxx.csv: status [-1] - req - [使用CDM迁移数据到DLI,迁移作业日志上报UQUERY_CONNECTOR_0001:Invoke DLI service api failed错误](https://support.huaweicloud.com/dli_faq/dli_03_0172.md): 在CDM迁移数据到DLI,迁移作业提交后,在CDM作业迁移日志中查看作业执行失败,具体日志有如下报错信息:org.apache.sqoop.common.SqoopException:UQUERY_CONNECTOR_0001:Invoke DLI service api failed, failed reason is %s. at o - [SQL作业访问报错:File not Found](https://support.huaweicloud.com/dli_faq/dli_03_0207.md): 执行SQL作业访问报错:File not Found。可能由于文件路径错误或文件不存在导致系统无法找指定文件路径或文件。文件被占用。检查文件路径、文件名。检查文件的路径是否正确,包括目录名称和文件名。检查文件的路径是否正确,包括目录名称和文件名。文件被占用文件被占用导致的文件报错找不到,一般是读写冲突产生的,建议查询SQL查询报错表的时候 - [SQL作业访问报错:DLI.0003: AccessControlException XXX](https://support.huaweicloud.com/dli_faq/dli_03_0208.md): SQL作业访问报错:DLI.0003: AccessControlException XXX。请检查OBS桶权限,确保账号有权限访问报错信息中提到的OBS桶。如果没有,需要联系OBS桶的管理员添加桶的访问权限。 - [SQL作业访问外表报错:DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{桶名}}: status [403]](https://support.huaweicloud.com/dli_faq/dli_03_0209.md): SQL作业访问外表报错:DLI.0001: org.apache.hadoop.security.AccessControlException: verifyBucketExists on {{桶名}}: status [403]。请检查OBS桶权限,确保账号有权限访问报错信息中提到的OBS桶。如果没有,需要联系OBS桶的管理员添加桶的访 - [执行SQL语句报错:The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget.](https://support.huaweicloud.com/dli_faq/dli_03_0210.md): 执行SQL语句报错:The current account does not have permission to perform this operation,the current account was restricted. Restricted for no budget。检查账户状态。请先确认是否欠费,如有欠费请充值。请先确认 - [预览SQL作业结果报错:预览结果内容超过预览阈值](https://support.huaweicloud.com/dli_faq/dli_03_0280.md): 执行SQL作业,因查询结果过大导致作业结果预览失败。获取作业结果失败,抛出runException。已解析输入的长度超过了解析器设置中定义的最大字符数限制。您可以导出作业结果到指定的桶,再从OBS桶下载作业结果。导出查询结果的操作入口有两个,分别在SQL作业和SQL编辑器页面。在“作业管理”>SQL作业页面,可单击对应作业“操作”列“更多 - [Flink作业咨询类](https://support.huaweicloud.com/dli_faq/dli_03_0137.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [如何给子用户授权查看Flink作业?](https://support.huaweicloud.com/dli_faq/dli_03_0139.md): 子用户使用DLI时,可以查看队列,但是不能查看Flink作业,可以通过在DLI中对子用户授权,或在IAM中对子用户授权:DLI授权管理使用租户账号,或者作业owner账号,或有DLI Service Administrator权限的账号,登录DLI控制台。在“作业管理”>“Flink作业”页面找到对应的作业。在对应作业的“操作”栏中选择“ - [Flink作业怎样设置“异常自动重启”?](https://support.huaweicloud.com/dli_faq/dli_03_0090.md): DLI Flink作业具有高可用保障能力,通过设置“异常自动重启”功能,可在周边服务短时故障恢复后自动重启。登录DLI控制台,选择“作业管理”>“Flink作业”。在Flink作业编辑页面,勾选“异常自动重启”。例如,图1所示。Flink SQL作业编辑界面 - [Flink作业如何保存作业日志?](https://support.huaweicloud.com/dli_faq/dli_03_0099.md): 在创建Flink SQL作业或者Flink Jar作业时,可以在作业编辑页面,勾选“保存作业日志”参数,将作业运行时的日志信息保存到OBS。勾选“保存作业日志”参数后,需配置“OBS桶”参数,选择OBS桶用于保存用户作业日志信息。如果选择的OBS桶是未授权状态,需要单击OBS授权。日志信息的保存路径为:“桶名/jobs/logs/作业id - [Flink作业管理界面对用户进行授权时提示用户不存在怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0160.md): 在“作业管理 > Flink作业”,对应作业“操作”列,选择“更多 > 权限管理”,对新用户进行授权操作时提示“No such user. userName:xxxx.”错误。以上问题可能是由于系统未能识别新用户信息。请按以下步骤进行排查:请先确认下当前用户名是否存在。如该用户存在,请重新登录管理控制台,系统才能对该用户进行授权操作。 - [手动停止了Flink作业,再次启动时怎样从指定Checkpoint恢复?](https://support.huaweicloud.com/dli_faq/dli_03_0180.md): 在创建Flink作业时开启了Checkpoint,指定了Checkpoint保存的OBS桶。手工停止Flink作业后,再次启动该Flink作业怎样从指定Checkpoint恢复。由于Flink Checkpoint和Savepoint生成机制及格式一致,因此可以通过Flink作业列表“操作”列中的“更多 > 导入保存点”,导入OBS中最新 - [DLI使用SMN主题,提示SMN主题不存在,怎么处理?](https://support.huaweicloud.com/dli_faq/dli_03_0036.md): 设置DLI Flink作业的运行参数时,勾选“作业异常告警”参数,可在作业出现运行异常或者欠费情况时,将作业异常告警信息,以SMN的方式通知用户。如果遇到提示SMN主题不存在您可以按照以下步骤进行排查:确认SMN主题是否已经创建。如果未创建,请在SMN服务管理控制台创建一个新的主题。如何自定义SMN主题,请参见《消息通知服务用户指南》中创 - [Flink SQL作业类](https://support.huaweicloud.com/dli_faq/dli_03_0131.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [怎样将OBS表映射为DLI的分区表?](https://support.huaweicloud.com/dli_faq/dli_03_0089.md): 用户使用Flink SQL作业时,需要创建OBS分区表,用于后续进行批处理。该示例将car_info数据,以day字段为分区字段,parquet为编码格式,转储数据到OBS。更多内容请参考《数据湖探索Flink SQL语法参考》。数据最终在OBS中的存储目录结构为:obs://obs-sink/car_infos/day=xx/part- - [Flink SQL作业Kafka分区数增加或减少,怎样不停止Flink作业实现动态感知?](https://support.huaweicloud.com/dli_faq/dli_03_0120.md): 用户执行Flink Opensource SQL, 采用Flink 1.10版本。初期Flink作业规划的Kafka的分区数partition设置过小或过大,后期需要更改Kafka区分数。在SQL语句中添加如下参数:增加或减少Kafka分区数,不用停止Flink作业,可实现动态感知。 - [在Flink SQL作业中创建表使用EL表达式,作业运行提示DLI.0005错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0167.md): Flink SQL作业创建表时,表名使用EL表达式,运行作业时报如下错误:DLI.0005: AnalysisException: t_user_message_input_#{date_format(date_sub(current_date(), 1), 'yyyymmddhhmmss')} is not a valid name f - [Flink作业输出流写入数据到OBS,通过该OBS文件路径创建的DLI表查询无数据](https://support.huaweicloud.com/dli_faq/dli_03_0168.md): 使用Flink作业输出流写入数据到了OBS中,通过该OBS文件路径创建的DLI表进行数据查询时,无法查询到数据。例如,使用如下Flink结果表将数据写入到OBS的“obs://obs-sink/car_infos”路径下。通过该OBS文件路径创建DLI分区表,在DLI查询car_infos表数据时没有查询到数据。create table - [Flink SQL作业运行失败,日志中有connect to DIS failed java.lang.IllegalArgumentException: Access key cannot be null错误](https://support.huaweicloud.com/dli_faq/dli_03_0174.md): 在DLI上提交Flink SQL作业,作业运行失败,在作业日志中有如下报错信息:connect to DIS failed java.lang.IllegalArgumentException: Access key cannot be null该Flink SQL作业在配置作业运行参数时,有选择保存作业日志或开启Checkpoint,配 - [Flink SQL作业消费Kafka后sink到es集群,作业执行成功,但未写入数据](https://support.huaweicloud.com/dli_faq/dli_03_0232.md): 客户创建Flink SQL作业,消费Kafka后sink到es集群,作业执行成功,但无数据。查看客户作业脚本内容,排查无问题,作业执行成功,出现该问题可能的原因如下:数据不准确。数据处理有问题。通过udf成jar包的形式修改配置 - [Flink Opensource SQL如何解析复杂嵌套 JSON?](https://support.huaweicloud.com/dli_faq/dli_03_0267.md): kafka message{ "id": 1234567890, "name": "swq", "date": "1997-04-25", "obj": { "time1": "12:12:12", "str": "test", "lg": 1122334455 }, "arr": [ - [Flink Opensource SQL从RDS数据库读取的时间和RDS数据库存储的时间为什么会不一致?](https://support.huaweicloud.com/dli_faq/dli_03_0268.md): Flink Opensource SQL从RDS数据库读取的时间和RDS数据库存储的时间为不一致该问题的根因是数据库设置的时区不合理,通常该问题出现时Flink读取的时间和RDS数据库的时间会相差13小时。请在RDS数据库内执行如下语句执行结果如下:执行结果问题根因:在Mysql的time_zone是SYSTEM,system_time_ - [Flink Opensource SQL Elasticsearch结果表failure-handler参数填写retry_rejected导致提交失败](https://support.huaweicloud.com/dli_faq/dli_03_0270.md): Flink Opensource SQL Elasticsearch结果表failure-handler参数填写retry_rejected导致提交失败该问题属于开源设计缺陷。您可以尝试将retry_rejected修改为retry-rejected。 - [Kafka Sink配置发送失败重试机制](https://support.huaweicloud.com/dli_faq/dli_03_0121.md): 用户执行Flink Opensource SQL, 采用Flink 1.10版本。Flink Sink写Kafka报错后作业失败:由于CPU使用率过高,导致网络闪断。在SQL语句中配置发送失败重试:connector.properties.retries=5 - [如何在一个Flink作业中将数据写入到不同的Elasticsearch集群中?](https://support.huaweicloud.com/dli_faq/dli_03_0048.md): 在Flink 作业中,可以使用CREATE语句来定义Source表和Sink表,并指定它们的连接器类型以及相关的属性。如果需要将数据写入到不同的Elasticsearch集群,您需要为每个集群配置不同的连接参数,并确保Flink作业能够正确地将数据路由到各个集群。例如本例中分别对es1和es2定义连接器类型以及相关的属性。在对应的Flin - [作业语义检验时提示DIS通道不存在怎么处理?](https://support.huaweicloud.com/dli_faq/dli_03_0040.md): 处理方法如下:登录到DIS管理控制台,在左侧菜单栏选择“通道管理”。检查Flink作业SQL语句中的DIS通道是否存在。如果Flink作业中的DIS通道还未创建,请参见《数据接入服务用户指南》中开通DIS通道章节。确保创建的DIS通道和Flink作业处于统一区域。确保创建的DIS通道和Flink作业处于统一区域。如果DIS通道已创建,则检 - [Flink jobmanager日志一直报Timeout expired while fetching topic metadata怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0265.md): Flink JobManager提示 "Timeout expired while fetching topic metadata" ,说明Flink作业在尝试获取Kafka主题的元数据时超时了。此时您需要先检查Flink作业和Kafka的网络连通性,确保执行Flink作业所在的队列可以访问Kafka所在的VPC网络。若果网络不可达,请先 - [Flink Jar作业类](https://support.huaweicloud.com/dli_faq/dli_03_0132.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [Flink Jar作业是否支持上传配置文件,要如何操作?](https://support.huaweicloud.com/dli_faq/dli_03_0044.md): 自定义(JAR)作业支持上传配置文件。将配置文件通过程序包管理上传到DLI;在Flink jar作业的其他依赖文件参数中,选择创建的DLI程序包;在代码中通过ClassName.class.getClassLoader().getResource("userData/fileName")加载该文件。ClassName”为需要访问该文件的类 - [Flink Jar 包冲突,导致作业提交失败](https://support.huaweicloud.com/dli_faq/dli_03_0119.md): 用户Flink程序的依赖包与DLI Flink平台的内置依赖包冲突,导致提交失败。首先您需要排除是否有冲突的Jar包。含DLI Flink提供了一系列预装在DLI服务中的依赖包,用于支持各种数据处理和分析任务。如果您上传的Jar包中包含DLI Flink运行平台中已经存在的包,则会提示Flink Jar 包冲突,导致作用提交失败。请参考D - [Flink Jar作业访问DWS启动异常,提示客户端连接数太多错误](https://support.huaweicloud.com/dli_faq/dli_03_0161.md): 提交Flink Jar作业访问DWS数据仓库服务时,提示启动失败,作业日志报如下错误信息。当前访问的DWS数据库连接已经超过了最大连接数。错误信息中,non-active的个数表示空闲连接数,例如,non-active为508,说明当前有大量的空闲连接。出现该问题时建议通过以下操作步骤解决。登录DWS命令执行窗口,执行以下SQL命令,临时 - [Flink Jar作业运行报错,报错信息为Authentication failed](https://support.huaweicloud.com/dli_faq/dli_03_0165.md): Flink Jar作业运行异常,作业日志中有如下报错信息:org.apache.flink.shaded.curator.org.apache.curator.ConnectionState - Authentication failed因为账号没有在全局配置中配置服务授权,导致该账号在创建跨源连接访问外部数据时因为权限不足而导致跨源访问 - [Flink Jar作业设置backend为OBS,报错不支持OBS文件系统](https://support.huaweicloud.com/dli_faq/dli_03_0233.md): 客户执行Flink Jar作业,通过设置checkpoint存储在OBS桶中,作业一直提交失败,并伴有报错提交日志,提示OBS桶名不合法。确认OBS桶名是否正确。确认所用AKSK是否有权限。设置依赖关系provided防止Jar包冲突。确认客户esdk-obs-java-3.1.3.jar的版本。确认是集群存在问题。 - [Hadoop jar包冲突,导致Flink提交失败](https://support.huaweicloud.com/dli_faq/dli_03_0234.md): Flink 提交失败,异常为:Flink jar包冲突。用户提交的flink jar 与 DLI 集群中的hdfs jar包存在冲突。或使用exclusions标签将其排除关联。 - [Flink作业提交错误,如何定位](https://support.huaweicloud.com/dli_faq/dli_03_0103.md): 在Flink作业管理页面,将鼠标悬停到提交失败的作业状态上,查看失败的简要信息。常见的失败原因可能包括:CU资源不足:需扩容队列。生成jar包失败:检查SQL语法及UDF等。常见的失败原因可能包括:CU资源不足:需扩容队列。生成jar包失败:检查SQL语法及UDF等。如果信息不足以定位或者是调用栈错误,可以进一步单击作业名称,进入到作业详 - [Flink作业性能调优类](https://support.huaweicloud.com/dli_faq/dli_03_0133.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [Flink作业推荐配置指导](https://support.huaweicloud.com/dli_faq/dli_03_0097.md): 用户在创建Flink作业时,可以通过如下配置实现流应用的高可靠性能。用户在消息通知服务(SMN)中提前创建一个“主题”,并将其指定的邮箱或者手机号添加至主题订阅中。此时指定的邮箱或者手机会收到请求订阅的通知,单击链接确认订阅即可。创建主题添加订阅登录DLI控制台,创建Flink SQL作业,编写作业SQL后,配置“运行参数”。Flink - [Flink作业性能调优](https://support.huaweicloud.com/dli_faq/dli_03_0106.md): 消费组积压消费组积压可通过topic最新数据offset减去该消费组已提交最大offset计算得出,说明的是该消费组当前待消费的数据总量。如果Flink作业对接的是kafka专享版,则可通过云监控服务(CES)进行查看。具体可选择“云服务监控 > 分布式消息服务 > kafka专享版” ,单击“kafka实例名称 > 消费组” ,选择具体 - [Flink作业重启后,如何保证不丢失数据?](https://support.huaweicloud.com/dli_faq/dli_03_0096.md): DLI Flink提供了完整可靠的Checkpoint/Savepoint机制,您可以利用该机制,保证在手动重启或者作业异常重启场景下,不丢失数据。为了避免系统故障导致作业异常自动重启后,丢失数据:对于Flink SQL作业,您可以勾选“开启Checkpoint”,并合理配置Checkpoint间隔(权衡执行Checkpoint对业务性能 - [Flink作业运行异常,如何定位](https://support.huaweicloud.com/dli_faq/dli_03_0105.md): 在“Flink作业”管理页面,对应作业“操作”列单击“编辑”按钮,在作业运行界面确认作业是否勾选“保存作业日志”参数。保存作业日志是,则执行3。否,则运行日志不会转储OBS桶,需要先执行2保存作业运行日志。是,则执行3。否,则运行日志不会转储OBS桶,需要先执行2保存作业运行日志。在作业运行界面勾选“保存作业日志”,在“OBS桶”参数选择 - [Flink作业重启后,如何判断是否可以从checkpoint恢复](https://support.huaweicloud.com/dli_faq/dli_03_0136.md): Flink Checkpoint 是一种容错恢复机制。这种机制保证了实时程序运行时,遇到异常或者机器问题时能够进行自我恢复。通常当作业执行失败、资源异常重启等非人为触发的异常场景时,支持从checkpoint恢复。但是如果修改了作业的运算逻辑,作业的计算逻辑已发生更改,不支持从checkpoint恢复。本文列举了一些常见的从checkpo - [DLI Flink作业提交运行后(已选择保存作业日志到OBS桶),提交运行失败的情形(例如:jar包冲突),有时日志不会写到OBS桶中](https://support.huaweicloud.com/dli_faq/dli_03_0064.md): DLI Flink作业提交或运行失败时,对应生成的作业日志保存方式,包含以下三种情况:提交失败,只会在submit-client下生成提交日志。运行失败且在1分钟内的日志,可以直接在管理控制台页面查看,具体如下:在作业管理>Flink作业页面,单击对应的作业名称,进入作业详情页面,单击运行日志可以查看实时日志。在作业管理>Flink作业页 - [Jobmanager与Taskmanager心跳超时,导致Flink作业异常怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0236.md): Jobmanager与Taskmanager心跳超时,导致Flink作业异常。检查网络是否发生闪断,分析集群负载是否很高。如果频繁出现Full GC, 建议排查代码,确认是否有内存泄漏。Full GC如果频繁Full GC, 建议排查代码,是否有内存泄漏。增加单TM所占的资源。联系技术支持,修改集群心跳配置参数。 - [如何给子用户授权查看Flink作业?](https://support.huaweicloud.com/dli_faq/dli_03_0139.md): 子用户使用DLI时,可以查看队列,但是不能查看Flink作业,可以通过在DLI中对子用户授权,或在IAM中对子用户授权:DLI授权管理使用租户账号,或者作业owner账号,或有DLI Service Administrator权限的账号,登录DLI控制台。在“作业管理”>“Flink作业”页面找到对应的作业。在对应作业的“操作”栏中选择“ - [Flink作业怎样设置“异常自动重启”?](https://support.huaweicloud.com/dli_faq/dli_03_0090.md): DLI Flink作业具有高可用保障能力,通过设置“异常自动重启”功能,可在周边服务短时故障恢复后自动重启。登录DLI控制台,选择“作业管理”>“Flink作业”。在Flink作业编辑页面,勾选“异常自动重启”。例如,图1所示。Flink SQL作业编辑界面 - [Flink作业如何保存作业日志?](https://support.huaweicloud.com/dli_faq/dli_03_0099.md): 在创建Flink SQL作业或者Flink Jar作业时,可以在作业编辑页面,勾选“保存作业日志”参数,将作业运行时的日志信息保存到OBS。勾选“保存作业日志”参数后,需配置“OBS桶”参数,选择OBS桶用于保存用户作业日志信息。如果选择的OBS桶是未授权状态,需要单击OBS授权。日志信息的保存路径为:“桶名/jobs/logs/作业id - [Flink作业管理界面对用户进行授权时提示用户不存在怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0160.md): 在“作业管理 > Flink作业”,对应作业“操作”列,选择“更多 > 权限管理”,对新用户进行授权操作时提示“No such user. userName:xxxx.”错误。以上问题可能是由于系统未能识别新用户信息。请按以下步骤进行排查:请先确认下当前用户名是否存在。如该用户存在,请重新登录管理控制台,系统才能对该用户进行授权操作。 - [手动停止了Flink作业,再次启动时怎样从指定Checkpoint恢复?](https://support.huaweicloud.com/dli_faq/dli_03_0180.md): 在创建Flink作业时开启了Checkpoint,指定了Checkpoint保存的OBS桶。手工停止Flink作业后,再次启动该Flink作业怎样从指定Checkpoint恢复。由于Flink Checkpoint和Savepoint生成机制及格式一致,因此可以通过Flink作业列表“操作”列中的“更多 > 导入保存点”,导入OBS中最新 - [DLI使用SMN主题,提示SMN主题不存在,怎么处理?](https://support.huaweicloud.com/dli_faq/dli_03_0036.md): 设置DLI Flink作业的运行参数时,勾选“作业异常告警”参数,可在作业出现运行异常或者欠费情况时,将作业异常告警信息,以SMN的方式通知用户。如果遇到提示SMN主题不存在您可以按照以下步骤进行排查:确认SMN主题是否已经创建。如果未创建,请在SMN服务管理控制台创建一个新的主题。如何自定义SMN主题,请参见《消息通知服务用户指南》中创 - [如何给子用户授权查看Flink作业?](https://support.huaweicloud.com/dli_faq/dli_03_0139.md): 子用户使用DLI时,可以查看队列,但是不能查看Flink作业,可以通过在DLI中对子用户授权,或在IAM中对子用户授权:DLI授权管理使用租户账号,或者作业owner账号,或有DLI Service Administrator权限的账号,登录DLI控制台。在“作业管理”>“Flink作业”页面找到对应的作业。在对应作业的“操作”栏中选择“ - [Flink作业怎样设置“异常自动重启”?](https://support.huaweicloud.com/dli_faq/dli_03_0090.md): DLI Flink作业具有高可用保障能力,通过设置“异常自动重启”功能,可在周边服务短时故障恢复后自动重启。登录DLI控制台,选择“作业管理”>“Flink作业”。在Flink作业编辑页面,勾选“异常自动重启”。例如,图1所示。Flink SQL作业编辑界面 - [Flink作业如何保存作业日志?](https://support.huaweicloud.com/dli_faq/dli_03_0099.md): 在创建Flink SQL作业或者Flink Jar作业时,可以在作业编辑页面,勾选“保存作业日志”参数,将作业运行时的日志信息保存到OBS。勾选“保存作业日志”参数后,需配置“OBS桶”参数,选择OBS桶用于保存用户作业日志信息。如果选择的OBS桶是未授权状态,需要单击OBS授权。日志信息的保存路径为:“桶名/jobs/logs/作业id - [Flink作业管理界面对用户进行授权时提示用户不存在怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0160.md): 在“作业管理 > Flink作业”,对应作业“操作”列,选择“更多 > 权限管理”,对新用户进行授权操作时提示“No such user. userName:xxxx.”错误。以上问题可能是由于系统未能识别新用户信息。请按以下步骤进行排查:请先确认下当前用户名是否存在。如该用户存在,请重新登录管理控制台,系统才能对该用户进行授权操作。 - [手动停止了Flink作业,再次启动时怎样从指定Checkpoint恢复?](https://support.huaweicloud.com/dli_faq/dli_03_0180.md): 在创建Flink作业时开启了Checkpoint,指定了Checkpoint保存的OBS桶。手工停止Flink作业后,再次启动该Flink作业怎样从指定Checkpoint恢复。由于Flink Checkpoint和Savepoint生成机制及格式一致,因此可以通过Flink作业列表“操作”列中的“更多 > 导入保存点”,导入OBS中最新 - [DLI使用SMN主题,提示SMN主题不存在,怎么处理?](https://support.huaweicloud.com/dli_faq/dli_03_0036.md): 设置DLI Flink作业的运行参数时,勾选“作业异常告警”参数,可在作业出现运行异常或者欠费情况时,将作业异常告警信息,以SMN的方式通知用户。如果遇到提示SMN主题不存在您可以按照以下步骤进行排查:确认SMN主题是否已经创建。如果未创建,请在SMN服务管理控制台创建一个新的主题。如何自定义SMN主题,请参见《消息通知服务用户指南》中创 - [怎样将OBS表映射为DLI的分区表?](https://support.huaweicloud.com/dli_faq/dli_03_0089.md): 用户使用Flink SQL作业时,需要创建OBS分区表,用于后续进行批处理。该示例将car_info数据,以day字段为分区字段,parquet为编码格式,转储数据到OBS。更多内容请参考《数据湖探索Flink SQL语法参考》。数据最终在OBS中的存储目录结构为:obs://obs-sink/car_infos/day=xx/part- - [Flink SQL作业Kafka分区数增加或减少,怎样不停止Flink作业实现动态感知?](https://support.huaweicloud.com/dli_faq/dli_03_0120.md): 用户执行Flink Opensource SQL, 采用Flink 1.10版本。初期Flink作业规划的Kafka的分区数partition设置过小或过大,后期需要更改Kafka区分数。在SQL语句中添加如下参数:增加或减少Kafka分区数,不用停止Flink作业,可实现动态感知。 - [在Flink SQL作业中创建表使用EL表达式,作业运行提示DLI.0005错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0167.md): Flink SQL作业创建表时,表名使用EL表达式,运行作业时报如下错误:DLI.0005: AnalysisException: t_user_message_input_#{date_format(date_sub(current_date(), 1), 'yyyymmddhhmmss')} is not a valid name f - [Flink作业输出流写入数据到OBS,通过该OBS文件路径创建的DLI表查询无数据](https://support.huaweicloud.com/dli_faq/dli_03_0168.md): 使用Flink作业输出流写入数据到了OBS中,通过该OBS文件路径创建的DLI表进行数据查询时,无法查询到数据。例如,使用如下Flink结果表将数据写入到OBS的“obs://obs-sink/car_infos”路径下。通过该OBS文件路径创建DLI分区表,在DLI查询car_infos表数据时没有查询到数据。create table - [Flink SQL作业运行失败,日志中有connect to DIS failed java.lang.IllegalArgumentException: Access key cannot be null错误](https://support.huaweicloud.com/dli_faq/dli_03_0174.md): 在DLI上提交Flink SQL作业,作业运行失败,在作业日志中有如下报错信息:connect to DIS failed java.lang.IllegalArgumentException: Access key cannot be null该Flink SQL作业在配置作业运行参数时,有选择保存作业日志或开启Checkpoint,配 - [Flink SQL作业消费Kafka后sink到es集群,作业执行成功,但未写入数据](https://support.huaweicloud.com/dli_faq/dli_03_0232.md): 客户创建Flink SQL作业,消费Kafka后sink到es集群,作业执行成功,但无数据。查看客户作业脚本内容,排查无问题,作业执行成功,出现该问题可能的原因如下:数据不准确。数据处理有问题。通过udf成jar包的形式修改配置 - [Flink Opensource SQL如何解析复杂嵌套 JSON?](https://support.huaweicloud.com/dli_faq/dli_03_0267.md): kafka message{ "id": 1234567890, "name": "swq", "date": "1997-04-25", "obj": { "time1": "12:12:12", "str": "test", "lg": 1122334455 }, "arr": [ - [Flink Opensource SQL从RDS数据库读取的时间和RDS数据库存储的时间为什么会不一致?](https://support.huaweicloud.com/dli_faq/dli_03_0268.md): Flink Opensource SQL从RDS数据库读取的时间和RDS数据库存储的时间为不一致该问题的根因是数据库设置的时区不合理,通常该问题出现时Flink读取的时间和RDS数据库的时间会相差13小时。请在RDS数据库内执行如下语句执行结果如下:执行结果问题根因:在Mysql的time_zone是SYSTEM,system_time_ - [Flink Opensource SQL Elasticsearch结果表failure-handler参数填写retry_rejected导致提交失败](https://support.huaweicloud.com/dli_faq/dli_03_0270.md): Flink Opensource SQL Elasticsearch结果表failure-handler参数填写retry_rejected导致提交失败该问题属于开源设计缺陷。您可以尝试将retry_rejected修改为retry-rejected。 - [Kafka Sink配置发送失败重试机制](https://support.huaweicloud.com/dli_faq/dli_03_0121.md): 用户执行Flink Opensource SQL, 采用Flink 1.10版本。Flink Sink写Kafka报错后作业失败:由于CPU使用率过高,导致网络闪断。在SQL语句中配置发送失败重试:connector.properties.retries=5 - [如何在一个Flink作业中将数据写入到不同的Elasticsearch集群中?](https://support.huaweicloud.com/dli_faq/dli_03_0048.md): 在Flink 作业中,可以使用CREATE语句来定义Source表和Sink表,并指定它们的连接器类型以及相关的属性。如果需要将数据写入到不同的Elasticsearch集群,您需要为每个集群配置不同的连接参数,并确保Flink作业能够正确地将数据路由到各个集群。例如本例中分别对es1和es2定义连接器类型以及相关的属性。在对应的Flin - [作业语义检验时提示DIS通道不存在怎么处理?](https://support.huaweicloud.com/dli_faq/dli_03_0040.md): 处理方法如下:登录到DIS管理控制台,在左侧菜单栏选择“通道管理”。检查Flink作业SQL语句中的DIS通道是否存在。如果Flink作业中的DIS通道还未创建,请参见《数据接入服务用户指南》中开通DIS通道章节。确保创建的DIS通道和Flink作业处于统一区域。确保创建的DIS通道和Flink作业处于统一区域。如果DIS通道已创建,则检 - [Flink jobmanager日志一直报Timeout expired while fetching topic metadata怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0265.md): Flink JobManager提示 "Timeout expired while fetching topic metadata" ,说明Flink作业在尝试获取Kafka主题的元数据时超时了。此时您需要先检查Flink作业和Kafka的网络连通性,确保执行Flink作业所在的队列可以访问Kafka所在的VPC网络。若果网络不可达,请先 - [怎样将OBS表映射为DLI的分区表?](https://support.huaweicloud.com/dli_faq/dli_03_0089.md): 用户使用Flink SQL作业时,需要创建OBS分区表,用于后续进行批处理。该示例将car_info数据,以day字段为分区字段,parquet为编码格式,转储数据到OBS。更多内容请参考《数据湖探索Flink SQL语法参考》。数据最终在OBS中的存储目录结构为:obs://obs-sink/car_infos/day=xx/part- - [Flink SQL作业Kafka分区数增加或减少,怎样不停止Flink作业实现动态感知?](https://support.huaweicloud.com/dli_faq/dli_03_0120.md): 用户执行Flink Opensource SQL, 采用Flink 1.10版本。初期Flink作业规划的Kafka的分区数partition设置过小或过大,后期需要更改Kafka区分数。在SQL语句中添加如下参数:增加或减少Kafka分区数,不用停止Flink作业,可实现动态感知。 - [在Flink SQL作业中创建表使用EL表达式,作业运行提示DLI.0005错误怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0167.md): Flink SQL作业创建表时,表名使用EL表达式,运行作业时报如下错误:DLI.0005: AnalysisException: t_user_message_input_#{date_format(date_sub(current_date(), 1), 'yyyymmddhhmmss')} is not a valid name f - [Flink作业输出流写入数据到OBS,通过该OBS文件路径创建的DLI表查询无数据](https://support.huaweicloud.com/dli_faq/dli_03_0168.md): 使用Flink作业输出流写入数据到了OBS中,通过该OBS文件路径创建的DLI表进行数据查询时,无法查询到数据。例如,使用如下Flink结果表将数据写入到OBS的“obs://obs-sink/car_infos”路径下。通过该OBS文件路径创建DLI分区表,在DLI查询car_infos表数据时没有查询到数据。create table - [Flink SQL作业运行失败,日志中有connect to DIS failed java.lang.IllegalArgumentException: Access key cannot be null错误](https://support.huaweicloud.com/dli_faq/dli_03_0174.md): 在DLI上提交Flink SQL作业,作业运行失败,在作业日志中有如下报错信息:connect to DIS failed java.lang.IllegalArgumentException: Access key cannot be null该Flink SQL作业在配置作业运行参数时,有选择保存作业日志或开启Checkpoint,配 - [Flink SQL作业消费Kafka后sink到es集群,作业执行成功,但未写入数据](https://support.huaweicloud.com/dli_faq/dli_03_0232.md): 客户创建Flink SQL作业,消费Kafka后sink到es集群,作业执行成功,但无数据。查看客户作业脚本内容,排查无问题,作业执行成功,出现该问题可能的原因如下:数据不准确。数据处理有问题。通过udf成jar包的形式修改配置 - [Flink Opensource SQL如何解析复杂嵌套 JSON?](https://support.huaweicloud.com/dli_faq/dli_03_0267.md): kafka message{ "id": 1234567890, "name": "swq", "date": "1997-04-25", "obj": { "time1": "12:12:12", "str": "test", "lg": 1122334455 }, "arr": [ - [Flink Opensource SQL从RDS数据库读取的时间和RDS数据库存储的时间为什么会不一致?](https://support.huaweicloud.com/dli_faq/dli_03_0268.md): Flink Opensource SQL从RDS数据库读取的时间和RDS数据库存储的时间为不一致该问题的根因是数据库设置的时区不合理,通常该问题出现时Flink读取的时间和RDS数据库的时间会相差13小时。请在RDS数据库内执行如下语句执行结果如下:执行结果问题根因:在Mysql的time_zone是SYSTEM,system_time_ - [Flink Opensource SQL Elasticsearch结果表failure-handler参数填写retry_rejected导致提交失败](https://support.huaweicloud.com/dli_faq/dli_03_0270.md): Flink Opensource SQL Elasticsearch结果表failure-handler参数填写retry_rejected导致提交失败该问题属于开源设计缺陷。您可以尝试将retry_rejected修改为retry-rejected。 - [Kafka Sink配置发送失败重试机制](https://support.huaweicloud.com/dli_faq/dli_03_0121.md): 用户执行Flink Opensource SQL, 采用Flink 1.10版本。Flink Sink写Kafka报错后作业失败:由于CPU使用率过高,导致网络闪断。在SQL语句中配置发送失败重试:connector.properties.retries=5 - [如何在一个Flink作业中将数据写入到不同的Elasticsearch集群中?](https://support.huaweicloud.com/dli_faq/dli_03_0048.md): 在Flink 作业中,可以使用CREATE语句来定义Source表和Sink表,并指定它们的连接器类型以及相关的属性。如果需要将数据写入到不同的Elasticsearch集群,您需要为每个集群配置不同的连接参数,并确保Flink作业能够正确地将数据路由到各个集群。例如本例中分别对es1和es2定义连接器类型以及相关的属性。在对应的Flin - [作业语义检验时提示DIS通道不存在怎么处理?](https://support.huaweicloud.com/dli_faq/dli_03_0040.md): 处理方法如下:登录到DIS管理控制台,在左侧菜单栏选择“通道管理”。检查Flink作业SQL语句中的DIS通道是否存在。如果Flink作业中的DIS通道还未创建,请参见《数据接入服务用户指南》中开通DIS通道章节。确保创建的DIS通道和Flink作业处于统一区域。确保创建的DIS通道和Flink作业处于统一区域。如果DIS通道已创建,则检 - [Flink jobmanager日志一直报Timeout expired while fetching topic metadata怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0265.md): Flink JobManager提示 "Timeout expired while fetching topic metadata" ,说明Flink作业在尝试获取Kafka主题的元数据时超时了。此时您需要先检查Flink作业和Kafka的网络连通性,确保执行Flink作业所在的队列可以访问Kafka所在的VPC网络。若果网络不可达,请先 - [Flink Jar作业是否支持上传配置文件,要如何操作?](https://support.huaweicloud.com/dli_faq/dli_03_0044.md): 自定义(JAR)作业支持上传配置文件。将配置文件通过程序包管理上传到DLI;在Flink jar作业的其他依赖文件参数中,选择创建的DLI程序包;在代码中通过ClassName.class.getClassLoader().getResource("userData/fileName")加载该文件。ClassName”为需要访问该文件的类 - [Flink Jar 包冲突,导致作业提交失败](https://support.huaweicloud.com/dli_faq/dli_03_0119.md): 用户Flink程序的依赖包与DLI Flink平台的内置依赖包冲突,导致提交失败。首先您需要排除是否有冲突的Jar包。含DLI Flink提供了一系列预装在DLI服务中的依赖包,用于支持各种数据处理和分析任务。如果您上传的Jar包中包含DLI Flink运行平台中已经存在的包,则会提示Flink Jar 包冲突,导致作用提交失败。请参考D - [Flink Jar作业访问DWS启动异常,提示客户端连接数太多错误](https://support.huaweicloud.com/dli_faq/dli_03_0161.md): 提交Flink Jar作业访问DWS数据仓库服务时,提示启动失败,作业日志报如下错误信息。当前访问的DWS数据库连接已经超过了最大连接数。错误信息中,non-active的个数表示空闲连接数,例如,non-active为508,说明当前有大量的空闲连接。出现该问题时建议通过以下操作步骤解决。登录DWS命令执行窗口,执行以下SQL命令,临时 - [Flink Jar作业运行报错,报错信息为Authentication failed](https://support.huaweicloud.com/dli_faq/dli_03_0165.md): Flink Jar作业运行异常,作业日志中有如下报错信息:org.apache.flink.shaded.curator.org.apache.curator.ConnectionState - Authentication failed因为账号没有在全局配置中配置服务授权,导致该账号在创建跨源连接访问外部数据时因为权限不足而导致跨源访问 - [Flink Jar作业设置backend为OBS,报错不支持OBS文件系统](https://support.huaweicloud.com/dli_faq/dli_03_0233.md): 客户执行Flink Jar作业,通过设置checkpoint存储在OBS桶中,作业一直提交失败,并伴有报错提交日志,提示OBS桶名不合法。确认OBS桶名是否正确。确认所用AKSK是否有权限。设置依赖关系provided防止Jar包冲突。确认客户esdk-obs-java-3.1.3.jar的版本。确认是集群存在问题。 - [Hadoop jar包冲突,导致Flink提交失败](https://support.huaweicloud.com/dli_faq/dli_03_0234.md): Flink 提交失败,异常为:Flink jar包冲突。用户提交的flink jar 与 DLI 集群中的hdfs jar包存在冲突。或使用exclusions标签将其排除关联。 - [Flink作业提交错误,如何定位](https://support.huaweicloud.com/dli_faq/dli_03_0103.md): 在Flink作业管理页面,将鼠标悬停到提交失败的作业状态上,查看失败的简要信息。常见的失败原因可能包括:CU资源不足:需扩容队列。生成jar包失败:检查SQL语法及UDF等。常见的失败原因可能包括:CU资源不足:需扩容队列。生成jar包失败:检查SQL语法及UDF等。如果信息不足以定位或者是调用栈错误,可以进一步单击作业名称,进入到作业详 - [Flink Jar作业是否支持上传配置文件,要如何操作?](https://support.huaweicloud.com/dli_faq/dli_03_0044.md): 自定义(JAR)作业支持上传配置文件。将配置文件通过程序包管理上传到DLI;在Flink jar作业的其他依赖文件参数中,选择创建的DLI程序包;在代码中通过ClassName.class.getClassLoader().getResource("userData/fileName")加载该文件。ClassName”为需要访问该文件的类 - [Flink Jar 包冲突,导致作业提交失败](https://support.huaweicloud.com/dli_faq/dli_03_0119.md): 用户Flink程序的依赖包与DLI Flink平台的内置依赖包冲突,导致提交失败。首先您需要排除是否有冲突的Jar包。含DLI Flink提供了一系列预装在DLI服务中的依赖包,用于支持各种数据处理和分析任务。如果您上传的Jar包中包含DLI Flink运行平台中已经存在的包,则会提示Flink Jar 包冲突,导致作用提交失败。请参考D - [Flink Jar作业访问DWS启动异常,提示客户端连接数太多错误](https://support.huaweicloud.com/dli_faq/dli_03_0161.md): 提交Flink Jar作业访问DWS数据仓库服务时,提示启动失败,作业日志报如下错误信息。当前访问的DWS数据库连接已经超过了最大连接数。错误信息中,non-active的个数表示空闲连接数,例如,non-active为508,说明当前有大量的空闲连接。出现该问题时建议通过以下操作步骤解决。登录DWS命令执行窗口,执行以下SQL命令,临时 - [Flink Jar作业运行报错,报错信息为Authentication failed](https://support.huaweicloud.com/dli_faq/dli_03_0165.md): Flink Jar作业运行异常,作业日志中有如下报错信息:org.apache.flink.shaded.curator.org.apache.curator.ConnectionState - Authentication failed因为账号没有在全局配置中配置服务授权,导致该账号在创建跨源连接访问外部数据时因为权限不足而导致跨源访问 - [Flink Jar作业设置backend为OBS,报错不支持OBS文件系统](https://support.huaweicloud.com/dli_faq/dli_03_0233.md): 客户执行Flink Jar作业,通过设置checkpoint存储在OBS桶中,作业一直提交失败,并伴有报错提交日志,提示OBS桶名不合法。确认OBS桶名是否正确。确认所用AKSK是否有权限。设置依赖关系provided防止Jar包冲突。确认客户esdk-obs-java-3.1.3.jar的版本。确认是集群存在问题。 - [Hadoop jar包冲突,导致Flink提交失败](https://support.huaweicloud.com/dli_faq/dli_03_0234.md): Flink 提交失败,异常为:Flink jar包冲突。用户提交的flink jar 与 DLI 集群中的hdfs jar包存在冲突。或使用exclusions标签将其排除关联。 - [Flink作业提交错误,如何定位](https://support.huaweicloud.com/dli_faq/dli_03_0103.md): 在Flink作业管理页面,将鼠标悬停到提交失败的作业状态上,查看失败的简要信息。常见的失败原因可能包括:CU资源不足:需扩容队列。生成jar包失败:检查SQL语法及UDF等。常见的失败原因可能包括:CU资源不足:需扩容队列。生成jar包失败:检查SQL语法及UDF等。如果信息不足以定位或者是调用栈错误,可以进一步单击作业名称,进入到作业详 - [Flink作业推荐配置指导](https://support.huaweicloud.com/dli_faq/dli_03_0097.md): 用户在创建Flink作业时,可以通过如下配置实现流应用的高可靠性能。用户在消息通知服务(SMN)中提前创建一个“主题”,并将其指定的邮箱或者手机号添加至主题订阅中。此时指定的邮箱或者手机会收到请求订阅的通知,单击链接确认订阅即可。创建主题添加订阅登录DLI控制台,创建Flink SQL作业,编写作业SQL后,配置“运行参数”。Flink - [Flink作业性能调优](https://support.huaweicloud.com/dli_faq/dli_03_0106.md): 消费组积压消费组积压可通过topic最新数据offset减去该消费组已提交最大offset计算得出,说明的是该消费组当前待消费的数据总量。如果Flink作业对接的是kafka专享版,则可通过云监控服务(CES)进行查看。具体可选择“云服务监控 > 分布式消息服务 > kafka专享版” ,单击“kafka实例名称 > 消费组” ,选择具体 - [Flink作业重启后,如何保证不丢失数据?](https://support.huaweicloud.com/dli_faq/dli_03_0096.md): DLI Flink提供了完整可靠的Checkpoint/Savepoint机制,您可以利用该机制,保证在手动重启或者作业异常重启场景下,不丢失数据。为了避免系统故障导致作业异常自动重启后,丢失数据:对于Flink SQL作业,您可以勾选“开启Checkpoint”,并合理配置Checkpoint间隔(权衡执行Checkpoint对业务性能 - [Flink作业运行异常,如何定位](https://support.huaweicloud.com/dli_faq/dli_03_0105.md): 在“Flink作业”管理页面,对应作业“操作”列单击“编辑”按钮,在作业运行界面确认作业是否勾选“保存作业日志”参数。保存作业日志是,则执行3。否,则运行日志不会转储OBS桶,需要先执行2保存作业运行日志。是,则执行3。否,则运行日志不会转储OBS桶,需要先执行2保存作业运行日志。在作业运行界面勾选“保存作业日志”,在“OBS桶”参数选择 - [Flink作业重启后,如何判断是否可以从checkpoint恢复](https://support.huaweicloud.com/dli_faq/dli_03_0136.md): Flink Checkpoint 是一种容错恢复机制。这种机制保证了实时程序运行时,遇到异常或者机器问题时能够进行自我恢复。通常当作业执行失败、资源异常重启等非人为触发的异常场景时,支持从checkpoint恢复。但是如果修改了作业的运算逻辑,作业的计算逻辑已发生更改,不支持从checkpoint恢复。本文列举了一些常见的从checkpo - [DLI Flink作业提交运行后(已选择保存作业日志到OBS桶),提交运行失败的情形(例如:jar包冲突),有时日志不会写到OBS桶中](https://support.huaweicloud.com/dli_faq/dli_03_0064.md): DLI Flink作业提交或运行失败时,对应生成的作业日志保存方式,包含以下三种情况:提交失败,只会在submit-client下生成提交日志。运行失败且在1分钟内的日志,可以直接在管理控制台页面查看,具体如下:在作业管理>Flink作业页面,单击对应的作业名称,进入作业详情页面,单击运行日志可以查看实时日志。在作业管理>Flink作业页 - [Jobmanager与Taskmanager心跳超时,导致Flink作业异常怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0236.md): Jobmanager与Taskmanager心跳超时,导致Flink作业异常。检查网络是否发生闪断,分析集群负载是否很高。如果频繁出现Full GC, 建议排查代码,确认是否有内存泄漏。Full GC如果频繁Full GC, 建议排查代码,是否有内存泄漏。增加单TM所占的资源。联系技术支持,修改集群心跳配置参数。 - [Flink作业推荐配置指导](https://support.huaweicloud.com/dli_faq/dli_03_0097.md): 用户在创建Flink作业时,可以通过如下配置实现流应用的高可靠性能。用户在消息通知服务(SMN)中提前创建一个“主题”,并将其指定的邮箱或者手机号添加至主题订阅中。此时指定的邮箱或者手机会收到请求订阅的通知,单击链接确认订阅即可。创建主题添加订阅登录DLI控制台,创建Flink SQL作业,编写作业SQL后,配置“运行参数”。Flink - [Flink作业性能调优](https://support.huaweicloud.com/dli_faq/dli_03_0106.md): 消费组积压消费组积压可通过topic最新数据offset减去该消费组已提交最大offset计算得出,说明的是该消费组当前待消费的数据总量。如果Flink作业对接的是kafka专享版,则可通过云监控服务(CES)进行查看。具体可选择“云服务监控 > 分布式消息服务 > kafka专享版” ,单击“kafka实例名称 > 消费组” ,选择具体 - [Flink作业重启后,如何保证不丢失数据?](https://support.huaweicloud.com/dli_faq/dli_03_0096.md): DLI Flink提供了完整可靠的Checkpoint/Savepoint机制,您可以利用该机制,保证在手动重启或者作业异常重启场景下,不丢失数据。为了避免系统故障导致作业异常自动重启后,丢失数据:对于Flink SQL作业,您可以勾选“开启Checkpoint”,并合理配置Checkpoint间隔(权衡执行Checkpoint对业务性能 - [Flink作业运行异常,如何定位](https://support.huaweicloud.com/dli_faq/dli_03_0105.md): 在“Flink作业”管理页面,对应作业“操作”列单击“编辑”按钮,在作业运行界面确认作业是否勾选“保存作业日志”参数。保存作业日志是,则执行3。否,则运行日志不会转储OBS桶,需要先执行2保存作业运行日志。是,则执行3。否,则运行日志不会转储OBS桶,需要先执行2保存作业运行日志。在作业运行界面勾选“保存作业日志”,在“OBS桶”参数选择 - [Flink作业重启后,如何判断是否可以从checkpoint恢复](https://support.huaweicloud.com/dli_faq/dli_03_0136.md): Flink Checkpoint 是一种容错恢复机制。这种机制保证了实时程序运行时,遇到异常或者机器问题时能够进行自我恢复。通常当作业执行失败、资源异常重启等非人为触发的异常场景时,支持从checkpoint恢复。但是如果修改了作业的运算逻辑,作业的计算逻辑已发生更改,不支持从checkpoint恢复。本文列举了一些常见的从checkpo - [DLI Flink作业提交运行后(已选择保存作业日志到OBS桶),提交运行失败的情形(例如:jar包冲突),有时日志不会写到OBS桶中](https://support.huaweicloud.com/dli_faq/dli_03_0064.md): DLI Flink作业提交或运行失败时,对应生成的作业日志保存方式,包含以下三种情况:提交失败,只会在submit-client下生成提交日志。运行失败且在1分钟内的日志,可以直接在管理控制台页面查看,具体如下:在作业管理>Flink作业页面,单击对应的作业名称,进入作业详情页面,单击运行日志可以查看实时日志。在作业管理>Flink作业页 - [Jobmanager与Taskmanager心跳超时,导致Flink作业异常怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0236.md): Jobmanager与Taskmanager心跳超时,导致Flink作业异常。检查网络是否发生闪断,分析集群负载是否很高。如果频繁出现Full GC, 建议排查代码,确认是否有内存泄漏。Full GC如果频繁Full GC, 建议排查代码,是否有内存泄漏。增加单TM所占的资源。联系技术支持,修改集群心跳配置参数。 - [Spark作业开发类](https://support.huaweicloud.com/dli_faq/dli_03_0217.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [Spark作业使用咨询](https://support.huaweicloud.com/dli_faq/dli_03_0201.md): DLI Spark不支持作业调度,用户可以通过其他服务,例如数据湖管理治理中心DataArts Studio服务进行调度,或者通过API/SDK等方式对作业进行自定义调度 。使用DataArts Studio服务进行作业开发请参考《数据治理中心用户指南》。Spark SQL语法不支持定义主键。可以访问。详细操作请参考访问DWS和访问SQL - [Spark如何将数据写入到DLI表中](https://support.huaweicloud.com/dli_faq/dli_03_0107.md): 使用Spark将数据写入到DLI表中,主要设置如下参数:fs.obs.access.keyfs.obs.secret.keyfs.obs.implfs.obs.endpoint示例如下: - [通用队列操作OBS表如何设置AK/SK](https://support.huaweicloud.com/dli_faq/dli_03_0017.md): 建议使用临时AK/SK,获取方式可参见统一身份认证服务_获取临时AK/SK。认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。获取结果为AK/SK时,设置如下:代码创建SparkContextval sc: SparkContext = new SparkConte - [如何查看DLI Spark作业的实际资源使用情况](https://support.huaweicloud.com/dli_faq/dli_03_0102.md): 登录DLI 控制台,单击左侧“作业管理”>“Spark作业”,在作业列表中找到需要查看的Spark作业,单击“作业ID”前的,即可查看对应Spark作业的原始资源配置参数。在创建Spark作业时,配置了“高级配置”中的参数,此处才会显示对应的内容。创建Spark作业请参考《创建Spark作业》。查看Spark作业实时运行资源,即查看有多少 - [将Spark作业结果存储在MySQL数据库中,缺少pymysql模块,如何使用python脚本访问MySQL数据库?](https://support.huaweicloud.com/dli_faq/dli_03_0076.md): 缺少pymysql模块,可以查看是否有对应的egg包,如果没有,在程序包管理页面上传pyFile。具体步骤参考如下:将egg包上传到指定的OBS桶路径下。登录DLI管理控制台,单击“数据管理 > 程序包管理”。在“程序包管理”页面,单击右上角“创建”可创建程序包。在“创建程序包”对话框,配置如下参数:包类型:PyFile。OBS路径:选择 - [如何在DLI中运行复杂PySpark程序?](https://support.huaweicloud.com/dli_faq/dli_03_0082.md): 数据湖探索(DLI)服务对于PySpark是原生支持的。对于数据分析来说Python是很自然的选择,而在大数据分析中PySpark无疑是不二选择。对于JVM语言系的程序,通常会把程序打成Jar包并依赖其他一些第三方的Jar,同样的Python程序也有依赖一些第三方库,尤其是基于PySpark的融合机器学习相关的大数据分析程序。传统上,通常 - [如何通过JDBC设置spark.sql.shuffle.partitions参数提高并行度](https://support.huaweicloud.com/dli_faq/dli_03_0068.md): Spark作业在执行shuffle类语句,包括group by、join等场景时,常常会出现数据倾斜的问题,导致作业任务执行缓慢。该问题可以通过设置spark.sql.shuffle.partitions提高shuffle read task的并行度来进行解决。用户可在JDBC中通过set方式设置dli.sql.shuffle.parti - [Spark jar 如何读取上传文件](https://support.huaweicloud.com/dli_faq/dli_03_0118.md): Spark可以使用SparkFiles读取 –-file中提交上来的文件的本地路径,即:SparkFiles.get("上传的文件名")。Driver中的文件路径与Executor中获取的路径位置是不一致的,所以不能将Driver中获取到的路径作为参数传给Executor去执行。Executor获取文件路径的时候,仍然需要使用SparkF - [为什么Spark 3.3.1客户端视图属性查询为空字符串](https://support.huaweicloud.com/dli_faq/dli_03_0279.md): 使用Spark 3.3.1版本执行作业,在客户端查询视图属性时,发现某些字段的默认属性值显示为空字符串,而使用Spark 3.1.1版本时返回为null。自Spark 3.3.0版本起,开源社区对CreateViewStatement语法进行了升级,调整了该语法调用接口的版本,以此来避免在查询视图属性时出现空指针异常。然而,这也导致了DE - [添加Python包后,找不到指定的Python环境](https://support.huaweicloud.com/dli_faq/dli_03_0077.md): 添加Python3包后,找不到指定的Python环境。可以通过在conf文件中,设置spark.yarn.appMasterEnv.PYSPARK_PYTHON=python3,指定计算集群环境为Python3环境。目前,新建集群环境均已默认为Python3环境。 - [为什么Spark jar 作业 一直处于“提交中”?](https://support.huaweicloud.com/dli_faq/dli_03_0220.md): Spark jar 作业 一直处于“提交中”可能是队列剩余的CU量不足导致作业无法提交。查看队列的的剩余步骤如下:查看队列CU使用量。点击“云监控服务 > 云服务监控 > 数据探索湖 > 队列监控 > 队列CU使用量” 。点击“云监控服务 > 云服务监控 > 数据探索湖 > 队列监控 > 队列CU使用量” 。计算剩余CU量。队列剩余CU量 - [Spark Jar任务使用LakeFormation元数据时报错](https://support.huaweicloud.com/dli_faq/dli_03_0281.md): 通过Spark Jar作业读写LakeFormation元数据时,作业启动时提示以下错误:field 'location' must match '^(obs|har)://.+/.+$'作业无法继续,表或库创建失败。详细错误提示信息如下:该异常表明某个数据库或表的location字段未通过LakeFormation的正则校验。defau - [Spark作业运维类](https://support.huaweicloud.com/dli_faq/dli_03_0218.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [运行Spark作业报java.lang.AbstractMethodError](https://support.huaweicloud.com/dli_faq/dli_03_0023.md): Spark 2.3对内部接口Logging做了行为变更,如果用户代码里直接继承了该Logging,且编译时使用的是低版本的Spark,那么应用程序在Spark 2.3的环境中运行将会报java.lang.AbstractMethodError。解决措施有如下两种方案:基于Spark 2.3重新编译应用使用sl4j+log4j来实现日志功能 - [Spark作业访问OBS数据时报ResponseCode: 403和ResponseStatus: Forbidden错误](https://support.huaweicloud.com/dli_faq/dli_03_0156.md): Spark程序访问OBS数据时上报如下错误。Spark程序访问OBS数据时,需要通过配置AK、SK的访问进行访问。具体访问方式可以参考:通用队列操作OBS表如何设置AK/SK。 - [有访问OBS对应的桶的权限,但是Spark作业访问时报错 verifyBucketExists on XXXX: status [403]](https://support.huaweicloud.com/dli_faq/dli_03_0164.md): 该报错信息可能是由于OBS桶被设置为了DLI日志桶,而日志桶不能用于DLI的其他业务功能。您可以按以下操作步骤进行查询:检查该OBS桶是否被设置为了DLI日志桶。在DLI管理控制台的“全局配置 > 作业配置” 页查看对应OBS桶是否被设置为了DLI日志桶,日志桶不能用于DLI的其他业务功能中。在DLI管理控制台的“全局配置 > 作业配置” - [Spark作业运行大批量数据时上报作业运行超时异常错误](https://support.huaweicloud.com/dli_faq/dli_03_0157.md): 当Spark作业运行大批量数据时,如果出现作业运行超时异常错误,通常是由于作业的资源配置不足、数据倾斜、网络问题或任务过多导致的。解决方案:设置并发数:通过设置合适的并发数,可以启动多任务并行运行,从而提高作业的处理能力。例如访问DWS大批量数据库数据时设置并发数,启动多任务的方式运行,避免作业运行超时。具体并发设置可以参考对接DWS样例 - [使用Spark作业访问sftp中的文件,作业运行失败,日志显示访问目录异常](https://support.huaweicloud.com/dli_faq/dli_03_0188.md): Spark作业不支持访问sftp,建议将文件数据上传到OBS,再通过Spark作业进行读取和分析。上传数据到OBS桶:通过OBS管理控制台或者使用命令行工具将存储在sftp中的文件数据上传到OBS桶中。Spark读取OBS文件数据,详见使用Spark Jar作业读取和查询OBS数据。Spark读取OBS文件数据,详见使用Spark Jar - [执行作业的用户数据库和表权限不足导致作业运行失败](https://support.huaweicloud.com/dli_faq/dli_03_0192.md): Spark作业运行报数据库权限不足,报错信息如下:org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Permission denied for resource: d - [为什么Spark3.x的作业日志中打印找不到global_temp数据库](https://support.huaweicloud.com/dli_faq/dli_03_0272.md): Spark3.x的作业日志中提示找不到global_temp数据库。global_temp数据库是Spark3.x默认内置的数据库,是Spark的全局临时视图。通常在Spark作业执行注册viewManager时,会校验该数据库在metastore是否存在,如果该数据库存在则会导致Spark作业执行失败。因此当Spark3.x的作业日志中 - [在使用Spark2.3.x访问元数据时,DataSource语法创建avro类型的OBS表创建失败](https://support.huaweicloud.com/dli_faq/dli_03_0275.md): 使用Spark访问元数据时,DataSource语法创建avro类型的OBS表创建失败。当前Spark2.3.x不支持创建avro类型的OBS表,Spark2.4.x及以上的版本支持avro类型的OBS表。在使用DataSource语法创建avro类型的OBS表时,请选择Spark2.4.x及以上版本进行创建。 - [使用Spark3.3.1的SQL查询语句使用rand函数报错,提示“Input argument to rand must be a constant”](https://support.huaweicloud.com/dli_faq/dli_03_0278.md): 使用Spark3.3.1查询SQL语句使用rand函数报错,提示“Input argument to rand must be a constant”。rand函数报错Spark3.3.1版本中rand函数只能接受常量参数。因此请将SQL查询语句中rand函数中的参数为常量参数后再次执行。 - [使用Spark 3.3.1客户端创建view同时join查询数据写入报错,提示 Not allowed to create a permanent view](https://support.huaweicloud.com/dli_faq/dli_03_0273.md): 使用Spark 3.3.1客户端创建子查询带聚合函数的视图,在数据写入报错,提示“Not allowed to create a permanent view without explicitly assigning an alias for expression count”。为了解决不同版本视图中默认别名不一致导致schema兼容性问 - [Spark作业使用咨询](https://support.huaweicloud.com/dli_faq/dli_03_0201.md): DLI Spark不支持作业调度,用户可以通过其他服务,例如数据湖管理治理中心DataArts Studio服务进行调度,或者通过API/SDK等方式对作业进行自定义调度 。使用DataArts Studio服务进行作业开发请参考《数据治理中心用户指南》。Spark SQL语法不支持定义主键。可以访问。详细操作请参考访问DWS和访问SQL - [Spark如何将数据写入到DLI表中](https://support.huaweicloud.com/dli_faq/dli_03_0107.md): 使用Spark将数据写入到DLI表中,主要设置如下参数:fs.obs.access.keyfs.obs.secret.keyfs.obs.implfs.obs.endpoint示例如下: - [通用队列操作OBS表如何设置AK/SK](https://support.huaweicloud.com/dli_faq/dli_03_0017.md): 建议使用临时AK/SK,获取方式可参见统一身份认证服务_获取临时AK/SK。认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。获取结果为AK/SK时,设置如下:代码创建SparkContextval sc: SparkContext = new SparkConte - [如何查看DLI Spark作业的实际资源使用情况](https://support.huaweicloud.com/dli_faq/dli_03_0102.md): 登录DLI 控制台,单击左侧“作业管理”>“Spark作业”,在作业列表中找到需要查看的Spark作业,单击“作业ID”前的,即可查看对应Spark作业的原始资源配置参数。在创建Spark作业时,配置了“高级配置”中的参数,此处才会显示对应的内容。创建Spark作业请参考《创建Spark作业》。查看Spark作业实时运行资源,即查看有多少 - [将Spark作业结果存储在MySQL数据库中,缺少pymysql模块,如何使用python脚本访问MySQL数据库?](https://support.huaweicloud.com/dli_faq/dli_03_0076.md): 缺少pymysql模块,可以查看是否有对应的egg包,如果没有,在程序包管理页面上传pyFile。具体步骤参考如下:将egg包上传到指定的OBS桶路径下。登录DLI管理控制台,单击“数据管理 > 程序包管理”。在“程序包管理”页面,单击右上角“创建”可创建程序包。在“创建程序包”对话框,配置如下参数:包类型:PyFile。OBS路径:选择 - [如何在DLI中运行复杂PySpark程序?](https://support.huaweicloud.com/dli_faq/dli_03_0082.md): 数据湖探索(DLI)服务对于PySpark是原生支持的。对于数据分析来说Python是很自然的选择,而在大数据分析中PySpark无疑是不二选择。对于JVM语言系的程序,通常会把程序打成Jar包并依赖其他一些第三方的Jar,同样的Python程序也有依赖一些第三方库,尤其是基于PySpark的融合机器学习相关的大数据分析程序。传统上,通常 - [如何通过JDBC设置spark.sql.shuffle.partitions参数提高并行度](https://support.huaweicloud.com/dli_faq/dli_03_0068.md): Spark作业在执行shuffle类语句,包括group by、join等场景时,常常会出现数据倾斜的问题,导致作业任务执行缓慢。该问题可以通过设置spark.sql.shuffle.partitions提高shuffle read task的并行度来进行解决。用户可在JDBC中通过set方式设置dli.sql.shuffle.parti - [Spark jar 如何读取上传文件](https://support.huaweicloud.com/dli_faq/dli_03_0118.md): Spark可以使用SparkFiles读取 –-file中提交上来的文件的本地路径,即:SparkFiles.get("上传的文件名")。Driver中的文件路径与Executor中获取的路径位置是不一致的,所以不能将Driver中获取到的路径作为参数传给Executor去执行。Executor获取文件路径的时候,仍然需要使用SparkF - [为什么Spark 3.3.1客户端视图属性查询为空字符串](https://support.huaweicloud.com/dli_faq/dli_03_0279.md): 使用Spark 3.3.1版本执行作业,在客户端查询视图属性时,发现某些字段的默认属性值显示为空字符串,而使用Spark 3.1.1版本时返回为null。自Spark 3.3.0版本起,开源社区对CreateViewStatement语法进行了升级,调整了该语法调用接口的版本,以此来避免在查询视图属性时出现空指针异常。然而,这也导致了DE - [添加Python包后,找不到指定的Python环境](https://support.huaweicloud.com/dli_faq/dli_03_0077.md): 添加Python3包后,找不到指定的Python环境。可以通过在conf文件中,设置spark.yarn.appMasterEnv.PYSPARK_PYTHON=python3,指定计算集群环境为Python3环境。目前,新建集群环境均已默认为Python3环境。 - [为什么Spark jar 作业 一直处于“提交中”?](https://support.huaweicloud.com/dli_faq/dli_03_0220.md): Spark jar 作业 一直处于“提交中”可能是队列剩余的CU量不足导致作业无法提交。查看队列的的剩余步骤如下:查看队列CU使用量。点击“云监控服务 > 云服务监控 > 数据探索湖 > 队列监控 > 队列CU使用量” 。点击“云监控服务 > 云服务监控 > 数据探索湖 > 队列监控 > 队列CU使用量” 。计算剩余CU量。队列剩余CU量 - [Spark Jar任务使用LakeFormation元数据时报错](https://support.huaweicloud.com/dli_faq/dli_03_0281.md): 通过Spark Jar作业读写LakeFormation元数据时,作业启动时提示以下错误:field 'location' must match '^(obs|har)://.+/.+$'作业无法继续,表或库创建失败。详细错误提示信息如下:该异常表明某个数据库或表的location字段未通过LakeFormation的正则校验。defau - [Spark作业使用咨询](https://support.huaweicloud.com/dli_faq/dli_03_0201.md): DLI Spark不支持作业调度,用户可以通过其他服务,例如数据湖管理治理中心DataArts Studio服务进行调度,或者通过API/SDK等方式对作业进行自定义调度 。使用DataArts Studio服务进行作业开发请参考《数据治理中心用户指南》。Spark SQL语法不支持定义主键。可以访问。详细操作请参考访问DWS和访问SQL - [Spark如何将数据写入到DLI表中](https://support.huaweicloud.com/dli_faq/dli_03_0107.md): 使用Spark将数据写入到DLI表中,主要设置如下参数:fs.obs.access.keyfs.obs.secret.keyfs.obs.implfs.obs.endpoint示例如下: - [通用队列操作OBS表如何设置AK/SK](https://support.huaweicloud.com/dli_faq/dli_03_0017.md): 建议使用临时AK/SK,获取方式可参见统一身份认证服务_获取临时AK/SK。认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。获取结果为AK/SK时,设置如下:代码创建SparkContextval sc: SparkContext = new SparkConte - [如何查看DLI Spark作业的实际资源使用情况](https://support.huaweicloud.com/dli_faq/dli_03_0102.md): 登录DLI 控制台,单击左侧“作业管理”>“Spark作业”,在作业列表中找到需要查看的Spark作业,单击“作业ID”前的,即可查看对应Spark作业的原始资源配置参数。在创建Spark作业时,配置了“高级配置”中的参数,此处才会显示对应的内容。创建Spark作业请参考《创建Spark作业》。查看Spark作业实时运行资源,即查看有多少 - [将Spark作业结果存储在MySQL数据库中,缺少pymysql模块,如何使用python脚本访问MySQL数据库?](https://support.huaweicloud.com/dli_faq/dli_03_0076.md): 缺少pymysql模块,可以查看是否有对应的egg包,如果没有,在程序包管理页面上传pyFile。具体步骤参考如下:将egg包上传到指定的OBS桶路径下。登录DLI管理控制台,单击“数据管理 > 程序包管理”。在“程序包管理”页面,单击右上角“创建”可创建程序包。在“创建程序包”对话框,配置如下参数:包类型:PyFile。OBS路径:选择 - [如何在DLI中运行复杂PySpark程序?](https://support.huaweicloud.com/dli_faq/dli_03_0082.md): 数据湖探索(DLI)服务对于PySpark是原生支持的。对于数据分析来说Python是很自然的选择,而在大数据分析中PySpark无疑是不二选择。对于JVM语言系的程序,通常会把程序打成Jar包并依赖其他一些第三方的Jar,同样的Python程序也有依赖一些第三方库,尤其是基于PySpark的融合机器学习相关的大数据分析程序。传统上,通常 - [如何通过JDBC设置spark.sql.shuffle.partitions参数提高并行度](https://support.huaweicloud.com/dli_faq/dli_03_0068.md): Spark作业在执行shuffle类语句,包括group by、join等场景时,常常会出现数据倾斜的问题,导致作业任务执行缓慢。该问题可以通过设置spark.sql.shuffle.partitions提高shuffle read task的并行度来进行解决。用户可在JDBC中通过set方式设置dli.sql.shuffle.parti - [Spark jar 如何读取上传文件](https://support.huaweicloud.com/dli_faq/dli_03_0118.md): Spark可以使用SparkFiles读取 –-file中提交上来的文件的本地路径,即:SparkFiles.get("上传的文件名")。Driver中的文件路径与Executor中获取的路径位置是不一致的,所以不能将Driver中获取到的路径作为参数传给Executor去执行。Executor获取文件路径的时候,仍然需要使用SparkF - [为什么Spark 3.3.1客户端视图属性查询为空字符串](https://support.huaweicloud.com/dli_faq/dli_03_0279.md): 使用Spark 3.3.1版本执行作业,在客户端查询视图属性时,发现某些字段的默认属性值显示为空字符串,而使用Spark 3.1.1版本时返回为null。自Spark 3.3.0版本起,开源社区对CreateViewStatement语法进行了升级,调整了该语法调用接口的版本,以此来避免在查询视图属性时出现空指针异常。然而,这也导致了DE - [添加Python包后,找不到指定的Python环境](https://support.huaweicloud.com/dli_faq/dli_03_0077.md): 添加Python3包后,找不到指定的Python环境。可以通过在conf文件中,设置spark.yarn.appMasterEnv.PYSPARK_PYTHON=python3,指定计算集群环境为Python3环境。目前,新建集群环境均已默认为Python3环境。 - [为什么Spark jar 作业 一直处于“提交中”?](https://support.huaweicloud.com/dli_faq/dli_03_0220.md): Spark jar 作业 一直处于“提交中”可能是队列剩余的CU量不足导致作业无法提交。查看队列的的剩余步骤如下:查看队列CU使用量。点击“云监控服务 > 云服务监控 > 数据探索湖 > 队列监控 > 队列CU使用量” 。点击“云监控服务 > 云服务监控 > 数据探索湖 > 队列监控 > 队列CU使用量” 。计算剩余CU量。队列剩余CU量 - [Spark Jar任务使用LakeFormation元数据时报错](https://support.huaweicloud.com/dli_faq/dli_03_0281.md): 通过Spark Jar作业读写LakeFormation元数据时,作业启动时提示以下错误:field 'location' must match '^(obs|har)://.+/.+$'作业无法继续,表或库创建失败。详细错误提示信息如下:该异常表明某个数据库或表的location字段未通过LakeFormation的正则校验。defau - [运行Spark作业报java.lang.AbstractMethodError](https://support.huaweicloud.com/dli_faq/dli_03_0023.md): Spark 2.3对内部接口Logging做了行为变更,如果用户代码里直接继承了该Logging,且编译时使用的是低版本的Spark,那么应用程序在Spark 2.3的环境中运行将会报java.lang.AbstractMethodError。解决措施有如下两种方案:基于Spark 2.3重新编译应用使用sl4j+log4j来实现日志功能 - [Spark作业访问OBS数据时报ResponseCode: 403和ResponseStatus: Forbidden错误](https://support.huaweicloud.com/dli_faq/dli_03_0156.md): Spark程序访问OBS数据时上报如下错误。Spark程序访问OBS数据时,需要通过配置AK、SK的访问进行访问。具体访问方式可以参考:通用队列操作OBS表如何设置AK/SK。 - [有访问OBS对应的桶的权限,但是Spark作业访问时报错 verifyBucketExists on XXXX: status [403]](https://support.huaweicloud.com/dli_faq/dli_03_0164.md): 该报错信息可能是由于OBS桶被设置为了DLI日志桶,而日志桶不能用于DLI的其他业务功能。您可以按以下操作步骤进行查询:检查该OBS桶是否被设置为了DLI日志桶。在DLI管理控制台的“全局配置 > 作业配置” 页查看对应OBS桶是否被设置为了DLI日志桶,日志桶不能用于DLI的其他业务功能中。在DLI管理控制台的“全局配置 > 作业配置” - [Spark作业运行大批量数据时上报作业运行超时异常错误](https://support.huaweicloud.com/dli_faq/dli_03_0157.md): 当Spark作业运行大批量数据时,如果出现作业运行超时异常错误,通常是由于作业的资源配置不足、数据倾斜、网络问题或任务过多导致的。解决方案:设置并发数:通过设置合适的并发数,可以启动多任务并行运行,从而提高作业的处理能力。例如访问DWS大批量数据库数据时设置并发数,启动多任务的方式运行,避免作业运行超时。具体并发设置可以参考对接DWS样例 - [使用Spark作业访问sftp中的文件,作业运行失败,日志显示访问目录异常](https://support.huaweicloud.com/dli_faq/dli_03_0188.md): Spark作业不支持访问sftp,建议将文件数据上传到OBS,再通过Spark作业进行读取和分析。上传数据到OBS桶:通过OBS管理控制台或者使用命令行工具将存储在sftp中的文件数据上传到OBS桶中。Spark读取OBS文件数据,详见使用Spark Jar作业读取和查询OBS数据。Spark读取OBS文件数据,详见使用Spark Jar - [执行作业的用户数据库和表权限不足导致作业运行失败](https://support.huaweicloud.com/dli_faq/dli_03_0192.md): Spark作业运行报数据库权限不足,报错信息如下:org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Permission denied for resource: d - [为什么Spark3.x的作业日志中打印找不到global_temp数据库](https://support.huaweicloud.com/dli_faq/dli_03_0272.md): Spark3.x的作业日志中提示找不到global_temp数据库。global_temp数据库是Spark3.x默认内置的数据库,是Spark的全局临时视图。通常在Spark作业执行注册viewManager时,会校验该数据库在metastore是否存在,如果该数据库存在则会导致Spark作业执行失败。因此当Spark3.x的作业日志中 - [在使用Spark2.3.x访问元数据时,DataSource语法创建avro类型的OBS表创建失败](https://support.huaweicloud.com/dli_faq/dli_03_0275.md): 使用Spark访问元数据时,DataSource语法创建avro类型的OBS表创建失败。当前Spark2.3.x不支持创建avro类型的OBS表,Spark2.4.x及以上的版本支持avro类型的OBS表。在使用DataSource语法创建avro类型的OBS表时,请选择Spark2.4.x及以上版本进行创建。 - [使用Spark3.3.1的SQL查询语句使用rand函数报错,提示“Input argument to rand must be a constant”](https://support.huaweicloud.com/dli_faq/dli_03_0278.md): 使用Spark3.3.1查询SQL语句使用rand函数报错,提示“Input argument to rand must be a constant”。rand函数报错Spark3.3.1版本中rand函数只能接受常量参数。因此请将SQL查询语句中rand函数中的参数为常量参数后再次执行。 - [使用Spark 3.3.1客户端创建view同时join查询数据写入报错,提示 Not allowed to create a permanent view](https://support.huaweicloud.com/dli_faq/dli_03_0273.md): 使用Spark 3.3.1客户端创建子查询带聚合函数的视图,在数据写入报错,提示“Not allowed to create a permanent view without explicitly assigning an alias for expression count”。为了解决不同版本视图中默认别名不一致导致schema兼容性问 - [运行Spark作业报java.lang.AbstractMethodError](https://support.huaweicloud.com/dli_faq/dli_03_0023.md): Spark 2.3对内部接口Logging做了行为变更,如果用户代码里直接继承了该Logging,且编译时使用的是低版本的Spark,那么应用程序在Spark 2.3的环境中运行将会报java.lang.AbstractMethodError。解决措施有如下两种方案:基于Spark 2.3重新编译应用使用sl4j+log4j来实现日志功能 - [Spark作业访问OBS数据时报ResponseCode: 403和ResponseStatus: Forbidden错误](https://support.huaweicloud.com/dli_faq/dli_03_0156.md): Spark程序访问OBS数据时上报如下错误。Spark程序访问OBS数据时,需要通过配置AK、SK的访问进行访问。具体访问方式可以参考:通用队列操作OBS表如何设置AK/SK。 - [有访问OBS对应的桶的权限,但是Spark作业访问时报错 verifyBucketExists on XXXX: status [403]](https://support.huaweicloud.com/dli_faq/dli_03_0164.md): 该报错信息可能是由于OBS桶被设置为了DLI日志桶,而日志桶不能用于DLI的其他业务功能。您可以按以下操作步骤进行查询:检查该OBS桶是否被设置为了DLI日志桶。在DLI管理控制台的“全局配置 > 作业配置” 页查看对应OBS桶是否被设置为了DLI日志桶,日志桶不能用于DLI的其他业务功能中。在DLI管理控制台的“全局配置 > 作业配置” - [Spark作业运行大批量数据时上报作业运行超时异常错误](https://support.huaweicloud.com/dli_faq/dli_03_0157.md): 当Spark作业运行大批量数据时,如果出现作业运行超时异常错误,通常是由于作业的资源配置不足、数据倾斜、网络问题或任务过多导致的。解决方案:设置并发数:通过设置合适的并发数,可以启动多任务并行运行,从而提高作业的处理能力。例如访问DWS大批量数据库数据时设置并发数,启动多任务的方式运行,避免作业运行超时。具体并发设置可以参考对接DWS样例 - [使用Spark作业访问sftp中的文件,作业运行失败,日志显示访问目录异常](https://support.huaweicloud.com/dli_faq/dli_03_0188.md): Spark作业不支持访问sftp,建议将文件数据上传到OBS,再通过Spark作业进行读取和分析。上传数据到OBS桶:通过OBS管理控制台或者使用命令行工具将存储在sftp中的文件数据上传到OBS桶中。Spark读取OBS文件数据,详见使用Spark Jar作业读取和查询OBS数据。Spark读取OBS文件数据,详见使用Spark Jar - [执行作业的用户数据库和表权限不足导致作业运行失败](https://support.huaweicloud.com/dli_faq/dli_03_0192.md): Spark作业运行报数据库权限不足,报错信息如下:org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Permission denied for resource: d - [为什么Spark3.x的作业日志中打印找不到global_temp数据库](https://support.huaweicloud.com/dli_faq/dli_03_0272.md): Spark3.x的作业日志中提示找不到global_temp数据库。global_temp数据库是Spark3.x默认内置的数据库,是Spark的全局临时视图。通常在Spark作业执行注册viewManager时,会校验该数据库在metastore是否存在,如果该数据库存在则会导致Spark作业执行失败。因此当Spark3.x的作业日志中 - [在使用Spark2.3.x访问元数据时,DataSource语法创建avro类型的OBS表创建失败](https://support.huaweicloud.com/dli_faq/dli_03_0275.md): 使用Spark访问元数据时,DataSource语法创建avro类型的OBS表创建失败。当前Spark2.3.x不支持创建avro类型的OBS表,Spark2.4.x及以上的版本支持avro类型的OBS表。在使用DataSource语法创建avro类型的OBS表时,请选择Spark2.4.x及以上版本进行创建。 - [使用Spark3.3.1的SQL查询语句使用rand函数报错,提示“Input argument to rand must be a constant”](https://support.huaweicloud.com/dli_faq/dli_03_0278.md): 使用Spark3.3.1查询SQL语句使用rand函数报错,提示“Input argument to rand must be a constant”。rand函数报错Spark3.3.1版本中rand函数只能接受常量参数。因此请将SQL查询语句中rand函数中的参数为常量参数后再次执行。 - [使用Spark 3.3.1客户端创建view同时join查询数据写入报错,提示 Not allowed to create a permanent view](https://support.huaweicloud.com/dli_faq/dli_03_0273.md): 使用Spark 3.3.1客户端创建子查询带聚合函数的视图,在数据写入报错,提示“Not allowed to create a permanent view without explicitly assigning an alias for expression count”。为了解决不同版本视图中默认别名不一致导致schema兼容性问 - [什么是用户配额?](https://support.huaweicloud.com/dli_faq/dli_03_0030.md): 配额是指云平台预先设定的资源使用限制,包括资源数量和容量等。设置配额是为了确保资源合理的分配和使用,避免资源过度集中和资源浪费。如果资源配额限制满足不了用户的使用需求,可以通过工单系统来提交您的申请,并告知您申请提高配额的理由。在通过审理之后,系统会更新您的配额并进行通知。关于配额的具体操作说明,请参见关于配额。 - [怎样查看我的配额](https://support.huaweicloud.com/dli_faq/dli_03_0031.md): 登录管理控制台。单击管理控制台左上角的,选择区域和项目。在页面右上角,选择“资源 > 我的配额”。系统进入“服务配额”页面。我的配额系统进入“服务配额”页面。您可以在“服务配额”页面,查看各项资源的总配额及使用情况。如果当前配额不能满足业务要求,请参考后续操作,申请扩大配额。如果当前配额不能满足业务要求,请参考后续操作,申请扩大配额。 - [如何申请扩大配额](https://support.huaweicloud.com/dli_faq/dli_03_0032.md): 登录管理控制台。在页面右上角,选择“资源 > 我的配额”。系统进入“服务配额”页面。系统进入“服务配额”页面。单击“申请扩大配额”。在“新建工单”页面,根据您的需求,填写相关参数。其中,“问题描述”项请填写需要调整的内容和申请原因。其中,“问题描述”项请填写需要调整的内容和申请原因。填写完毕后,勾选协议并单击“提交”。 - [什么是用户配额?](https://support.huaweicloud.com/dli_faq/dli_03_0030.md): 配额是指云平台预先设定的资源使用限制,包括资源数量和容量等。设置配额是为了确保资源合理的分配和使用,避免资源过度集中和资源浪费。如果资源配额限制满足不了用户的使用需求,可以通过工单系统来提交您的申请,并告知您申请提高配额的理由。在通过审理之后,系统会更新您的配额并进行通知。关于配额的具体操作说明,请参见关于配额。 - [怎样查看我的配额](https://support.huaweicloud.com/dli_faq/dli_03_0031.md): 登录管理控制台。单击管理控制台左上角的,选择区域和项目。在页面右上角,选择“资源 > 我的配额”。系统进入“服务配额”页面。我的配额系统进入“服务配额”页面。您可以在“服务配额”页面,查看各项资源的总配额及使用情况。如果当前配额不能满足业务要求,请参考后续操作,申请扩大配额。如果当前配额不能满足业务要求,请参考后续操作,申请扩大配额。 - [如何申请扩大配额](https://support.huaweicloud.com/dli_faq/dli_03_0032.md): 登录管理控制台。在页面右上角,选择“资源 > 我的配额”。系统进入“服务配额”页面。系统进入“服务配额”页面。单击“申请扩大配额”。在“新建工单”页面,根据您的需求,填写相关参数。其中,“问题描述”项请填写需要调整的内容和申请原因。其中,“问题描述”项请填写需要调整的内容和申请原因。填写完毕后,勾选协议并单击“提交”。 - [什么是DLI分区表的列赋权?](https://support.huaweicloud.com/dli_faq/dli_03_0008.md): 用户无法对分区表的分区列进行权限操作。当用户对分区表的任意一列非分区列有权限,则默认对分区列有权限。当查看用户在分区表上的权限的时候,不会显示对分区列有权限。 - [更新程序包时提示权限不足怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0195.md): 在程序包管理下,对已经存在的程序包进行更新操作时,提示如下报错信息:"error_code"*DLI.0003","error_msg":"Permission denied for resource ‘resources. xxx', User = 'xxx', Action = "UPDATE_RESOURCE'."需要给执行作业的用 - [执行SQL查询语句报错:DLI.0003: Permission denied for resource....](https://support.huaweicloud.com/dli_faq/dli_03_0227.md): 执行SQL查询语句,提示没有对应资源查询权限。报错信息:DLI.0003: Permission denied for resource 'databases.dli_test.tables.test.columns.col1', User = '{UserName}', Action = 'SELECT'.出现该问题的原因是由于当前用户 - [已经给表授权,但是提示无法查询怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0228.md): 已经给表授权,且测试查询成功,但一段时间后重试报错无法查询,此时应先检查当前表的权限是否还存在,检查权限是否仍然存在:如用户权限被取消则可能导致提示权限缺失无法查询表数据。如用户权限被取消则可能导致提示权限缺失无法查询表数据。查看表的创建时间:查看表是否被他人删除重建,删除表后重建的相同表名并不视作同一张表,不会继承删除表的权限。查看表是 - [表继承数据库权限后,对表重复赋予已继承的权限会报错吗?](https://support.huaweicloud.com/dli_faq/dli_03_0057.md): 当表继承了数据库的权限时,无需重复对表赋予已继承的权限。因为继承的权限已经足够使用,重复授权还可能导致表权限管理上的混乱。在控制台操作表权限时:如果“用户授权”赋予表的权限与继承权限相同,系统会提示已有该权限无需重复操作。通过“项目授权”赋予的权限与继承权限相同时,系统不再向您提醒重复的权限信息。 - [为什么已有View视图的select权限,但是查询不了View?](https://support.huaweicloud.com/dli_faq/dli_03_0067.md): 用户A创建了表Table1。用户B基于Table1创建了视图View1。赋予用户C Table1的查询表权限后,用户C查询View失败。用户A具备的权限:Table1的管理员权限。用户B具备的权限:View1的管理员权限。用户C具备的权限:Table1的查询表权限。不同版本的Spark引擎对View表的权限要求不同:Spark2.4.x: - [提交作业时提示作业桶权限不足怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0225.md): 已经配置DLI作业桶,且完成Flink桶授权后在提交作业时仍然提示桶未授权怎么办?使用DLI作业桶需要确保已完成DLI作业桶的权限配置。您需要在OBS管理控制台中检查DLI作业桶的桶策略,确保策略中包含了允许DLI服务进行必要操作的授权信息。确保没有任何策略明确拒绝了DLI服务对桶的访问。IAM策略是优先考虑拒绝(deny)权限的,即使有 - [提示OBS Bucket没有授权怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0045.md): DLI更新委托后,将原有的dli_admin_agency升级为dli_management_agency。dli_management_agency包含跨源操作、消息通知、用户授权操作所需的权限,除此之外的其他委托权限需求,都需自定义DLI委托。授权DLI读写OBS的权限并不包含在的DLI委托dli_management_agency中 - [什么是DLI分区表的列赋权?](https://support.huaweicloud.com/dli_faq/dli_03_0008.md): 用户无法对分区表的分区列进行权限操作。当用户对分区表的任意一列非分区列有权限,则默认对分区列有权限。当查看用户在分区表上的权限的时候,不会显示对分区列有权限。 - [更新程序包时提示权限不足怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0195.md): 在程序包管理下,对已经存在的程序包进行更新操作时,提示如下报错信息:"error_code"*DLI.0003","error_msg":"Permission denied for resource ‘resources. xxx', User = 'xxx', Action = "UPDATE_RESOURCE'."需要给执行作业的用 - [执行SQL查询语句报错:DLI.0003: Permission denied for resource....](https://support.huaweicloud.com/dli_faq/dli_03_0227.md): 执行SQL查询语句,提示没有对应资源查询权限。报错信息:DLI.0003: Permission denied for resource 'databases.dli_test.tables.test.columns.col1', User = '{UserName}', Action = 'SELECT'.出现该问题的原因是由于当前用户 - [已经给表授权,但是提示无法查询怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0228.md): 已经给表授权,且测试查询成功,但一段时间后重试报错无法查询,此时应先检查当前表的权限是否还存在,检查权限是否仍然存在:如用户权限被取消则可能导致提示权限缺失无法查询表数据。如用户权限被取消则可能导致提示权限缺失无法查询表数据。查看表的创建时间:查看表是否被他人删除重建,删除表后重建的相同表名并不视作同一张表,不会继承删除表的权限。查看表是 - [表继承数据库权限后,对表重复赋予已继承的权限会报错吗?](https://support.huaweicloud.com/dli_faq/dli_03_0057.md): 当表继承了数据库的权限时,无需重复对表赋予已继承的权限。因为继承的权限已经足够使用,重复授权还可能导致表权限管理上的混乱。在控制台操作表权限时:如果“用户授权”赋予表的权限与继承权限相同,系统会提示已有该权限无需重复操作。通过“项目授权”赋予的权限与继承权限相同时,系统不再向您提醒重复的权限信息。 - [为什么已有View视图的select权限,但是查询不了View?](https://support.huaweicloud.com/dli_faq/dli_03_0067.md): 用户A创建了表Table1。用户B基于Table1创建了视图View1。赋予用户C Table1的查询表权限后,用户C查询View失败。用户A具备的权限:Table1的管理员权限。用户B具备的权限:View1的管理员权限。用户C具备的权限:Table1的查询表权限。不同版本的Spark引擎对View表的权限要求不同:Spark2.4.x: - [提交作业时提示作业桶权限不足怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0225.md): 已经配置DLI作业桶,且完成Flink桶授权后在提交作业时仍然提示桶未授权怎么办?使用DLI作业桶需要确保已完成DLI作业桶的权限配置。您需要在OBS管理控制台中检查DLI作业桶的桶策略,确保策略中包含了允许DLI服务进行必要操作的授权信息。确保没有任何策略明确拒绝了DLI服务对桶的访问。IAM策略是优先考虑拒绝(deny)权限的,即使有 - [提示OBS Bucket没有授权怎么办?](https://support.huaweicloud.com/dli_faq/dli_03_0045.md): DLI更新委托后,将原有的dli_admin_agency升级为dli_management_agency。dli_management_agency包含跨源操作、消息通知、用户授权操作所需的权限,除此之外的其他委托权限需求,都需自定义DLI委托。授权DLI读写OBS的权限并不包含在的DLI委托dli_management_agency中 - [如何获取AK/SK?](https://support.huaweicloud.com/dli_faq/dli_03_0033.md): 访问密钥即AK/SK(Access Key ID/Secret Access Key),表示一组密钥对,用于验证调用API发起请求的访问者身份,与密码的功能相似。用户通过调用API接口进行云资源管理(如创建集群)时,需要使用成对的AK/SK进行加密签名,确保请求的机密性、完整性和请求双方身份的正确性。获取AK/SK操作步骤如下:注册并登录 - [如何获取项目ID?](https://support.huaweicloud.com/dli_faq/dli_03_0034.md): 项目ID是系统所在区域的ID。用户在调用API接口进行云资源管理(如创建集群)时,需要提供项目ID。查看项目ID步骤如下:注册并登录华为云管理控制台。将鼠标移动到右上角用户名上,在下拉列表中单击我的凭证。在我的凭证页面的项目列表中查看项目ID。例如project_id:"5a3314075bfa49b9ae360f4ecd333695"。 - [提交SQL作业时,返回“unsupported media Type”信息](https://support.huaweicloud.com/dli_faq/dli_03_0060.md): 在DLI提供的REST API中,可以在请求URI中附加请求消息头,例如:Content-Type。“Content-Type”为消息体的类型(格式),默认取值为“application/json”。提交SQL作业的URI为:POST /v1.0/{project_id}/jobs/submit-job其“Content-Type”只支持 - [创建SQL作业的API执行超过时间限制,运行超时报错](https://support.huaweicloud.com/dli_faq/dli_03_0178.md): DLI上调用“提交SQL作业”API运行超时,报如下错误信息:There are currently no resources tracked in the state, so there is nothing to refresh.API以同步模式调用运行时会有两分钟的超时时间限制,如果API调用超过该时间限制则会超时报错。调用“提交S - [API接口返回的中文字符为乱码,如何解决?](https://support.huaweicloud.com/dli_faq/dli_03_0194.md): 当API接口返回的中文字符出现乱码时,通常是因为字符编码格式不匹配。DLI接口返回的结果编码格式为“UTF-8”,在调用接口获取返回结果时需要对返回的信息编码转换为“UTF-8”。例如,参考如下实现对返回的response.content内容做编码格式转换,确保返回的中文格式不会乱码。print(response.content.deco - [如何获取AK/SK?](https://support.huaweicloud.com/dli_faq/dli_03_0033.md): 访问密钥即AK/SK(Access Key ID/Secret Access Key),表示一组密钥对,用于验证调用API发起请求的访问者身份,与密码的功能相似。用户通过调用API接口进行云资源管理(如创建集群)时,需要使用成对的AK/SK进行加密签名,确保请求的机密性、完整性和请求双方身份的正确性。获取AK/SK操作步骤如下:注册并登录 - [如何获取项目ID?](https://support.huaweicloud.com/dli_faq/dli_03_0034.md): 项目ID是系统所在区域的ID。用户在调用API接口进行云资源管理(如创建集群)时,需要提供项目ID。查看项目ID步骤如下:注册并登录华为云管理控制台。将鼠标移动到右上角用户名上,在下拉列表中单击我的凭证。在我的凭证页面的项目列表中查看项目ID。例如project_id:"5a3314075bfa49b9ae360f4ecd333695"。 - [提交SQL作业时,返回“unsupported media Type”信息](https://support.huaweicloud.com/dli_faq/dli_03_0060.md): 在DLI提供的REST API中,可以在请求URI中附加请求消息头,例如:Content-Type。“Content-Type”为消息体的类型(格式),默认取值为“application/json”。提交SQL作业的URI为:POST /v1.0/{project_id}/jobs/submit-job其“Content-Type”只支持 - [创建SQL作业的API执行超过时间限制,运行超时报错](https://support.huaweicloud.com/dli_faq/dli_03_0178.md): DLI上调用“提交SQL作业”API运行超时,报如下错误信息:There are currently no resources tracked in the state, so there is nothing to refresh.API以同步模式调用运行时会有两分钟的超时时间限制,如果API调用超过该时间限制则会超时报错。调用“提交S - [API接口返回的中文字符为乱码,如何解决?](https://support.huaweicloud.com/dli_faq/dli_03_0194.md): 当API接口返回的中文字符出现乱码时,通常是因为字符编码格式不匹配。DLI接口返回的结果编码格式为“UTF-8”,在调用接口获取返回结果时需要对返回的信息编码转换为“UTF-8”。例如,参考如下实现对返回的response.content内容做编码格式转换,确保返回的中文格式不会乱码。print(response.content.deco