云服务器内容精选

  • 引用字符和转义字符使用示例 引用字符和转义字符使用说明: 引用字符:用于识别分割字段,默认值:英文双引号(")。 转义字符:在导出结果中如果需要包含特殊字符,如引号本身,可以使用转义字符(反斜杠 \ )来表示。默认值:英文反斜杠(\)。 假设两个quote_char之间的数据内容存在第三个quote_char,则在第三个quote_char前加上escape_char,从而避免字段内容被分割。 假设数据内容中原本就存在escape_char,则在这个原有的escape_char前再加一个escape_char,避免原来的那个字符起到转义作用。 应用示例: 在进行转储时,如果引用字符和转义字符不填,如下图所示。 下载的.csv用excel打开以后如下图所示,是分成两行的。 在转储时,如果引用字符和转义字符都填写,比如,引用字符和转义字符都填英文双引号("),则下载以后查看结果如下图所示。
  • 质量监控 对已编排好的单任务作业关联质量作业,当前暂不支持单任务Data Migration作业和单任务的实时作业。 质量监控支持并行和串行两种方式。单击画布右侧“质量监控”页签,展开配置页面,配置如表6所示的参数。 表6 质量监控配置 参数 说明 执行方式 选择质量监控的执行方式: 并行:并行模式下,所有质量作业算子的上游都被设置为主算子。 串行:串行模式下,质量作业将依照配置面板由上至下的顺序依次串联,顶部的质量作业依赖于主算子。 质量作业 关联质量作业。 单击“新增”,右侧自动弹出Data Quality Monitor算子的页面。 节点名称可自定义。 DQC作业类型选择“质量作业”。 说明: 对账作业目前不支持。 选择需要关联的“质量作业名称”,其他参数根据实际业务需要配置。如果没有质量作业,请参考新建数据质量作业创建一个质量作业。 说明: 单击“新增”可以关联多个质量作业。 单击可以修改已关联的质量作业。 单击可以删除已关联的质量作业。 是否忽略质量作业告警 是:质量作业告警可以忽略 否:质量作业告警不可忽略,产生告警时,上报告警。 配置高级参数。 配置节点执行的最长时间。设置节点执行的超时时间,如果节点配置了重试,在超时时间内未执行完成,该节点将会再次重试。 失败重试。节点执行失败后,是否重新执行节点。 是:重新执行节点,请配置以下参数。 超时重试 最大重试次数 重试间隔时间(秒) 否:默认值,不重新执行节点。 说明: 如果作业节点配置了重试,并且配置了超时时间,该节点执行超时后,系统支持再重试。 当节点运行超时导致的失败不会重试时,您可前往“默认项设置”修改此策略。 当“失败重试”配置为“是”才显示“超时重试”。 节点执行失败后的操作: 终止当前作业执行计划:停止当前作业运行,当前作业实例状态显示为“失败”。 继续执行下一节点:忽略当前节点失败,当前作业实例状态显示为“忽略失败”。 挂起当前作业执行计划:暂停当前作业运行,当前作业实例状态显示为“等待运行”。 终止后续节点执行计划:停止后续节点的运行,当前作业实例状态显示为“失败”。 单击“确定”,质量监控配置完成。
  • 下载或转储脚本执行结果 脚本运行成功后,支持下载和转储SQL脚本执行结果。系统默认支持所有用户都能下载和转储SQL脚本的执行结果。如果您不希望所有用户都有该操作权限,可参考配置数据导出策略进行配置。 脚本执行完成后在“执行结果”中,单击“下载”可以直接下载 CS V格式的结果文件到本地。可以在下载中心查看下载记录。 脚本执行完成后在“执行结果”中,单击“转储”可以将脚本执行结果转储为CSV和JSON格式的结果文件到OBS中,详情请参见表7。 转储功能依赖于OBS服务,如无OBS服务,则不支持该功能。 当前仅支持转储SQL脚本查询(query)类语句的结果。 DataArts Studio 的下载或转储的SQL结果中,如果存在英文逗号、换行符等这种特殊符号,可能会导致数据错乱、行数变多等的问题。 表7 转储配置 参数 是否必选 说明 数据格式 是 目前支持导出CSV和JSON格式的结果文件。 资源队列 否 选择执行导出操作的 DLI 队列。当脚本为DLI SQL时,配置该参数。 压缩格式 否 选择压缩格式。当脚本为DLI SQL时,配置该参数。 none bzip2 deflate gzip 存储路径 是 设置结果文件的OBS存储路径。选择OBS路径后,您需要在选择的路径后方自定义一个文件夹名称,系统将在OBS路径下创建文件夹,用于存放结果文件。 您也可以到下载中心配置默认的OBS路径地址,配置好后在转储时会默认填写。 覆盖类型 否 如果“存储路径”中,您自定义的文件夹在OBS路径中已存在,选择覆盖类型。当脚本为DLI SQL时,配置该参数。 覆盖:删除OBS路径中已有的重名文件夹,重新创建自定义的文件夹。 存在即报错:系统返回错误信息,退出导出操作。 是否导出列名 否 是:导出列名 否:不导出列名 字符集 否 UTF-8:默认字符集。 GB2312:当导出数据中包含中文字符集时,推荐使用此字符集。 GBK:国家标准GB2312基础上扩容后兼容GB2312的标准。 引用字符 否 仅在数据格式为csv格式时支持配置引用字符。 引用字符在导出作业结果时用于标识文本字段的开始和结束,即用于分割字段。 仅支持设置一个字符。默认值是英文双引号(")。 主要用于处理包含空格、特殊字符或与分隔符相同字符的数据。 关于“引用字符”和“转义字符”的使用示例请参考引用字符和转义字符使用示例。 转义字符 否 仅在数据格式为csv格式时支持配置转义字符。 在导出结果中如果需要包含特殊字符,如引号本身,可以使用转义字符(反斜杠 \ )来表示。 仅支持设置一个字符。默认值是英文反斜杠(\)。 常用转义字符的场景: 假设两个引用字符之间的数据内容存在第三个引用字符,则在第三个引用字符前加上转义字符,从而避免字段内容被分割。 假设数据内容中原本就存在转义字符,则在这个原有的转义字符前再加一个转义字符,避免原来的那个字符起到转义作用。 关于“引用字符”和“转义字符”的使用示例请参考引用字符和转义字符使用示例。 相对于直接查看SQL脚本的执行结果,通过下载和转储能够支持获取更多的执行结果。各类SQL脚本查看、下载、转储支持的规格如表8所示。 表8 SQL脚本支持查看/下载/转储规格 SQL类型 在线查看最大结果条数 下载最大结果 转储最大结果 DLI 1000 1000条且少于3MB 无限制 Hive 1000 1000条且少于3MB 10000条或3MB DWS 1000 1000条且少于3MB 10000条或3MB Spark 1000 1000条且少于3MB 10000条或3MB RDS 1000 1000条且少于3MB 不支持 Doris 1000 1000条且少于3MB 1000条或3MB
  • 调测并保存作业 作业配置完成后,请执行以下操作: 单击画布上方的运行按钮,运行作业。 用户可以查看该作业的运行日志,单击“查看日志”可以进入查看日志界面查看日志的详细信息记录。 运行完成后,单击画布上方的保存按钮,保存作业的配置信息。 保存后,在右侧的版本里面,会自动生成一个保存版本,支持版本回滚。保存版本时,一分钟内多次保存只记录一次版本。对于中间数据比较重要时,可以通过“新增版本”按钮手动增加保存版本。
  • 配置作业参数 单击编辑器右侧的“参数”,展开配置页面,配置如表4所示的参数。 表4 作业参数配置 功能 说明 变量 新增 单击“新增”,在文本框中填写作业参数的名称和参数值。 参数名称 名称只能包含字符:英文字母、数字、中划线和下划线。 参数值 字符串类的参数直接填写字符串,例如:str1。 数值类的参数直接填写数值或运算表达式。 参数配置完成后,在作业中的引用格式为${参数名称}。 编辑参数表达式 在参数值文本框后方,单击,编辑参数表达式,更多表达式请参见表达式概述。 修改 在参数名和参数值的文本框中直接修改。 掩码显示 在参数值为密钥等情况下,从安全角度,请单击将参数值掩码显示。 删除 在参数值文本框后方,单击,删除作业参数。 常量 新增 单击“新增”,在文本框中填写作业常量的名称和参数值。 参数名称 名称只能包含字符:英文字母、数字、中划线和下划线。 参数值 字符串类的参数直接填写字符串,例如:str1。 数值类的参数直接填写数值或运算表达式。 参数配置完成后,在作业中的引用格式为${参数名称}。 编辑参数表达式 在参数值文本框后方,单击,编辑参数表达式,更多表达式请参见表达式概述。 修改 在参数名和参数值的文本框中直接修改,修改完成后,请保存。 删除 在参数值文本框后方,单击,删除作业常量。 工作空间环境变量 查看工作空间已配置的变量和常量。 单击“作业参数预览”页签,展开预览页面,配置如表5所示的参数。 表5 作业参数预览 功能 说明 当前时间 仅单次调度才显示。系统默认为当前时间。 事件触发时间 仅事件驱动调度才显示。系统默认为事件触发时间。 周期调度 仅周期调度才显示。系统默认为调度周期。 具体时间 仅周期调度才显示。周期调度配置的具体运行时间。 起始日期 仅周期调度才显示。周期调度的生效时间。 后N个实例 作业运行调度的实例个数。 单次调度场景默认为1。 事件驱动调度场景默认为1。 周期调度场景 当实例数大于10时,系统最多展示10个日期实例,系统会自动提示“当前参数预览最多支持查看10个实例”。 在作业参数预览中,如果作业参数配置存在语法异常情况系统会给出提示信息。 如果参数配置了依赖作业实际运行时产生的数据,参数预览功能中无法模拟此类数据,则该数据不展示。
  • 步骤3:创建DWS数据库和表 连接已创建的DWS集群。 请参考使用gsql命令行客户端连接DWS集群。 执行以下命令连接DWS集群的默认数据库“gaussdb”: gsql -d gaussdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r gaussdb:DWS集群默认数据库。 DWS集群连接地址:请参见获取集群连接地址进行获取。如果通过公网地址连接,请指定为集群“公网访问地址”或“公网访问 域名 ”,如果通过内网地址连接,请指定为集群“内网访问地址”或“内网访问域名”。如果通过弹性负载均衡连接,请指定为“弹性负载均衡地址”。 dbadmin:创建集群时设置的默认管理员用户名。 -W:默认管理员用户的密码。 在命令行窗口输入以下命令创建数据库“testdwsdb”。 CREATE DATABASE testdwsdb; 执行以下命令,退出gaussdb数据库,连接新创建的数据库“testdwsdb”。 \q gsql -d testdwsdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r 执行以下命令创建表。 create schema test; set current_schema= test; drop table if exists dws_order; CREATE TABLE dws_order ( order_id VARCHAR, order_channel VARCHAR, order_time VARCHAR, pay_amount FLOAT8, real_pay FLOAT8, pay_time VARCHAR, user_id VARCHAR, user_name VARCHAR, area_id VARCHAR );
  • 整体作业开发流程 整体作业开发流程参考图1。 图1 作业开发流程 步骤1:创建队列:创建DLI作业运行的队列。 步骤2:创建RDS Postgres数据库:创建RDS Postgres的数据库和表。 步骤3:创建DWS数据库和表:创建用于接收数据的DWS数据库和表。 步骤4:创建增强型跨源连接:DLI上创建连接RDS和DWS的跨源连接,打通网络。 步骤5:运行作业:DLI上创建和运行Flink OpenSource作业。 步骤6:发送数据和查询结果:RDS Postgres的表上插入数据,在DWS上查看运行结果。
  • 流生态开发支持的数据格式 DLI Flink作业支持如下数据格式: Avro,Avro_merge,BLOB,CSV,EMAIL,JSON,ORC,Parquet,XML。 表4 数据格式和支持的输入输出流 数据格式 支持的输入流 支持的输出流 Avro - OBS输出流 Avro_merge - OBS输出流 BLOB DIS输入流 MRS Kafka输入流 开源Kafka输入流 - CSV DIS输入流 OBS输入流 开源Kafka输入流 DIS输出流 OBS输出流 DWS输出流(通过OBS方式转储) 开源Kafka输出流 文件系统输出流 EMAIL DIS输入流 - JSON DIS输入流 OBS输入流 MRS Kafka输入流 开源Kafka输入流 DIS输出流 OBS输出流 MRS Kafka输出流 开源Kafka输出流 ORC - OBS输出流 DWS输出流(通过OBS方式转储) Parquet - OBS输出流 文件系统输出流 XML DIS输入流 -
  • 云服务生态开发 表1 云服务生态开发一览表 数据源 SQL 自定义作业 输入流:从其他服务或数据库中获取数据 输出流:将处理后的数据写入到其他服务或数据库中 表格存储服务 CloudTable HBase输入流 HBase输出流 OpenTSDB输出流 - 云搜索服务 CSS - Elasticsearch输出流 - 分布式缓存服务 DCS - DCS输出流 自定义作业交互 文档数据库服务 DDS - DDS输出流 - 数据接入服务 DIS DIS输入流 DIS输出流 - 分布式消息服务 DMS DMS输入流 DMS输出流 - 数据仓库服务 DWS - DWS输出流(通过JDBC方式转储) DWS输出流(通过OBS方式转储) 自定义作业交互 MapReduce服务 MRS MRS Kafka输入流 MRS Kafka输出流 MRS HBase输出流 自定义作业交互 对象存储服务 OBS OBS输入流 OBS输出流 - 关系型数据库 RDS - RDS输出流 - 消息通知 服务 SMN - SMN输出流 -
  • 概述 流生态系统基于Flink和Spark双引擎,完全兼容Flink/Storm/Spark开源社区版本接口,并且在此基础上做了特性增强和性能提升,为用户提供易用、低时延、高吞吐的 数据湖探索 数据湖 探索的流生态开发包括云服务生态、开源生态和自拓展生态: 云服务生态 DLI服务在Stream SQL中支持与其他服务的连通。用户可以直接使用SQL从这些服务中读写数据,如DIS、OBS、CloudTable、MRS、RDS、SMN、DCS等。 开源生态 通过对等连接建立与其他VPC的网络连接后,用户可以在DLI的租户独享集群中访问所有Flink和Spark支持的数据源与输出源,如Kafka、Hbase、ElasticSearch等。 自拓展生态 用户可通过编写代码实现从想要的云生态或者开源生态获取数据,作为Flink作业的输入数据。
  • 步骤3:创建DWS数据库和表 连接已创建的DWS集群。 请参考使用gsql命令行客户端连接DWS集群。 执行以下命令连接DWS集群的默认数据库“gaussdb”: gsql -d gaussdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r gaussdb:DWS集群默认数据库。 DWS集群连接地址:请参见获取集群连接地址进行获取。如果通过公网地址连接,请指定为集群“公网访问地址”或“公网访问域名”,如果通过内网地址连接,请指定为集群“内网访问地址”或“内网访问域名”。如果通过弹性负载均衡连接,请指定为“弹性负载均衡地址”。 dbadmin:创建集群时设置的默认管理员用户名。 -W:默认管理员用户的密码。 在命令行窗口输入以下命令创建数据库“testdwsdb”。 CREATE DATABASE testdwsdb; 执行以下命令,退出gaussdb数据库,连接新创建的数据库“testdwsdb”。 \q gsql -d testdwsdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r 执行以下命令创建表。 create schema test; set current_schema= test; drop table if exists dwsresult; CREATE TABLE dwsresult ( car_id VARCHAR, car_owner VARCHAR, car_age INTEGER , average_speed FLOAT8, total_miles FLOAT8 );
  • 整体作业开发流程 整体作业开发流程参考图1。 图1 作业开发流程 步骤1:创建队列:创建DLI作业运行的队列。 步骤2:创建RDS MySQL数据库和表:创建RDS MySQL的数据库和表。 步骤3:创建DWS数据库和表:创建用于接收数据的DWS数据库和表。 步骤4:创建增强型跨源连接:DLI上创建连接RDS和DWS的跨源连接,打通网络。 步骤5:运行作业:DLI上创建和运行Flink OpenSource作业。 步骤6:发送数据和查询结果:RDS MySQL的表上插入数据,在DWS上查看运行结果。
  • 如何合并小文件 使用SQL过程中,生成的小文件过多时,会导致作业执行时间过长,且查询对应表时耗时增大,建议对小文件进行合并。 设置配置项。 spark.sql.shuffle.partitions = 分区数量(即此场景下最终生成的文件数量) 执行SQL。 INSERT OVERWRITE TABLE tablename select * FROM tablename distribute by rand() 父主题: SQL作业开发类
  • (推荐)方案1:使用临时AK/SK 建议使用临时AK/SK,获取方式可参见 统一身份认证 服务_获取临时AK/SK。 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 表1 DLI获取访问凭据相关开发指南 类型 操作指导 说明 FLink作业场景 Flink Opensource SQL使用DEW管理访问凭据 Flink Opensource SQL场景使用DEW管理和访问凭据的操作指导,将Flink作业的输出数据写入到Mysql或DWS时,在connector中设置账号、密码等属性。 Flink Jar 使用DEW获取访问凭证读写OBS 访问OBS的AKSK为例介绍Flink Jar使用DEW获取访问凭证读写OBS的操作指导。 用户获取Flink作业委托临时凭证 DLI提供了一个通用接口,可用于获取用户在启动Flink作业时设置的委托的临时凭证。该接口将获取到的该作业委托的临时凭证封装到com.huaweicloud.sdk.core.auth.BasicCredentials类中。 本操作介绍获取Flink作业委托临时凭证的操作方法。 Spark作业场景 Spark Jar 使用DEW获取访问凭证读写OBS 访问OBS的AKSK为例介绍Spark Jar使用DEW获取访问凭证读写OBS的操作指导。 用户获取Spark作业委托临时凭证 本操作介绍获取Spark Jar作业委托临时凭证的操作方法。
  • 方案2:Spark Jar作业设置获取AK/SK 获取结果为AK/SK时,设置如下: 代码创建SparkContext val sc: SparkContext = new SparkContext() sc.hadoopConfiguration.set("fs.obs.access.key", ak) sc.hadoopConfiguration.set("fs.obs.secret.key", sk) 代码创建SparkSession val sparkSession: SparkSession = SparkSession .builder() .config("spark.hadoop.fs.obs.access.key", ak) .config("spark.hadoop.fs.obs.secret.key", sk) .enableHiveSupport() .getOrCreate() 获取结果为AK/SK和Securitytoken时,鉴权时,临时AK/SK和Securitytoken必须同时使用,设置如下: 代码创建SparkContext val sc: SparkContext = new SparkContext() sc.hadoopConfiguration.set("fs.obs.access.key", ak) sc.hadoopConfiguration.set("fs.obs.secret.key", sk) sc.hadoopConfiguration.set("fs.obs.session.token", sts) 代码创建SparkSession val sparkSession: SparkSession = SparkSession .builder() .config("spark.hadoop.fs.obs.access.key", ak) .config("spark.hadoop.fs.obs.secret.key", sk) .config("spark.hadoop.fs.obs.session.token", sts) .enableHiveSupport() .getOrCreate()