华为云用户手册

  • 创建功能函数 创建实现日志提取功能的函数,将示例代码包上传。创建过程请参考创建函数,运行时语言选择“Python2.7”,委托名称选择创建委托中的“LtsOperation”。 函数实现的功能是:将收到的日志事件数据进行base64解码,然后提取出包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,将此级别的日志投递至OBS桶中集中存储。可根据您的业务日志的具体内容配置相应的日志提取条件。
  • 设置环境变量 在函数配置页签需配置环境变量,分别表示OBS桶地址、OBS桶名称以及OBS对象名称,说明如表1 环境变量说明表所示。 表1 环境变量说明表 环境变量 说明 obs_address OBS服务终端节点,获取地址请参考地区和终端节点。 obs_store_bucket 日志存储的目标桶名称。 obs_store_objName 日志存储的目标文件。 SMN_Topic SMN主题名称。 环境变量的设置过程请参考使用环境变量。
  • 常见问题 我的代码可以访问哪些目录? 根据上文中的bootstrap文件里的命令,可以看出上传的代码包最终被存在函数实例(指函数运行的环境/计算资源,可以理解为容器)/opt/function/code/ 路径。但是该目录只可以读,不可以写入。 如果您希望在代码运行期间写入一些数据到实例里,打印日志到本地,或者您使用的依赖默认写入jar所在的目录,请对/tmp目录进行写入操作。 我的日志如何被收集,应该怎么输出日志? 函数实例在一段时间内没有请求会被销毁,写入到本地日志会同时被销毁,当前用户也无法在函数运行中查看函数本地日志,所以建议不要仅将日志写入到本地。产生的日志建议输出到控制台,如配置log4j输出target为System.out,或直接用print函数打印日志等。 输出到控制台的日志,会被函数系统收集,如果用户开通LTS服务,日志会被放入LTS 可以进行较为实时的日志分析。 调测建议:建议在调测时候开通LTS日志,单击“到LTS进行日志分析”,在实时日志中进行观察分析。 图8 到LTS进行日志分析 图9 实时日志 我的代码具有什么用户的执行权限? 和普通事件函数一样,代码执行时并没有root权限,因此需要root权限的代码或者命令都无法在HTTP函数里执行。
  • 创建集群 登录表格存储服务,在“集群模式”界面,单击“购买集群”,进入“购买集群”界面。 填写集群配置信息。 区域使用系统默认。 名称输入“cloudtable-dis”。 虚拟私有云选择创建虚拟私有云中创建的“vpc-cloudtable”。 其他配置保持默认,无需修改。 图1 购买集群 确认配置信息无误,单击“立即购买”,创建集群。 图2 创建集群 创建集群需要较长时间,可以从图2中查看进度,请耐心等待。
  • 创建委托 登录统一身份认证服务控制台,在左侧导航栏单击“委托”,进入“委托”界面。 单击“创建委托”,弹出“创建委托”界面。 填写委托信息。 委托名称:输入“DISDemo”。 委托类型:选择“云服务”。 云服务:选择“函数工作流 FunctionGraph”。 持续时间:选择“永久”。 单击“下一步”,进入委托选择页面,在“配置权限”界面勾选“Tenant Administrator”,单击“确定” 图3 创建委托 Tenant Administrator:拥有该权限的用户可以对企业拥有的所有云资源执行任意操作。 单击“确定”,完成权限委托设置。
  • 触发函数自动运行 上传图片至hugb-bucket-input桶,OBS生成事件触发函数运行,为图片打水印,输出图片存放在hugb-bucket-output桶中。可以在fss_examples_image_watermark函数详情页“日志”页签查看函数运行日志。 进入hugb-bucket-output桶对象界面,可以看到输出的图片image.jpg,如图2所示。单击操作列的“下载”可将图片下载至本地查看图片处理效果,效果如图3所示。 图2 输出图片 图3 效果图
  • 告警消息推送 在SMN消息通知服务创建主题,此处以主题名称cts_test为例,创建过程请参考创建主题。 在SMN消息通知服务订阅主题,用于将告警消息推送至该主题下的订阅终端,此处以添加邮件订阅终端为例,订阅cts_test主题,订阅过程请参考订阅主题。 订阅主题可选择通过邮件、短信、HTTP/HTTPS等形式推送告警消息 本案例中推送告警消息的事件是:当日志事件通过CTS触发器触发函数执行时,函数中过滤白名单告警日志,产生的告警消息推送至SMN主题的订阅终端。
  • 创建委托 登录统一身份认证服务控制台,在左侧导航栏单击“委托”,进入“委托”界面。 单击“创建委托”,进入“创建委托”界面。 填写委托信息。 委托名称:输入“serverless_trust”。 委托类型:选择“云服务”。 云服务:选择“函数工作流 FunctionGraph”。 持续时间:选择“永久”。 描述:填写描述信息。 单击“下一步”,进入委托选择页面,在“配置权限”界面勾选“Tenant Administrator”,单击“确定”。 Tenant Administrator:拥有该权限的用户可以对企业拥有的所有云资源执行任意操作。 单击“确定”,完成权限委托设置。
  • 创建转发规则 转发规则用于数据从IoTDA流转到指定函数,以触发函数运行,可以在IoTDA 页面创建转发规则,也可以在FunctionGraph 创建 IoT触发器来实现。下面说明在IoTDA 页面创建转发规则。 登录IoTDA控制台,单击左侧边栏 “规则”,然后单击“数据转发” ,单击“创建规则”。 输入基本信息,然后单击创建规则。 规则名称 iotfg 也可自定义 数据来源选择 设备消息 触发事件选择 设备消息上报 设置转发目标,单击“添加” ,转发目标选择 FunctionGraph 。 首次使用需要授权IotDA访问FunctionGraph函数,单击“授权”即可。 选择刚创建的函数iotdemo 。 单击启动规则。
  • 通过IotDA 进行线上联调测试 在IoTDA控制台,单击 刚才创建的转发规则 iotfg ,单击“设置转发目标”, 单击 “测试” 。 输入测试数据单击 “连通性测试” 。 { "resource": "device.message", "event": "report", "event_time": "string", "notify_data": { "header": { "app_id": "d4922d8a-6c8e-4396-852c-164aefa6638f", "device_id": "d4922d8a-6c8e-4396-852c-164aefa6638f", "node_id": "ABC123456789", "product_id": "ABC123456789", "gateway_id": "d4922d8a-6c8e-4396-852c-164aefa6638f", "tags": [ { "tag_key": "testTagName", "tag_value": "testTagValue" } ] }, "body": { "lat": 92.64763932844794, "lng": 35.25202546134364 } }} 到FunctionGraph 页面 , 单击 “监控” “日志” 随后点击蓝色的请求id 查看日志。 可以对程序进行修改,使数据可以用于调用其他系统或进行持久化存储,如存储到obs 等。
  • 添加事件源 OBS桶及函数创建以后,可以为函数添加事件源,添加OBS事件源是通过创建OBS触发器实现的,步骤如下。 用户进入fss_examples_kms函数详情页,在“触发器”页签,单击“创建触发器”,弹出“创建触发器”界面。 触发器类型选择“存储(OBS)”,填写触发器配置信息,如图1所示。 桶选择创建OBS桶中创建的“input_bucket”桶。 事件选择“Post”、“Put”。 图1 创建OBS触发器 单击“确定”,完成触发器创建。 OBS触发器创建以后,当有文件上传或更新至kms-bucket-input桶时,生成事件,触发函数执行。 父主题: 函数+KMS:加解密文件
  • 创建委托 登录统一身份认证服务控制台,在左侧导航栏单击“委托”,进入“委托”界面。 单击“创建委托”,进入“创建委托”界面。 填写委托信息。 委托名称:输入“serverless_trust”。 委托类型:选择“云服务”。 云服务:选择“函数工作流 FunctionGraph”。 持续时间:选择“永久”。 描述:填写描述信息。 单击“下一步”,进入委托选择页面,在“配置权限”界面勾选“Tenant Administrator”,单击“确定”。 Tenant Administrator:拥有该权限的用户可以对企业拥有的所有云资源执行任意操作。 单击“确定”,完成权限委托设置。
  • 创建OBS桶 上传图片的源桶和函数必须处于同一个区域下。 操作步骤 登录对象存储服务控制台,单击“创建桶”,进入“创建桶”界面。 在“创建桶”界面,填写存储桶信息。 区域:根据实际情况设置 桶名称输入:“your-bucket-input” 数据冗余存储策略:“单AZ存储” 默认存储类别:“标准存储” 桶策略:"私有" 默认加密:“关闭” 归档数据直读:“关闭” 其余参数保持默认,单击“立即创建”,完成源桶创建。 完成桶创建以后,OBS桶列表有your-bucket-input桶。
  • 创建委托 登录统一身份认证服务控制台,在左侧导航栏单击“委托”,进入“委托”界面。 单击“创建委托”,进入“创建委托”界面。 填写委托信息。 委托名称:输入“serverless_trust”。 委托类型:选择“云服务”。 云服务:选择“函数工作流 FunctionGraph”。 持续时间:选择“永久”。 描述:填写描述信息。 单击“下一步”,进入委托选择页面,在“配置权限”界面勾选“Tenant Administrator”,单击“确定”。 Tenant Administrator:拥有该权限的用户可以对企业拥有的所有云资源执行任意操作。 单击“确定”,完成权限委托设置。
  • 创建委托 登录统一身份认证服务控制台,在左侧导航栏单击“委托”,进入“委托”界面。 单击“创建委托”,进入“创建委托”界面。 填写委托信息。 委托名称:输入“serverless_trust”。 委托类型:选择“云服务”。 云服务:选择“函数工作流 FunctionGraph”。 持续时间:选择“永久”。 描述:填写描述信息。 单击“下一步”,进入委托选择页面,在“配置权限”界面勾选“Tenant Administrator”,单击“确定”。 Tenant Administrator:拥有该权限的用户可以对企业拥有的所有云资源执行任意操作。 单击“确定”,完成权限委托设置。
  • 资源和成本规划 该解决方案主要部署如下资源,每月花费如下所示,具体请参考华为云官网价格详情,实际收费以账单为准: 表1 资源和成本规划 华为云服务 配置示例 每月花费 对象存储服务 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.0100元/万次 存储空间:0.1390元/GB/月 流量费用: 内/公网流入流量(数据上传到OBS) 0元 内网流出流量 0元 预计每月新增1GB数据量,花费0.1490元。 该方案存储费用消耗较低,详细请参考每月账单。 函数工作流 FunctionGraph 区域:华北-北京四 产品:函数 请求次数: 0-100万次: 0元/100万次 100万次以上 : 1.33元/100万次 计量时间: 0-400,000 GB/秒: 0元/GB-秒 400,000 GB/秒以上 :0.00011108元/GB-秒 0元 合计 约0.1490元
  • 开始使用 登录华为云控制台,区域选择“华北-北京四”。 图1 华为云控制台 进入函数工作流FunctionGraph控制台,在函数列表中查看该方案创建的函数。 图2 创建的函数 进入相应函数中,查看该方案创建的触发器信息。 图3 视频转码函数触发器 进入统一身份认证服务控制台,查看已创建的委托信息。 图4 委托信息 在函数服务的监控中,可以查看上传视频文件到原视频文件桶后触发函数执行的日志 图5 请求日志 在视频转码存储桶中,可以看到转码后的视频文件 图5 转码后的视频文件 父主题: 实施步骤
  • 快速部署 本章节主要帮助用户快速部署“CDN自动预热缓存”解决方案。 表1 参数填写说明 参数名称 类型 是否可选 参数解释 默认值 cdn_bucket_name String 必填 OBS桶名称,全局唯一,用于作为OBS源站桶。取值范围:3~63个字符,支持小写字母、数字、中划线(-)、英文句号(.)。 空 domain String 必填 需要预热缓存的CDN加速域名,取值范围:域名用字母(A-Z,a-z,大小写等价)、数字(0-9)和连接符(-)组成,各级域名之间用实点(.)连接,国际域名75个字符。注意连接符(-)不能作为域名的开头或结尾字符。示例:download.game-apk1.com。 空 登录华为云解决方案实践,选择“ CDN自动预热缓存”模板,单击“一键部署”跳转至解决方案部署界面。 图1 解决方案实践 在选择模板界面中,单击“下一步”。 图2 选择模板 在配置参数界面中,参考表1完成自定义参数填写,单击“下一步”。 图3 配置参数 在资源设置界面中,在权限委托下拉框中选择“rf_admin_trust”委托,单击“下一步”。 图4 资源栈设置 在配置确认界面中,单击“创建执行计划”。 图5 配置确认 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 单击“部署”,并且在弹出的执行计划确认框中单击“执行”。 图7 执行计划 图8 执行计划确认 待“事件”中出现“Apply required resource success”,表示该解决方案已经部署完成。 图9 部署完成 父主题: 实施步骤
  • 资源和成本规划 该解决方案主要部署如下资源,每月花费如下所示,具体请参考华为云官网价格详情,实际收费以账单为准: 表1 资源和成本规划 华为云服务 配置示例 每月花费 对象存储服务 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.0100元/万次 存储空间:0.1390元/GB/月 流量费用: 内/公网流入流量(数据上传到OBS) 0元 内网流出流量 0元 预计每月新增1GB数据量,花费0.1490元。 该方案存储费用消耗较低,详细请参考每月账单。 函数工作流 FunctionGraph 区域:华北-北京四 产品:函数 请求次数: 0-100万次: 0元/100万次 100万次以上 : 1.33元/100万次 计量时间: 0-400,000 GB/秒: 0元/GB-秒 400,000 GB/秒以上 :0.00011108元/GB-秒 0元 合计 约0.1490元
  • 开始使用 登录华为云控制台,区域选择“华北-北京四”。 图1 华为云控制台 进入函数工作流 FunctionGraph控制台,在函数列表中查看该方案创建的函数。 图2 创建的函数 进入创建的函数中,查看该方案创建的触发器信息。 图3 CDN自动预热缓存函数触发器 进入统一身份认证服务控制台,查看已创建的委托信息。 图4 委托信息 在函数服务的监控中,可以查看触发器在文件上传到指定桶后自动创建缓存预热任务。 图5 请求日志 在内容分发网络的预热刷新的历史记录也没中,可以看到刚创建的预热缓存任务。 图6 预热缓存任务 父主题: 实施步骤
  • 指定文件名迁移 从FTP/SFTP/OBS导出文件时,CDM支持指定文件名迁移,用户可以单次迁移多个指定的文件(最多50个),导出的多个文件只能写到目的端的同一个目录。 在创建表/文件迁移作业时,如果源端数据源为FTP/SFTP/OBS,CDM源端的作业参数“源目录或文件”支持输入多个文件名(最多50个),文件名之间默认使用“|”分隔,您也可以自定义文件分隔符,从而实现文件列表迁移。 迁移文件或对象时支持文件级增量迁移(通过配置跳过重复文件实现),但不支持断点续传。 例如要迁移3个文件,第2个文件迁移到一半时由于网络原因失败,再次启动迁移任务时,会跳过第1个文件,从第2个文件开始重新传,但不能从第2个文件失败的位置重新传。 文件迁移时,单个任务支持千万数量的文件,如果待迁移目录下文件过多,建议拆分到不同目录并创建多个任务。 父主题: 关键操作指导
  • AES-256-GCM加密 目前只支持AES-256-GCM(NoPadding)。该加密算法在目的端为加密,在源端为解密,支持的源端与目的端数据源如下。 源端支持的数据源:HDFS(使用二进制格式传输时支持)。 目的端支持的数据源:OBS、FTP、SFTP、HDFS(使用二进制格式传输时支持)。 下面分别以OBS导出加密文件时解密、导入文件到OBS时加密为例,介绍AES-256-GCM加解密的使用方法。其它数据源的使用方法一样。 源端配置解密 创建从HDFS导出文件的CDM作业时,源端数据源选择HDFS后,在“源端作业配置”的“高级属性”中,配置如下参数。 加密方式:选择“AES-256-GCM”。 数据加密密钥:这里的密钥必须与加密时配置的密钥一致,否则解密出来的数据会错误,且系统不会提示异常。 初始化向量:这里的初始化向量必须与加密时配置的初始化向量一致,否则解密出来的数据会错误,且系统不会提示异常。 这样CDM从HDFS导出加密过的文件时,写入目的端的文件便是解密后的明文文件。 目的端配置加密 创建CDM导入文件到OBS的作业时,目的端数据源选择OBS后,在“目的端作业配置”的“高级属性”中,配置如下参数。 加密方式:选择“AES-256-GCM”。 数据加密密钥:用户自定义密钥,密钥由长度64的十六进制数组成,不区分大小写但必须64位,例如“DD0AE00DFECD78BF051BCFDA25BD4E320DB0A7AC75A1F3FC3D3C56A457DCDC1B”。 初始化向量:用户自定义初始化向量,初始化向量由长度32的十六进制数组成,不区分大小写但必须32位,例如“5C91687BA886EDCD12ACBC3FF19A3C3F”。 这样在CDM导入文件到OBS时,目的端OBS上的文件便是经过AES-256-GCM算法加密后的文件。
  • KMS加密 源端解密不支持KMS。 CDM目前只支持导入文件到OBS时,目的端使用KMS加密,表/文件迁移和整库迁移都支持。在“目的端作业配置”的“高级属性”中配置。 KMS密钥需要先在数据加密服务创建,具体操作请参见《数据加密服务 用户指南》。 当启用KMS加密功能后,用户上传对象时,数据会加密成密文存储在OBS。用户从OBS下载加密对象时,存储的密文会先在OBS服务端解密为明文,再提供给用户。 如果选择使用KMS加密,则无法使用MD5校验一致性。 如果这里使用其它项目的KMS ID,则需要修改“项目ID”参数为KMS ID所属的项目ID;如果KMS ID与CDM在同一个项目下,“项目ID”参数保持默认即可。 使用KMS加密后,OBS上对象的加密状态不可以修改。 使用中的KMS密钥不可以删除,如果删除将导致加密对象不能下载。
  • CDM自定义策略样例 示例1:授权用户创建CDM集群 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "cdm:cluster:create" ] } ]} 示例2:拒绝用户删除CDM集群 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 如果您给用户授予CDM FullAccess的系统策略,但不希望用户拥有CDM FullAccess中定义的删除CDM集群权限,您可以创建一条拒绝删除CDM集群的自定义策略,然后同时将CDM FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对CDM执行除了删除CDM集群外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "cdm:cluster:delete" ] } ]} 示例3:多个授权项策略 一个自定义策略中可以包含多个授权项,且除了可以包含本服务的授权项外,还可以包含其他服务的授权项,可以包含的其他服务必须跟本服务同属性,即都是项目级服务或都是全局级服务。多个授权语句策略描述如下: { "Version": "1.1", "Statement": [ { "Action": [ "cdm:cluster:list", "cdm:cluster:get", "ecs:*:get*", "ecs:*:list*", "vpc:*:get*", "vpc:*:list*", "evs:*:get*", "evs:*:list*", "bss:*:view*" ], "Effect": "Allow" } ]}
  • 达梦数据库迁移时支持的数据类型 源端为达梦数据库,目的端为Hive、DWS时,支持的数据类型如下: 表10 达梦数据库作为源端时支持的数据类型 类别 类型 简要释义 存储格式示例 Hive DWS 字符 CHAR 用于存储指定定长字符串 ‘a’或‘aaaaa’ CHAR CHAR CHARACTER 与 CHAR 相同 ‘a’或‘aaaaa’ CHAR CHAR VARCHAR 用于存储指定变长字符串 ‘a’或‘aaaaa’ VARCHAR VARCHAR VARCHAR2 与 VARCHAR 相同 ‘a’或‘aaaaa’ VARCHAR VARCHAR 数值 NUMERIC 用于存储零、正负定点数 52.36 DECIMAL NUMERIC DECIMAL 与 NUMERIC 相似 52.36 DECIMAL NUMERIC DEC 与 DECIMAL 相同 52.36 DECIMAL NUMERIC NUMBER 与 NUMERIC 相同 52.36 DECIMAL NUMERIC INTEGER 用于存储有符号整数,精度为10,标度为0 5236 INT INTEGER INT 与 INTEGER 相同 5236 INT INTEGER BIGINT 用于存储有符号整数,精度为19,标度为0 5236 BIGINT BIGINT TINYINT 用于存储有符号整数,精度为3,标度为0 100 TINYINT SMALLINT SMALLINT 用于存储有符号整数,精度为5,标度为0 9999 SMALLINT SMALLINT BYTE 与 TINYINT 相似,精度为3,标度为0 100 TINYINT SMALLINT BINARY 用于存储定长二进制数据 0x2A3B4058 BINARY(NULL) BYTEA(NULL) VARBINARY 用于存储可变长二进制数据 0x2A3B4058 BINARY(NULL) BYTEA(NULL) FLOAT 用于存储带二进制精度的浮点数 52.36 FLOAT FLOAT8 DOUBLE 与FLOAT类似 52.36 DOUBLE FLOAT8 REAL 用于存储带二进制精度的浮点数,但它不能由用户指定使用的精度 52.3 FLOAT FLOAT4 DOUBLE PRECISION 用于存储指明双精度的浮点数 52.3 DOUBLE FLOAT8 位串 BIT 用于存储整数数据 1、0 或 NULL 1、0 或 NULL TINYINT(1 0 NULL) BOOLEAN(true false NULL) 日期时间 DATE 用于存储年、月、日信息 1999-10-01'、'1999/10/01'或'1999.10.01' DATE TIMESTAMP TIME 用于存储时、分、秒信息 '09:10:21'或'9:10:21' 不支持(String) TIME TIMESTAMP 用于存储年、月、日、时、分、秒信息 2002-12-12 09:10:21','2002-12-12 9:10:21' '2002/12/12 09:10:21' 或'2002.12.12 09:10:21' TIMESTAMP TIMESTAMP TIME WITH TIME ZONE 用于存储一个带时区的 TIME 值,其定义是在 TIME 类型的后面加上时区信息 '09:10:21 +8:00', '09:10:21+8:00'或'9:10:21+8:00' 不支持(String) TIME WITH TIME ZONE TIMESTAMP WITH TIME ZONE 用于存储一个带时区的 TIMESTAMP 值,其定义是TIMESTAMP类型的后面加上时区信息 2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE 用于存储一个本地时区的 TIMESTAMP 值,能够将标准时区类型 TIMESTAMP WITH TIME ZONE 类型转化为本地时区类型 2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' 不支持(String) 不支持(TEXT) DATETIME WITH TIME ZONE 同TIMESTAMP WITH TIME ZONE 2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' TIMESTAMP TIMESTAMP WITH TIME ZONE INTERVAL YEAR 描述一个若干年的间隔,引导精度规定了年的取值范围 INTERVAL '0015' YEAR 不支持(String) 不支持(VARCHAR) INTERVAL YEAR TO MONTH 描述一个若干年若干月的间隔,引导精度规定了年的取值范围 INTERVAL '0015-08' YEAR TO MONTH 不支持(String) 不支持(VARCHAR) INTERVAL MONTH 描述一个若干月的间隔,引导精度规定了月的取值范围 INTERVAL '0015' MONTH 不支持(String) 不支持(VARCHAR) INTERVAL DAY 描述一个若干日的间隔,引导精度规定了日的取值范围 INTERVAL '150' DAY 不支持(String) 不支持(VARCHAR) INTERVAL DAY TO HOUR 描述一个若干日若干小时的间隔,引导精度规定了日的取值范围 INTERVAL '9 23' DAY TO HOUR 不支持(String) 不支持(VARCHAR) INTERVAL DAY TO MINUTE 描述一个若干日若干小时若干分钟的间隔,引导精度规定了日的取值范围 INTERVAL '09 23:12' DAY TO MINUTE 不支持(String) 不支持(VARCHAR) INTERVAL DAY TO SECOND 描述一个若干日若干小时若干分钟若干秒的间隔,引导精度规定了日的取值范围 INTERVAL '09 23:12:01.1' DAY TO SECOND 不支持(String) 不支持(VARCHAR) INTERVAL HOUR 描述一个若干小时的间隔,引导精度规定了小时的取值范围 INTERVAL '150' HOUR 不支持(String) 不支持(VARCHAR) INTERVAL HOUR TO MINUTE 描述一个若干小时若干分钟的间隔,引导精度规定了小时的取值范围 INTERVAL '23:12' HOUR TO MINUTE 不支持(String) 不支持(VARCHAR) INTERVAL HOUR TO SECOND 描述一个若干小时若干分钟若干秒的间隔,引导精度规定了小时的取值范围 INTERVAL '23:12:01.1' HOUR TO SECOND 不支持(String) 不支持(VARCHAR) INTERVAL MINUTE 描述一个若干分钟的间隔,引导精度规定了分钟的取值范围 INTERVAL '150' MINUTE 不支持(String) 不支持(VARCHAR) INTERVAL MINUTE TO SECOND 描述一个若干分钟若干秒的间隔,引导精度规定了分钟的 取值范围 INTERVAL '12:01.1' MINUTE TO SECOND 不支持(String) 不支持(VARCHAR) INTERVAL SECOND 描述一个若干秒的间隔,引导精度规定了秒整数部分的 取值范围 INTERVAL '51.1' SECOND 不支持(String) 不支持(VARCHAR) 多媒体 IMAGE IMAGE 用于指明多媒体信息中的图像类型。 图像由不定长的像素点阵组成,长度最大为 2G-1 字节。该类型除了存储图像数据之外,还可用于存储任何其它二进制数据。 0x2A3B4058 (二进制数据) 不支持 不支持 LONGVARBINARY 与IMAGE相同 0x2A3B4059 (二进制数据) 不支持 不支持 TEXT 用于存储长字符串类型,其字符串的长度 最大为 2G-1,存储长的文本串 0x5236(二进制数据) 不支持 不支持 LONGVARCHAR 与 TEXT 相似 0x5236(二进制数据) 不支持 不支持 BLOB 用于存储变长的二进制大对象,长度最大为2G-1字节 0x5236(二进制数据) 不支持 不支持 CLOB 用于存储变长的二进制大对象,长度最大为2G-1字节 0x5236(二进制数据) 不支持 不支持 BFILE 用于指明存储在操作系统中的二进制文件, 文件存储在操作系统而非数 据库中,仅能进行只读访问。 - 不支持 不支持
  • SAP HANA数据库迁移时支持的数据类型 源端为SAP HANA数据库时,支持的数据类型如下: 表8 SAP HANA数据库作为源端时支持的数据类型 类别 类型 简要释义 字符 VARCHAR 用于存储指定定长字符串。 NVARCHAR 包含unicode格式数据的变长字符串。 TEXT 用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 数值 BIGINT 用于存储有符号整数,精度为19,标度为0。 TINYINT 用于存储有符号整数,精度为3,标度为0。 SMALLINT SMALLINT类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 REAL 可以存储正的或者负的十进制数值。 DECIMAL 带固定精度和小数位数的数值数据类型。 FLOAT 用于存储带二进制精度的浮点数。 DOUBLE 用于存储指明双精度的浮点数。 日期时间 DATE 用于存储年、月、日信息。 TIME 用于存储时、分、秒信息。 TIMESTAMP 用于存储年、月、日、时、分、秒信息。 多媒体 CLOB 用于存储变长的二进制大对象,长度最大为2G-1字节。 NCLOB 这种类型能够存储最多4GB的数据。当字符集发生转换时,这种类型会受到影响。 布尔类型 BOOLEAN 存储在1个字节中,可以取值为 1、0 或 NULL。
  • DLI数据库迁移时支持的数据类型 源端为DLI数据库时,支持的数据类型如下: 表9 DLI数据库作为源端时支持的数据类型 类别 类型 简要释义 字符 CHAR 用于存储指定定长字符串。 VARCHAR 与CHAR相同。 STRING 用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 数值 BIGINT 用于存储有符号整数,精度为19,标度为0。 TINYINT 用于存储有符号整数,精度为3,标度为0。 SMALLINT SMALLINT类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 INT 用于存储有符号整数,精度为10,标度为0。 DECIMAL 带固定精度和小数位数的数值数据类型。 FLOAT 用于存储带二进制精度的浮点数。 DOUBLE 用于存储指明双精度的浮点数。 日期时间 DATE 用于存储年、月、日信息。 TIMESTAMP 用于存储年、月、日、时、分、秒信息。 布尔类型 BOOLEAN 存储在1个字节中,可以取值为 1、0 或 NULL。
  • 神通(ST)数据库迁移时支持的数据类型 源端为神通(ST)数据库,目的端为MRS Hive、MRS Hudi时,支持的数据类型如下: 表7 神通(ST)数据库作为源端时支持的数据类型 类别 类型 简要释义 存储格式示例 MRS Hive MRS Hudi 字符 VARCHAR 用于存储指定定长字符串 ‘a’或‘aaaaa’ VARCHAR(765) STRING BPCHAR 用于存储指定变长字符串 ‘a’或‘aaaaa’ VARCHAR(765) STRING 数值 NUMERIC 用于存储零、正负定点数 52.36 DECIMAL(10,0) DECIMAL(18,0) INT 用于存储零、正负定点数 5236 INT INT BIGINT 用于存储有符号整数,精度为19,标度为0 5236 BIGINT BIGINT TINYINT 用于存储有符号整数,精度为3,标度为0 100 SMALLINT INT BINARY 用于存储定长二进制数据 0x2A3B4058 不支持 FLOAT VARBINARY 用于存储可变长二进制数据 0x2A3B4058 不支持 BINARY FLOAT 用于存储带二进制精度的浮点数 52.36 FLOAT FLOAT DOUBLE 用于存储指明双精度的浮点数 52.3 DOUBLE DOUBLE 日期时间 DATE 用于存储年、月、日信息 1999-10-01'、'1999/10/01'或'1999.10.01' DATE DATE TIME 用于存储时、分、秒信息 '09:10:21'或'9:10:21' STRING STRING TIMESTAMP 用于存储年、月、日、时、分、秒信息 2002-12-12 09:10:21','2002-12-12 9:10:21' '2002/12/12 09:10:21' 或'2002.12.12 09:10:21' TIMESTAMP TIMESTAMP 多媒体 CLOB 用于存储变长的二进制大对象,长度最大为2G-1字节 0x5236(二进制数据) STRING STRING BLOB 用于存储变长的二进制大对象,长度最大为2G-1字节 0x5236(二进制数据) 不支持 BINARY 布尔类型 BOOLEAN 存储在1个字节中,可以取值为 1、0 或 NULL。 1 BOOLEAN BOOLEAN
  • DWS数据库迁移时支持的数据类型 源端为DWS数据库时,支持的数据类型如下: 表6 DWS数据库作为源端时支持的数据类型 类别 类型 简要释义 字符 char 定长字符串,存储右空格填充到指定的长度。 varchar 变长字符串,不会用空格将字段或变量填充至最大长度。 数值 double 用于存储指明双精度的浮点数 decimal(p,s) 精度p表示为值存储的有效位数,刻度s表示可以在小数点后存储的位数。p最大位数是1000。 numeric 用于存储零、正负定点数。 real 与double相同。 int int存储在4个字节中,其中一个二进制位表示符号位,其它31个二进制位表示长度和大小,可以表示-2的31次方~2的31次方-1范围内的所有整数。 bigint bigint存储在8个字节中,其中一个二进制位表示符号位,其它63个二进制位表示长度和大小,可以表示-2的63次方~2的63次方-1范围内的所有整数。 smallint smallint类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 tinyint tinyint类型的数据占用了一个字节的存储空间,可以表示0~255范围内的所有整数。 日期时间 date 存储日期数据。 timestamp 存储日期和时间数据,无时区。 time 只用于一日内时间,无时区。 位串类型 bit 定长位串,例如: b'000101'。 布尔类型 boolean 存储在1个字节中,可以取值为 1、0 或 NULL。 文本类型 text 变长文本,无长度限制。
  • PostgreSQL数据库迁移时支持的数据类型 源端为PostgreSQL数据库,目的端为Hive、DWS、DLI时,支持的数据类型如下: 表5 PostgreSQL数据库作为源端时支持的数据类型 类别 类型 简要释义 Hive DWS DLI 字符 char 定长字符串,存储右空格填充到指定的长度。 CHAR CHAR 不支持(String) varchar 变长字符串,不会用空格将字段或变量填充至最大长度。 CARCHAR CARCHAR 不支持(String) 数值 smallint 拓展名 int2,存储在2个字节中,它允许的范围是从-32768到32767。 SMALLINT SMALLINT SMALLINT int 拓展名 int4,存储在4个字节中,它允许的范围是从-2147483648到2147483647。 INTEGER INT INT bigint 拓展名 int8,存储在8个字节中,允许范围为-9223372036854775808到9223372036854775807。 BIGINT BIGINT BIGINT decimal(p,s) 精度p表示为值存储的有效位数,刻度s表示可以在小数点后存储的位数。p最大位数是1000。 DECIMAL(P,S) DECIMAL(P,S) DECIMAL(P,S) float 4字节或8字节存储。float(n):n取值在1-24内,精度有效位数为6 位数,长度4 个字节,是单精度,n取值在25-53内,精度有效位数为15 位数,长度8 字节,是双精度。 FLOAT/DOUBLE FLOAT/DOUBLE FLOAT/DOUBLE smallserial 序列数据类型,以smallint格式存储。 SMALLINT SMALLINT SMALLINT serial 序列数据类型,以int格式存储。 INTEGER INT INT bigserial 序列数据类型,以bigint格式存储。 BIGINT BIGINT BIGINT 日期时间 date 存储日期数据 DATE DATE DATE timestamp 存储日期和时间数据,无时区 TIMESTAMP TIMESTAMP 不支持(String) timestamptz 存储日期和时间数据,有时区 TIMESTAMP TIMESTAMPZ 不支持(String) time 只用于一日内时间,无时区 不支持(String) TIME 不支持(String) timez 只用于一日内时间,有时区 不支持(String) TIMEZ 不支持(String) interval 时间间隔 不支持(String) 不支持(String) 不支持(String) 位串类型 bit 定长位串,例如: b'000101' 不支持(String) 不支持(String) 不支持(String) varbit 可变长位串,例如: b'101' 不支持(String) 不支持(String) 不支持(String) 货币类型 money 存储在8个字节中,它允许的范围是从-922337203685477.5808到922337203685477.5807。 DOUBLE MONEY DECIMAL(P,S) 布尔类型 boolean 存储在1个字节中,可以取值为 1、0 或 NULL。 BOOLEAN BOOLEAN BOOLEAN 文本类型 text 变长文本,无长度限制。 不支持(String) 不支持(String) 不支持(String)
共100000条