华为云用户手册

  • 病毒查杀 病毒查杀功能支持检测服务器中的病毒文件,可帮助用户清理潜在的恶意威胁。 表15 病毒查杀功能介绍 服务功能 功能概述 基础版 专业版 企业版 旗舰版 网页防篡改版 容器版 病毒查杀 病毒查杀功能使用特征病毒检测引擎,支持扫描服务器中的病毒文件,扫描文件类型覆盖可执行文件、压缩文件、脚本文件、文档、图片、音视频文件,用户可根据自身需要,自主对服务器执行“快速查杀”、“全盘查杀”、“自定义查杀”扫描任务,并及时处置检测到的病毒文件,增强业务系统的病毒防御能力。 支持的操作系统:Linux、Windows。 检测周期:手动检测。 × √(仅支持快速查杀) √ √ √ √
  • 网页防篡改 网页防篡改实时检测并拦截篡改指定目录下文件的行为,并可快速获取备份的合法文件恢复被篡改的文件,从而保护网站的网页、电子文档、图片等文件不被黑客篡改和破坏。 表11 网页防篡改功能介绍 功能名称 功能概述 基础版 专业版 企业版 旗舰版 网页防篡改版 容器版 静态网页防篡改 防止网站服务器中的静态网页文件被篡改。 支持的操作系统:Linux、Windows。 检测周期:实时检测。 × × × × √ × 动态网页防篡改 为Tomcat提供动态网页防篡改能力,防止网站数据库中动态网页内容被篡改。 支持的操作系统:Linux。 检测周期:实时检测。 × × × × √ ×
  • 应用进程控制 应用进程控制功能支持检测并告警恶意进程运行,帮助用户构建安全的应用进程运行环境。 表13 应用进程控制功能介绍 服务功能 功能概述 基础版 专业版 企业版 旗舰版 网页防篡改版 容器版 应用进程控制 支持管控服务器中应用进程的运行,通过学习服务器运行的应用进程特征,将应用进程划分为可信进程、恶意进程和可疑进程,允许可疑、可信进程正常运行,对恶意进程运行进行告警,帮助用户构建安全的应用进程运行环境,避免服务器遭受不受信或恶意应用进程的破坏。 支持的操作系统:Linux、Windows。 检测周期:实时检测。 × × × √ √ √
  • 勒索病毒防护 勒索病毒防护支持自定义勒索防护策略,帮助您识别检测已知勒索病毒攻击,支持通过静态、动态诱饵识别部分未知的勒索攻击。 表12 勒索病毒防护功能介绍 服务功能 功能概述 基础版 专业版 企业版 旗舰版 网页防篡改版 容器版 勒索病毒防护 帮助您识别检测已知勒索病毒攻击,支持通过静态、动态诱饵识别部分未知的勒索攻击。 支持的操作系统:Linux、Windows。 检测周期:实时检测。 × × × √ √ √
  • 漏洞管理 漏洞管理支持检测主机中的Linux软件漏洞、Windows系统漏洞、Web-CMS漏洞、应用漏洞和应急漏洞,帮助用户识别潜在风险。 表7 漏洞管理功能介绍 功能名称 功能概述 基础版 专业版 企业版 旗舰版 网页防篡改版 容器版 Linux漏洞检测 通过与漏洞库进行比对,检测主机的Linux操作系统官方维护的软件(非绿色版、非自行编译安装版;例如:kernel、openssl、vim、glibc等)存在的漏洞。 支持的操作系统:Linux。 检测周期:自动扫描(默认每日自动扫描)、定时扫描(默认每周一次,基础版不支持)、手动扫描(基础版不支持)。 √ √ √ √ √ √ Windows漏洞检测 通过同步微软官方的补丁公告,检测主机的Windows操作系统存在的漏洞。 支持的操作系统:Windows。 检测周期:自动扫描(默认每日自动扫描)、定时扫描(默认每周一次,基础版不支持)、手动扫描(基础版不支持)。 √ √ √ √ √ × Web-CMS漏洞检测 通过对主机中的Web目录和文件进行检测,识别Web-CMS漏洞,提升Web服务安全性。 支持的操作系统:Linux、Windows。 检测周期:自动扫描(默认每日自动扫描)、定时扫描(默认每周一次)、手动扫描。 × √ √ √ √ √ 应用漏洞检测 检测主机中开源的jar包、elf文件等的漏洞,比如log4j、spring-core的漏洞。 支持的操作系统:Linux、Windows。 检测周期:自动扫描(默认每周一自动扫描)、定时扫描(默认每周一次)、手动扫描。 × × √ √ √ √ 应急漏洞检测 通过软件版本比对和POC验证的方式,检测主机上运行的软件和依赖包是否存在漏洞,将存在风险的漏洞上报至控制台,并给您提供漏洞告警。 支持的操作系统:Linux。 检测周期:定时扫描(需要手动配置开启)、手动扫描。 × √ √ √ √ √
  • 容器镜像安全 容器镜像安全支持扫描镜像仓库与正在运行的容器镜像,发现镜像中的漏洞、恶意文件等并给出修复建议,帮助用户得到一个安全的镜像。 表9 容器镜像安全功能介绍 功能名称 功能概述 基础版 专业版 企业版 旗舰版 网页防篡改版 容器版 SWR镜像仓库漏洞 通过与漏洞库进行比对,检测SWR镜像仓库存在的系统漏洞、应用漏洞,对当前镜像中存在的漏洞进行提醒。 支持的操作系统:Linux。 检测周期:手动检测。 × × × × × √ 镜像恶意文件 检测镜像是否携带恶意文件(Trojan、Worm、Virus病毒和Adware垃圾软件等),帮助用户识别出存在的风险。 支持的操作系统:Linux。 检测周期:实时检测。 × × × × × √
  • 基线检查 基线检查支持扫描主机系统和关键软件含有风险的配置、弱口令、口令复杂度策略,支持的检测基线包含安全实践和等保合规基线,且可自定义选择检测的子基线项、修复漏洞风险。 表8 基线检查功能介绍 功能名称 功能概述 基础版 专业版 企业版 旗舰版 网页防篡改版 容器版 口令复杂度策略检测 检测系统中的口令复杂度策略,给出修改建议,帮助用户提升口令安全性。 支持检测的操作系统:Linux。 检测周期:每日凌晨自动检测、手动检测。 √ √ √ √ √ √ 经典弱口令检测 检测系统账户口令是否属于常用的弱口令,针对弱口令提示用户修改。 支持检测的操作系统:Linux、Windows。 检测周期:每日凌晨自动检测、手动检测。 √ √ √ √ √ √ 配置检查 对常见的Tomcat配置、Nginx配置、SSH登录配置进行检查,帮助用户识别不安全的配置项。 支持检测的操作系统:Linux、Windows。 检测周期:每日凌晨自动检测、手动检测。 × × √ √ √ √
  • 应用防护 应用防护为运行时的应用提供安全防御。您无需修改应用程序文件,只需将探针注入到应用程序,即可为应用提供强大的安全防护能力。当前只支持操作系统为Linux的服务器,且仅支持Java应用接入。 表10 应用防护功能介绍 功能名称 功能概述 基础版 专业版 企业版 旗舰版 网页防篡改版 容器版 SQL注入 检测防御SQL注入(SQL Injection)攻击,检测web应用是否存在对应漏洞。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ OS命令注入 检测防御远程OS命令注入(OS Command Injection)攻击,同时检测web应用是否存在对应漏洞。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ XSS 检测防御存储型跨站脚本(Cross-Site Scripting,XSS)注入攻击。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ Log4jRCE漏洞检测 检测防御远程代码执行的控制攻击,并支持对攻击行为进行阻和拦截。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ 上传Webshell 检测防御上传危险文件的攻击或将已有文件改名为危险文件扩展名的攻击,同时检测web应用是否存在对应漏洞。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ XML External Entity Injection 检测防御XXE注入(XML External Entity Injection)攻击,检测web应用是否存在对应漏洞。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ 反序列化输入 检测使用了危险类的反序列化攻击。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ 文件目录遍历 获取访问文件的路径或目录,匹配是否在敏感目录或敏感文件下。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ Struts2 OGNL OGNL代码执行检测。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ JSP执行操作系统命令 检测可疑行为——通过JSP请求执行操作系统命令。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ JSP删除文件 检测可疑行为——通过JSP请求删除文件失败。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ 数据库连接异常 检测可疑异常——数据库连接抛出的认证和通讯异常。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ 0 day漏洞检测 检测执行命令的堆栈哈希是否在Web应用的白名单堆栈哈希表里。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ SecurityManager权限检测异常 检测可疑异常,即SecurityManager抛出的异常。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ JNDI注入 检测防御JNDI注入攻击,检测web应用是否存在对应漏洞。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √ 表达式(Expression)注入 检测防御表达式注入攻击,检测web应用是否存在对应漏洞。 支持的操作系统:Linux。 检测周期:实时检测。 × × × √ √ √
  • 容器指纹 容器指纹功能支持采集容器中的账号、端口、进程、集群、服务和工作负载等资产信息等,用户通过容器指纹功能集中清点容器中的各类资产信息,及时发现风险资产。 表6 资产指纹功能介绍 功能名称 功能概述 基础版 专业版 企业版 旗舰版 网页防篡改版 容器版 账号 检测的容器系统中的账号信息,帮助用户进行账户安全性管理。 支持的操作系统:Linux。 检测周期:每小时自动检测。 × × × × × √ 开放端口 检测容器系统中的开放的端口,帮助用户识别出其中的危险端口和未知端口。 支持的操作系统:Linux。 检测周期:每30秒自动检测。 × × × × × √ 进程 监测运行中的进程并进行收集及呈现,便于用户自主清点合法进程,发现异常进程。 支持的操作系统:Linux。 检测周期:每小时自动检测。 × × × × × √ 软件 监测并记录当前容器系统安装的软件信息,帮助用户清点软件资产,识别不安全的软件版本。 支持的操作系统:Linux。 检测周期:每日自动检测。 × × × × × √ 自启动项 对容器系统中的自启动项进行检测,及时统计自启动项的变更情况。 支持的操作系统:Linux。 检测周期:每小时自动检测。 × × × × × √ Web应用 Web应用主要统计、展示推送发布web内容的软件详细信息,您可以查看所有软件的版本、路径、配置文件、关键进程等信息。 支持的操作系统:Linux。 检测周期:1次/周(每周一凌晨04:10)。 × × × × × √ Web服务 统计、展示对外提供web内容访问的软件详细信息,您可查看所有软件的版本、路径、配置文件、关联进程等信息。 支持的操作系统:Linux。 检测周期:1次/周(每周一凌晨04:10)。 × × × × × √ Web框架 统计、展示Web内容对外呈现时所使用框架的详细信息,您可查看所有框架的版本、路径、关联进程等信息。 支持的操作系统:Linux。 检测周期:1次/周(每周一凌晨04:10)。 × × × × × √ Web站点 统计、展示存放Web内容的目录及对外提供访问的站点信息,您可以查看所有目录及权限、以及和站点所关联访问路径、对外端口、关键进程等信息。 支持的操作系统:Linux。 检测周期:1次/周(每周一凌晨04:10)。 × × × × × √ 中间件 统计、展示所使用到的所有软件信息,您可查看所有中间件所关联的服务器、版本号、路径、关联进程等信息。 支持的操作系统:Linux。 检测周期:1次/周(每周一凌晨04:10)。 × × × × × √ 数据库 统计、展示提供数据存储的软件详细信息,您可以查看所有软件的版本、路径、配置文件、关键进程等信息; 支持的操作系统:Linux。 检测周期:1次/周(每周一凌晨04:10)。 × × × × × √ 集群列表 统计、展示集群的详细信息,您可以查看所有集群的类型、节点、版本、状态等信息。 支持的操作系统:Linux。 检测周期:手动检测。 × × × × × √ 服务 统计、展示服务和断点的详细信息,您可以查看所有服务的命名空间、所属集群等信息。 支持的操作系统:Linux。 检测周期:手动检测。 × × × × × √ 工作负载 统计、展示工作负载(有状态负载、无状态负载、守护进程集、普通任务、定时任务、容器组)的详细信息,您可以查看所有工作负载的状态、实例个数、命名空间等信息。 支持的操作系统:Linux。 检测周期:手动检测。 × × × × × √ 容器实例 统计、展示容器实例的详细信息,您可以查看所有容器实例的状态、所属POD、所属集群等信息。 支持的操作系统:Linux。 检测周期:手动检测。 × × × × × √
  • 主机指纹 主机指纹功能支持采集主机中的端口、进程、Web应用、Web服务、Web框架和自启动项等资产信息,用户通过主机指纹功能集中清点主机中的各类资产信息,及时发现风险资产。 表5 主机指纹功能介绍 功能名称 功能概述 基础版 专业版 企业版 旗舰版 网页防篡改版 容器版 账号 检测当前系统的账号信息,帮助用户进行账户安全性管理。 支持的操作系统:Linux、Windows。 检测周期:每小时自动检测。 × × √ √ √ √ 开放端口 检测当前系统开放的端口,帮助用户识别出其中的危险端口和未知端口。 支持的操作系统:Linux、Windows。 检测周期:每30秒自动检测。 × × √ √ √ √ 进程 监测运行中的进程并进行收集及呈现,便于用户自主清点合法进程,发现异常进程。 支持的操作系统:Linux、Windows。 检测周期:每小时自动检测。 × × √ √ √ √ 软件 监测并记录当前系统安装的软件信息,帮助用户清点软件资产,识别不安全的软件版本。 支持的操作系统:Linux、Windows。 检测周期:每日自动检测。 × × √ √ √ √ 自启动项 对系统中的自启动项进行检测,及时统计自启动项的变更情况。 支持的操作系统:Linux、Windows。 检测周期:每小时自动检测。 × × √ √ √ √ Web应用 Web应用主要统计、展示推送发布web内容的软件详细信息,您可以查看所有软件的版本、路径、配置文件、关键进程等信息。 支持的操作系统:Linux、Windows(仅支持Tomcat)。 检测周期:1次/周(每周一凌晨04:10)。 × × √ √ √ √ Web服务 统计、展示对外提供web内容访问的软件详细信息,您可查看所有软件的版本、路径、配置文件、关联进程等信息。 支持的操作系统:Linux。 检测周期:1次/周(每周一凌晨04:10)。 × × √ √ √ √ Web框架 统计、展示Web内容对外呈现时所使用框架的详细信息,您可查看所有框架的版本、路径、关联进程等信息。 支持的操作系统:Linux。 检测周期:1次/周(每周一凌晨04:10)。 × × √ √ √ √ Web站点 统计、展示存放Web内容的目录及对外提供访问的站点信息,您可以查看所有目录及权限、以及和站点所关联访问路径、对外端口、关键进程等信息。 支持的操作系统:Linux。 检测周期:1次/周(每周一凌晨04:10)。 × × √ √ √ √ 中间件 统计、展示所使用到的所有软件信息,您可查看所有中间件所关联的服务器、版本号、路径、关联进程等信息。 支持的操作系统:Linux、Windows。 检测周期:1次/周(每周一凌晨04:10)。 × × √ √ √ √ 数据库 统计、展示提供数据存储的软件详细信息,您可以查看所有软件的版本、路径、配置文件、关键进程等信息; 支持的操作系统:Linux、Windows(仅支持MySQL)。 检测周期:1次/周(每周一凌晨04:10)。 × × √ √ √ √ 内核模块 统计、展示运行在内核层的全量程序模块文件,您可查看所有模块所关联的服务器、版本号、模块描述、驱动文件路径、文件权限、文件哈希等信息。 支持的操作系统:Linux。 检测周期:1次/周(每周一凌晨04:10)。 × × √ √ √ √
  • 数据保护技术 HSS通过如下数据保护手段和特性,保障HSS中的数据安全可靠。 数据保护手段 说明 传输加密(HTTPS) 微服务间管理数据传输进行加密,防止数据在传输过程中泄露或被篡改。用户的配置数据传输采用安全协议HTTPS,防止数据被窃取。 数据冗余存储 资产信息、告警事件等数据存储均具备副本备份恢复能力。 数据加密 存储 HSS通过敏感数据加密保证用户数据的安全性。 除此之外,服务节点可开通HSS服务网页防篡改功能,实现对业务数据的防护。 网页防篡改功能开通详情请参见开启网页防篡改。 父主题: 安全
  • 响应示例 { "is_success": true, "message": "", "job_id": "8ecb0777-9c70-4529-9935-29ea0946039c", "job_type": "DDL", "job_mode":"sync", "schema": [ { "col_name": "string" }, { "data_type": "string" }, { "comment": "string" } ], "rows": [ [ "c1", "int", null ], [ "c2", "string", null ] ] }
  • 请求示例 提交SQL作业,该作业执行的数据库为db1、队列为default,并为该作业设置标签workspace=space1;jobName=name1。 { "currentdb": "db1", "sql": "desc table1", "queue_name": "default", "conf": [ "dli.sql.shuffle.partitions = 200" ], "tags": [ { "key": "workspace", "value": "space1" }, { "key": "jobName", "value": "name1" } ] }
  • 请求消息 表2 请求参数 参数名称 是否必选 参数类型 说明 sql 是 String 待执行的SQL语句。 currentdb 否 String SQL语句执行所在的数据库。当创建新数据库时,不需要提供此参数。 current_catalog 否 String 待提交作业的表的默认catalog。不填时默认使用 DLI catalog。 queue_name 否 String 待提交作业的队列名称,名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。 conf 否 Array of Strings 用户以“key/value”的形式设置用于此作业的配置参数。目前支持的配置项请参考表3。 tags 否 Array of Objects 作业的标签。具体请参考表4。 engine_type 否 String 选择执行作业的引擎类型。 表3 conf参数说明 参数名称 默认值 描述 spark.sql.files.maxRecordsPerFile 0 要写入单个文件的最大记录数。如果该值为零或为负,则没有限制。 spark.sql.autoBroadcastJoinThreshold 209715200 配置执行连接时显示所有工作节点的表的最大字节大小。通过将此值设置为“-1”,可以禁用显示。 说明: 当前仅支持运行命令ANALYZE TABLE COMPUTE statistics noscan的配置单元元存储表,和直接根据数据文件计算统计信息的基于文件的数据源表。 spark.sql.shuffle.partitions 200 为连接或聚合过滤数据时使用的默认分区数。 spark.sql.dynamicPartitionOverwrite.enabled false 当前配置设置为“false”时,DLI在覆盖写之前,会删除所有符合条件的分区。例如,分区表中有一个“2021-01”的分区,当使用INSERT OVERWRITE语句向表中写入“2021-02”这个分区的数据时,会把“2021-01”的分区数据也覆盖掉。 当前配置设置为“true”时,DLI不会提前删除分区,而是在运行时覆盖那些有数据写入的分区。 spark.sql.files.maxPartitionBytes 134217728 读取文件时要打包到单个分区中的最大字节数。 spark.sql.badRecordsPath - Bad Records的路径。 spark.sql.legacy.correlated.scalar.query.enabled false 该参数设置为true: 当子查询中数据不重复的情况下,执行关联子查询,不需要对子查询的结果去重。 当子查询中数据重复的情况下,执行关联子查询,会提示异常,必须对子查询的结果做去重处理,比如max(),min()。 该参数设置为false: 不管子查询中数据重复与否,执行关联子查询时,都需要对子查询的结果去重,比如max(),min(),否则提示异常。 dli.jobs.sql.resubmit.enable null 通过设置该参数可以控制在driver故障、队列重启时Spark SQL作业是否重新提交。 false:禁用作业重试,所有类型的命令都不重新提交,一旦driver故障,作业将标记为失败(FAILED)。 true:启用作业重试,即在driver故障时,所有类型的作业都将重新提交。 注意: 如果配置为true,在执行INSERT等幂等类型的操作时(例如insert into,load data、update),可能会导致数据一致性问题。即driver故障后作业重试,导致driver故障前已插入的数据被重复写入。 spark.sql.optimizer.dynamicPartitionPruning.enabled true 该配置项用于启用或禁用动态分区修剪。在执行SQL查询时,动态分区修剪可以帮助减少需要扫描的数据量,提高查询性能。 配置为true时,代表启用动态分区修剪,SQL会在查询中自动检测并删除那些不满足WHERE子句条件的分区,适用于在处理具有大量分区的表时。 如果SQL查询中包含大量的嵌套left join操作,并且表有大量的动态分区时,这可能会导致在数据解析时消耗大量的内存资源,导致Driver节点的内存不足,并触发频繁的Full GC。 在这种情况下,可以配置该参数为false即禁用动态分区修剪优化,有助于减少内存使用,避免内存溢出和频繁的Full GC。 但禁用此优化可能会降低查询性能,禁用后Spark将不会自动修剪掉那些不满足条件的分区。 表4 tags参数 参数名称 是否必选 参数类型 说明 key 是 String 标签的键。 说明: 标签的键的最大长度为128个字符,标签的键可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格,不能以_sys_开头。 value 是 String 说明: 标签值的最大长度为255个字符,标签的值可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格。
  • 响应消息 表5 响应参数 参数名称 是否必选 参数类型 说明 is_success 是 Boolean 请求发送是否成功。“true”表示请求发送成功。 message 是 String 系统提示信息,执行成功时,信息可能为空。 job_id 是 String 此SQL语句将生成并提交一个新作业,返回此作业的ID,可用于获取作业状态和作业结果。 job_type 是 String 作业类型。 DDL DCL IMPORT EXPORT QUERY INSERT schema 否 Array of Map 当语句类型为DDL时,返回其结果的列名称及类型。 rows 否 Array of objects 当语句类型为DDL,且dli.sql.sqlasync.enabled=false时,直接返回其执行结果。但是最多只能返回1000行。 如果超过1000行,请通过异步方式获取结果。即,提交作业时配置 xxxx = true, 然后从DLI配置的作业桶中获取结果。结果在作业桶上的路径可以通过ShowSqlJobStatus接口返回值中的result_path来获取。结果的全量数据会自动导出到作业桶。 job_mode 否 String 作业执行模式: async:异步 sync:同步
  • 功能介绍 该API用于通过执行SQL语句的方式向队列提交作业。 作业包含以下类型:DDL、DCL、IMPORT、QUERY和INSERT。其中,IMPORT与导入数据(废弃)的功能一致,区别仅在于实现方式不同。 另外,用户可使用其他API来对作业进行查询和管理。具体操作有: 查询作业状态 查询作业详细信息 查询作业结果-方式二(废弃) 导出查询结果 查询所有作业 取消作业(推荐) 该API当响应消息中“job_type”为“DCL”时,为同步操作。
  • 示例代码 计算所有商品库存(items)的样本方差。命令示例如下: select var_samp(items) from warehouse; 返回结果如下: _c0 294.342355 与group by配合使用,对所有商品按照仓库(warehourseId)进行分组,并计算同组商品库存(items)的样本方差。命令示例如下: select warehourseId, var_samp(items) from warehourse group by warehourseId; 返回结果如下: warehouseId _c1 city1 18.23124 city2 16.23344 city3 11.43425
  • 示例代码 计算所有商品库存(items)的方差。命令示例如下: select variance(items) from warehouse; --等效于如下语句。 select var_pop(items) from warehouse; 返回结果如下: _c0 203.42352 与group by配合使用,对所有商品按照仓库(warehourseId)进行分组,并计算同组商品库存(items)的方差。命令示例如下: select warehourseId, variance(items) from warehourse group by warehourseId; --等效于如下语句。 select warehourseId, var_pop(items) from warehourse group by warehourseId; 返回结果如下: 1 2 3 4 warehouseId _c1 city1 19.23124 city2 17.23344 city3 12.43425
  • 示例代码 返回1692149997。 select unix_timestamp('2023-08-16 09:39:57') 假设当前系统时间为2023-08-16 10:23:16,返回1692152596。 select unix_timestamp(); 返回1692115200(即2023-08-16 00:00:00)。 select unix_timestamp("2023-08-16 10:56:45", "yyyy-MM-dd"); 表数据示例 select timestamp1, unix_timestamp(timestamp1) as date1_unix_timestamp, timestamp2, unix_timestamp(datetime1) as date2_unix_timestamp, timestamp3, unix_timestamp(timestamp1) as date3_unix_timestamp from database_t;输出: +------------+-------------------------+-----------------------+---------------------- --+------------------------------------+----------------------------+ | timestamp1| date1_unix_timestamp | timestamp2 | date2_unix_timestamp | timestamp3 | date3_unix_timestamp | +------------+-------------------------+-----------------------+-------------------------+------------------------------------+----------------------------+ | 2023-08-02 | 1690905600000 | 2023-08-02 11:09:14 | 1690945754793 | 2023-01-11 00:00:00.123456789 | 1673366400000 | | 2023-08-03 | 1690992000000 | 2023-08-02 11:09:31 | 1690945771994 | 2023-02-11 00:00:00.123456789 | 1676044800000 | | 2023-08-04 | 1691078400000 | 2023-08-02 11:09:41 | 1690945781270 | 2023-03-11 00:00:00.123456789 | 1678464000000 | | 2023-08-05 | 1691164800000 | 2023-08-02 11:09:48 | 1690945788874 | 2023-04-11 00:00:00.123456789 | 1681142400000 | | 2023-08-06 | 1691251200000 | 2023-08-02 11:09:59 | 1690945799099 | 2023-05-11 00:00:00.123456789 | 1683734400000 | +------------+-------------------------+-----------------------+--------------------------+-----------------------------------+----------------------------+
  • 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 timestamp 否 DATE或STRING 代表待转换的日期值。 格式: yyyy-mm-dd yyyy-mm-dd hh:mi:ss yyyy-mm-dd hh:mi:ss.ff3 pattern 否 STRING 代表需要转换的格式。 pattern为空时,默认为yyyy-MM-dd hh:mm:ss格式。 format:格式为代表年月日时分秒的时间单位与任意字符的组合,其中: yyyy代表年份。 MM代表月份。 dd代表天。 hh代表小时。 mi代表分钟。 ss代表秒。
  • 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 date 是 DATE或STRING 需要处理的日期。 格式: yyyy-mm-dd yyyy-mm-dd hh:mi:ss yyyy-mm-dd hh:mi:ss.ff3 format 是 STRING 代表需要转换的目标日期格式。 format:格式为代表年月日时分秒的时间单位与任意字符的组合,其中: yyyy代表年份。 MM代表月份。
  • 示例代码 去除字符串 yxabcxx 的左右空格。命令示例如下。 返回字符串yxabcxx。 select trim(' yxabcxx '); 等效于如下语句。 select trim(both from ' yxabcxx '); select trim(from ' yxabcxx '); 去除字符串yxabcxx左右两端所有字符都在集合xy中的子串。 返回abc,只要左右两端遇到x或者y就会被去掉。 select trim('xy', 'yxabcxx'); 等效于如下语句。 select trim(both 'xy' from 'yxabcxx'); 输入参数为NULL。命令示例如下。 返回NULL。 select trim(null); select trim(null, 'yxabcxx');
  • 示例代码 为便于理解函数的使用方法,本文为您提供源数据,基于源数据提供函数相关示例。创建表salary,并添加数据,命令示例如下: CREATE EXTERNAL TABLE salary ( dept_id STRING, -- 部⻔ user_id string, -- 员⼯ID sal INT -- 薪⽔ ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' stored as textfile; 添加数据如下: d1,user1/user4,1000/6000 d1,user2/user5,2000/7000 d1,user3/user6,3000 d2,user4/user7,4000 d2,user5/user8,5000/8000 执行SQL select trans_array(1, "/", dept_id, user_id, sal) as (dept_id, user_id, sal) from salary; 返回结果如下: d1,user1,1000 d1,user4,6000 d1,user2,2000 d1,user5,7000 d1,user3,3000 d1,user6,NULL d2,user4,4000 d2,user7,NULL d2,user5,5000 d2,user8,8000
  • 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 timestamp 是 DATE STRING TINYINT SMALLINT INT BIGINT 代表待处理的时间。 DATE或STRING类型的日期值,或TINYINT、SMALLINT、INT或BIGINT类型的时间戳。 格式: yyyy-mm-dd yyyy-mm-dd hh:mi:ss yyyy-mm-dd hh:mi:ss.ff3 timezone 是 STRING 代表需要转换的目标时区。
  • 示例代码 返回2023-08-16 10:54:36 select to_date1('2023-08-16 10:54:36','yyyy-mm-dd hh:mi:ss'); 返回2023-08-16 00:00:00。 select to_date1('2023-08-16','yyyy-mm-dd'); 返回NULL。 select to_date1(null); 返回2023-08-16。 select to_date1('2023-08-16 10:54:36');
  • 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 date 是 STRING 要转换的字符串。 格式: yyyy-mm-dd yyyy-mm-dd hh:mi:ss yyyy-mm-dd hh:mi:ss.ff3 format 是 STRING 代表需要转换的日期格式。 STRING类型常量,不支持日期扩展格式。 format:格式为代表年月日时分秒的时间单位与任意字符的组合,其中: yyyy代表年份。 mm代表月份。 dd代表天。 hh代表小时。 mi代表分钟。 ss代表秒。
  • 示例代码 返回静态数据示例2023-08*16。 select to_char('2023-08-16 10:54:36', '静态数据示例yyyy-mm*dd'); 返回20230816。 select to_char('2023-08-16 10:54:36', 'yyyymmdd'); 返回NULL。 select to_char('静态数据示例2023-08-16', '静态数据示例yyyy-mm*dd'); 返回NULL。 select to_char('20230816', 'yyyy'); 返回NULL。 select to_char('2023-08-16 10:54:36', null);
  • 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 date 是 DATE 或 STRING 代表需要处理的日期。 格式为: yyyy-mm-dd yyyy-mm-dd hh:mi:ss yyyy-mm-dd hh:mi:ss.ff3 format 是 STRING 代表需要转换的目标日期格式。 STRING类型常量,不支持日期扩展格式。 format:格式为代表年月日时分秒的时间单位与任意字符的组合,其中: yyyy代表年份。 mm代表月份。 dd代表天。 hh代表小时。 mi代表分钟。 ss代表秒。
  • 示例代码 计算所有仓库的商品(items)总和。命令示例如下: select sum(items) from warehouse; 返回结果如下: _c0 55357 与group by配合使用,对所有商品按照仓库(warehouseId)进行分组,计算各仓库商品的总数(items)总和。命令示例如下: select warehouseId, sum(items) from warehouse group by warehouseId; 返回结果如下: warehouseId| _c1 city1 15500 city2 10175 city3 19400
  • 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 str 是 STRING 如果输入为BIGINT、DECIMAL、DOUBLE或DATETIME类型,则会隐式转换为STRING类型后参与运算。 start_position 是 BIGINT 表示起始位置。默认起始位置为1。 如果start_position取值为正,则从左边开始。如果start_position取值为负,则从右边开始。 length 否 BIGINT 表示子串的长度值。值必须大于0。
共100000条