华为云用户手册

  • MALLOC_CONF 环境变量MALLOC_CONF用于控制监控模块是否开启,位于${BIGDATA_HOME}/mppdb/.mppdbgs_profile文件内,默认开启。需注意: 修改此环境变量变化,需要重启数据库。 如果在集群中启用了om_monitor,完成环境变量设置后,先重启om_monitor进程后,然后重启数据库,使得开关生效。 该环境变量可以设置在集群所有服务器中,也可以仅设置在需要开启模块的个别服务器中,对GaussDB进程而言,各进程是根据各自MALLOC_CONF环境变量,控制模块是否打开。 MALLOC_CONF开启和关闭命令: 开启监控模块: export MALLOC_CONF=prof:true 关闭监控模块: export MALLOC_CONF=prof:false
  • 语法格式 为当前会话设置会话用户标识符和当前用户标识符。 1 SET [ SESSION | LOCAL ] SESSION AUTHORIZATION role_name PASSWORD '{password}'; 重置会话和当前用户标识符为初始认证的用户名。 1 2 {SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT | RESET SESSION AUTHORIZATION};
  • 伪类型 GaussDB(DWS)数据类型中包含一系列特殊用途的类型,这些类型按照类别被称为伪类型。伪类型不能作为字段的数据类型,但是可以用于声明函数的参数或者结果类型。 当一个函数不仅是简单地接受并返回某种SQL数据类型的情况下伪类型是很有用。表1列出了所有的伪类型。 表1 伪类型 名字 描述 any 表示函数接受任何输入数据类型。 anyelement 表示函数接受任何数据类型。 anyarray 表示函数接受任意数组数据类型。 anynonarray 表示函数接受任意非数组数据类型。 anyenum 表示函数接受任意枚举数据类型。 anyrange 表示函数接受任意范围数据类型。 cstring 表示函数接受或者返回一个空结尾的C字符串。 internal 表示函数接受或者返回一种服务器内部的数据类型。 language_handler 声明一个过程语言调用句柄返回language_handler。 fdw_handler 声明一个外部数据封装器返回fdw_handler。 record 标识函数返回一个未声明的行类型。 trigger 声明一个触发器函数返回trigger。 void 表示函数不返回数值。 opaque 一个已经过时的类型,以前用于所有上面这些用途。 声明用C编写的函数(不管是内置的还是动态装载的)都可以接受或者返回任何这样的伪数据类型。当伪类型作为参数类型使用时,用户需要保证函数的正常运行。 用过程语言编写的函数只能使用实现语言允许的伪类型。目前,过程语言不允许使用伪类型作为参数类型,只允许使用void和record作为结果类型。一些多态的函数还支持使用anyelement,anyarray,anynonarray anyenum和anyrange类型。 伪类型internal用于声明只能在数据库系统内部调用的函数,这些函数不能直接在SQL查询里调用。如果某函数至少有一个internal类型的参数,则不能从SQL里调用。建议不要创建任何声明返回internal的函数,除非该函数至少有一个internal类型的参数。 示例: 创建或替换函数showall()。 1 2 3 CREATE OR REPLACE FUNCTION showall() RETURNS SETOF record AS $$ SELECT count(*) from tpcds.store_sales where ss_customer_sk = 9692; $$ LANGUAGE SQL; 调用函数showall()。 1 2 3 4 5 SELECT showall(); showall --------- (35) (1 row) 删除函数。 1 DROP FUNCTION showall(); 父主题: 数据类型
  • 示例 查询会话信息: 1 2 3 4 5 6 7 8 9 10 11 12 13 SELECT sid,serial#,username FROM V$SESSION; sid | serial# | username -----------------+---------+---------- 140131075880720 | 0 | 140131025549072 | 0 | 140131073779472 | 0 | 140131071678224 | 0 | 140131125774096 | 0 | 140131127875344 | 0 | 140131113629456 | 0 | 140131094742800 | 0 | (8 rows) 结束SID为140131075880720的会话: 1 ALTER SYSTEM KILL SESSION '140131075880720,0' IMMEDIATE;
  • 示例 创建表reason_t2,并向表中插入数据: 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE TABLE reason_t2 ( a int primary key, b int, c int ); INSERT INTO reason_t2 VALUES (1, 2, 3); SELECT * FROM reason_t2 ORDER BY 1; a | b | c ---+---+--- 1 | 2 | 3 (1 rows) 向表reason_t2中插入两条数据,一条有冲突,一条无冲突。有冲突的数据进行忽略,无冲突的数据进行插入: 1 2 3 4 5 6 7 INSERT INTO reason_t2 VALUES (1, 4, 5),(2, 6, 7) ON CONFLICT(a) DO NOTHING; SELECT * FROM reason_t2 ORDER BY 1; a | b | c ---+---+---- 1 | 2 | 3 2 | 6 | 7 (2 rows) 向表reason_t2中插入数据,一条有冲突,一条无冲突。有冲突的数据进行更新,无冲突的数据进行插入: 1 2 3 4 5 6 7 8 INSERT INTO reason_t2 VALUES (1, 4, 5),(3, 8, 9) ON CONFLICT(a) DO UPDATE SET b = EXCLUDED.b, c = EXCLUDED.c; SELECT * FROM reason_t2 ORDER BY 1; a | b | c ---+---+---- 1 | 4 | 5 2 | 6 | 7 3 | 8 | 9 (3 rows) 根据过滤条件筛选被更新的行: 1 2 3 4 5 6 7 8 INSERT INTO reason_t2 VALUES (2, 7, 8) ON CONFLICT (a) DO UPDATE SET b = excluded.b, c = excluded.c WHERE reason_t2.c = 7; SELECT * FROM reason_t2 ORDER BY 1; a | b | c ---+---+--- 1 | 4 | 5 2 | 7 | 8 3 | 8 | 9 (3 rows) 向表reason_t中插入数据,有冲突的数据进行更新并调整更新映射关系,即c列更新到b,b列更新到c: 1 2 3 4 5 6 7 8 INSERT INTO reason_t2 VALUES (1, 2, 3) ON CONFLICT (a) DO UPDATE SET b = excluded.c, c = excluded.b; SELECT * FROM reason_t2 ORDER BY 1; a | b | c ---+---+--- 1 | 3 | 2 2 | 7 | 8 3 | 8 | 9 (3 rows)
  • 语法格式 详细介绍请参见INSERT的语法格式。有两种UPSERT语法格式: 表1 UPSERT语法格式 语法格式 冲突更新 冲突忽略 第一种:不指定索引 INSERT INTO ON DUPLICATE KEY UPDATE INSERT IGNORE INSERT INTO ON CONFLICT DO NOTHING 第二种:从指定列名或者约束上可以推断唯一约束 INSERT INTO ON CONFLICT(...) DO UPDATE SET INSERT INTO ON CONFLICT ON CONSTRAINT con_name DO UPDATE SET INSERT INTO ON CONFLICT(...) DO NOTHING INSERT INTO ON CONFLICT ON CONSTRAINT con_name DO NOTHING
  • pg_my_temp_schema() 描述:pg_my_temp_schema返回当前会话中临时模式的OID,如果不存在(没有创建临时表)的话则返回0。如果给定的OID是其它会话中临时模式的OID,pg_is_other_temp_schema则返回true。 返回值类型:oid 示例: 1 2 3 4 5 SELECT pg_my_temp_schema(); pg_my_temp_schema ------------------- 0 (1 row)
  • pg_postmaster_start_time() 描述:服务器启动时间。pg_postmaster_start_time返回服务器启动时的timestamp with time zone。 返回值类型:timestamp with time zone 示例: 1 2 3 4 5 SELECT pg_postmaster_start_time(); pg_postmaster_start_time ------------------------------ 2017-08-30 16:02:54.99854+08 (1 row)
  • pgxc_version() 描述:Postgres-XC版本信息。 返回值类型:text 示例: 1 2 3 4 5 SELECT pgxc_version(); pgxc_version ------------------------------------------------------------------------------------------------------------- Postgres-XC 1.1 on x86_64-unknown-linux-gnu, based on PostgreSQL 9.2.4, compiled by g++ (GCC) 5.4.0, 64-bit (1 row)
  • version() 描述:版本信息。version返回一个描述服务器版本信息的字符串。 返回值类型:text 示例: 1 2 3 4 5 SELECT version(); version --------------------------------------------------------------------------------------------------------------------------------------- PostgreSQL 9.2.4 gsql ((GaussDB 8.2.0 build 39137c2d) compiled at 2022-09-23 15:43:11 commit 3629 last mr 5138 release) on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 5.4.0, 64-bit (1 row)
  • current_user 描述:当前执行环境下的用户名。current_user是用于权限检查的用户标识。通常用来表示会话用户,但是可以通过SET ROLE来修改设置。在函数执行的过程中随着属性SECURITY DEFINER的改变,其值也会改变。 返回值类型:name 示例: 1 2 3 4 5 SELECT current_user; current_user -------------- dbadmin (1 row)
  • current_schemas(boolean) 描述:搜索路径中的模式名字。 current_schemas(boolean)返回搜索路径中所有模式名字的数组。布尔选项决定像pg_catalog这样隐含包含的系统模式是否包含在返回的搜索路径中。 返回值类型:name[] 示例: 1 2 3 4 5 SELECT current_schemas(true); current_schemas --------------------- {pg_catalog,public} (1 row) 搜索路径可以通过运行时设置更改。命令是: 1 SET search_path TO schema [, schema, ...]
  • current_schema[()] 描述:当前模式的名字。current_schema返回在搜索路径中第一个顺位有效的模式名。(如果搜索路径为空则返回NULL,没有有效的模式名也返回NULL)。如果创建表或者其他命名对象时没有声明目标模式,则将使用这些对象的模式。 返回值类型:name 示例: 1 2 3 4 5 SELECT current_schema(); current_schema ---------------- public (1 row)
  • pg_conf_load_time() 描述:配置加载时间。pg_conf_load_time返回最后加载服务器配置文件的时间戳。 返回值类型:timestamp with time zone 示例: 1 2 3 4 5 SELECT pg_conf_load_time(); pg_conf_load_time ------------------------------ 2017-09-01 16:05:23.89868+08 (1 row)
  • 条件表达式 在执行SQL语句时,可通过条件表达式筛选出符合条件的数据。 条件表达式主要有以下几种: CASE CASE表达式是条件表达式,类似于其他编程语言中的CASE语句。 CASE表达式的语法图请参考图1。 图1 case::= CASE子句可以用于合法的表达式中。condition是一个返回BOOLEAN数据类型的表达式: 如果结果为真,CASE表达式的结果就是符合该条件所对应的result。 如果结果为假,则以相同方式处理随后的WHEN或ELSE子句。 如果各WHEN condition都不为真,表达式的结果就是在ELSE子句执行的result。如果省略了ELSE子句且没有匹配的条件,结果为NULL。 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 CREATE TABLE tpcds.case_when_t1(CW_COL1 INT) DISTRIBUTE BY HASH (CW_COL1); INSERT INTO tpcds.case_when_t1 VALUES (1), (2), (3); SELECT * FROM tpcds.case_when_t1; cw_col1 --------- 3 1 2 (3 rows) SELECT CW_COL1, CASE WHEN CW_COL1=1 THEN 'one' WHEN CW_COL1=2 THEN 'two' ELSE 'other' END FROM tpcds.case_when_t1; cw_col1 | case ---------+------- 3 | other 1 | one 2 | two (3 rows) DROP TABLE tpcds.case_when_t1; DECODE DECODE的语法图请参见图2。 图2 decode::= 将表达式base_expr与后面的每个compare(n) 进行比较,如果匹配返回相应的value(n)。如果没有发生匹配,则返回default。 示例请参见条件表达式函数。 1 2 3 4 5 SELECT DECODE('A','A',1,'B',2,0); case ------ 1 (1 row) COALESCE COALESCE的语法图请参见图3。 图3 coalesce::= COALESCE返回它的第一个非NULL的参数值。如果参数都为NULL,则返回NULL。它常用于在显示数据时用缺省值替换NULL。和CASE表达式一样,COALESCE只计算用来判断结果的参数,即在第一个非空参数右边的参数不会被计算。 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 CREATE TABLE tpcds.c_tabl(description varchar(10), short_description varchar(10), last_value varchar(10)) DISTRIBUTE BY HASH (last_value); INSERT INTO tpcds.c_tabl VALUES('abc', 'efg', '123'); INSERT INTO tpcds.c_tabl VALUES(NULL, 'efg', '123'); INSERT INTO tpcds.c_tabl VALUES(NULL, NULL, '123'); SELECT description, short_description, last_value, COALESCE(description, short_description, last_value) FROM tpcds.c_tabl ORDER BY 1, 2, 3, 4; description | short_description | last_value | coalesce -------------+-------------------+------------+---------- abc | efg | 123 | abc | efg | 123 | efg | | 123 | 123 (3 rows) DROP TABLE tpcds.c_tabl; 如果description不为NULL,则返回description的值,否则计算下一个参数short_description;如果short_description不为NULL,则返回short_description的值,否则计算下一个参数last_value;如果last_value不为NULL,则返回last_value的值,否则返回(none)。 1 2 3 4 5 SELECT COALESCE(NULL,'Hello World'); coalesce --------------- Hello World (1 row) NULLIF NULLIF的语法图请参见图4。 图4 nullif::= 只有当value1和value2相等时,NULLIF才返回NULL。否则它返回value1。 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 CREATE TABLE tpcds.null_if_t1 ( NI_VALUE1 VARCHAR(10), NI_VALUE2 VARCHAR(10) ) DISTRIBUTE BY HASH (NI_VALUE1); INSERT INTO tpcds.null_if_t1 VALUES('abc', 'abc'); INSERT INTO tpcds.null_if_t1 VALUES('abc', 'efg'); SELECT NI_VALUE1, NI_VALUE2, NULLIF(NI_VALUE1, NI_VALUE2) FROM tpcds.null_if_t1 ORDER BY 1, 2, 3; ni_value1 | ni_value2 | nullif -----------+-----------+-------- abc | abc | abc | efg | abc (2 rows) DROP TABLE tpcds.null_if_t1; 如果value1等于value2则返回NULL,否则返回value1。 1 2 3 4 5 SELECT NULLIF('Hello','Hello World'); nullif -------- Hello (1 row) GREATEST(最大值),LEAST(最小值) GREATEST的语法图请参见图5。 图5 greatest::= 从一个任意数字表达式的列表里选取最大的数值。 1 2 3 4 5 SELECT greatest(9000,155555,2.01); greatest ---------- 155555 (1 row) LEAST的语法图请参见图6。 图6 least::= 从一个任意数字表达式的列表里选取最小的数值。 以上的数字表达式必须都可以转换成一个普通的数据类型,该数据类型将是结果类型。 列表中的NULL值将被忽略。只有所有表达式的结果都是NULL的时候,结果才是NULL。 1 2 3 4 5 SELECT least(9000,2); least ------- 2 (1 row) 示例请参见条件表达式函数。 NVL NVL的语法图请参见图7。 图7 nvl::= 如果value1为NULL则返回value2,如果value1非NULL,则返回value1。 示例: 1 2 3 4 5 SELECT nvl(null,1); nvl ----- 1 (1 row) 1 2 3 4 5 SELECT nvl ('Hello World' ,1); nvl --------------- Hello World (1 row) IF IF的语法图请参见图8。 图8 if::= 当bool_expr为true时,返回expr1,否则返回expr2。 示例请参见条件表达式函数。 IFNULL IFNULL的语法图请参见图9。 图9 ifnull::= 只有当value1和value2相等时,IFNULL才返回NULL。否则它返回value1。 示例请参见条件表达式函数。 父主题: 表达式
  • 示例 修改现有名为hdfs_server的address: 1 ALTER SERVER hdfs_server OPTIONS ( SET address '10.10.0.110:25000,10.10.0.120:25000'); 修改现有名为hdfs_server的hdfscfgpath: 1 ALTER SERVER hdfs_server OPTIONS ( SET hdfscfgpath '/opt/bigdata/hadoop');
  • 参数说明 server_name 所修改的server的名字。 new_version 修改后server的新版本名称。 修改server所支持的OPTIONS如下所示: address OBS服务的终端节点(Endpoint)。 HDFS集群的主备节点所在的IP地址以及端口。 对于HDFS server,address必须存在,所以ADD和DROP操作不被允许。 address目前只支持点分十进制格式的ipv4格式,且address字符串中不能出现空格,多组address以逗号作为分隔符。ip和port之间使用“:”来区分。HDFS集群中ip、port组对推荐设置两组,分别对应HDFS NameNode主备节点的address。 当server类型为DLI时,address为DLI服务上数据所存储的OBS address。 hdfscfgpath HDFS集群的配置文件。 若HDFS走安全模式时,hdfscfgpath是必选项,否则为可选项。 若设置hdfscfgpath时,path仅能设置一个。 fed 表示dfs_fdw连接的是HDFS为联邦模式。 取值rbf,表示HDFS为联邦rbf方式。 该参数8.1.2及以上版本支持;8.0.0基线版本下,仅8.0.0.10及以上版本支持。 encrypt 是否对数据进行加密,该参数仅支持在type为OBS时设置。默认值为off。 取值范围: on表示对数据进行加密。 off表示不对数据进行加密。 access_key OBS访问协议对应的AK值(OBS云服务界面由用户获取),创建外表时AK值会加密保存到数据库的元数据表中。该参数仅支持type为OBS时设置。 secret_access_key OBS访问协议对应的SK值(OBS云服务界面由用户获取),创建外表时SK值会加密保存到数据库的元数据表中。该参数仅支持type为OBS时设置。 dli_address DLI服务的终端节点,即endpoint。该参数仅支持type为DLI时设置。 dli_access_key DLI访问协议对应的AK值(DLI云服务界面由用户获取),创建外表时AK值会保存到数据库的元数据表中。该参数仅支持type为DLI时设置。 dli_secret_access_key DLI访问协议对应的SK值(DLI云服务界面由用户获取),创建外表时SK值会加密保存到数据库的元数据表中。该参数仅支持type为DLI时设置。 region 此参数表示OBS服务的IP地址或者域名信息。该参数仅支持type为OBS时设置。 dbname 用于协同分析、跨集群互联互通,表示将要连接的远端集群的数据库名字。 username 用于协同分析、跨集群互联互通,表示将要连接的远端集群的用户名。 password 用于协同分析、跨集群互联互通,表示将要连接的远端集群的用户名密码。 syncsrv 仅用于跨集群互联互通,表示数据同步过程中使用到的GDS服务,设置方式与GDS外表的location属性相同。该参数仅8.1.2及以上版本支持。 new_owner 修改后server的新拥有者。更改所有者,必须是外部服务器的所有者并且也是新的所有者角色的直接或者间接成员,并且必须对外部服务器的外部数据封装器有USAGE权限。 new_name 修改后server的新名字。 REFRESH OPTIONS 刷新HDFS的配置文件信息,在配置文件有变动时执行,若不执行可能会访问报错。
  • 语法格式 修改外部服务的参数。 1 2 ALTER SERVER server_name [ VERSION 'new_version' ] [ OPTIONS ( {[ ADD | SET | DROP ] option ['value']} [, ... ] ) ]; 在OPTIONS选项里,ADD、SET和DROP指定要执行的操作,未指定时默认为ADD操作。option和value为对应操作的参数。 对于HDFS Server目前只支持SET操作,ADD/DROP操作现有版本不支持。语法中SET和DROP操作语法依然保留,以便后续扩展使用。 修改外部服务的所有者。 1 2 ALTER SERVER server_name OWNER TO new_owner; 修改外部服务的名字。 1 2 ALTER SERVER server_name RENAME TO new_name; 刷新HDFS配置文件。仅8.0.0.10及以上版本支持(8.1.0除外)。 1 ALTER SERVER server_name REFRESH OPTIONS;
  • 操作步骤 创建一个名为thesaurus_astro的TZ词典。 以一个简单的天文学词典thesaurus_astro为例,其中定义了两组天文短语及其同义词如下: 1 2 supernovae stars : sn crab nebulae : crab 执行如下语句创建TZ词典: 1 2 3 4 5 6 CREATE TEXT SEARCH DICTIONARY thesaurus_astro ( TEMPLATE = thesaurus, DictFile = thesaurus_astro, Dictionary = pg_catalog.english_stem, FILEPATH = 'obs://bucket_name/path accesskey=ak secretkey=sk region=rg' ); 其中,词典定义文件全名为thesaurus_astro.ths,所在目录为 "obs://bucket_name/path accesskey=ak secretkey=sk region=rg"。子词典pg_catalog.english_stem是预定义的Snowball类型的英语词干词典,用于规范化输入词,子词典自身相关配置(例如停用词等)不在此处显示。关于创建词典的语法和更多参数,请参见CREATE TEXT SEARCH DICTIONARY。 创建词典后,将其绑定到对应文本搜索配置中需要处理的token类型上: 1 2 3 ALTER TEXT SEARCH CONFIGURATION english ALTER MAPPING FOR asciiword, asciihword, hword_asciipart WITH thesaurus_astro, english_stem; 使用TZ词典。 测试TZ词典。 ts_lexize函数对于测试TZ词典作用不大,因为该函数是按照单个token处理输入。可以使用plainto_tsquery、to_tsvector、to_tsquery函数测试TZ词典,这些函数能够将输入分解成多个token(to_tsquery函数需要将输入加上引号)。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 SELECT plainto_tsquery('english','supernova star'); plainto_tsquery ----------------- 'sn' (1 row) SELECT to_tsvector('english','supernova star'); to_tsvector ------------- 'sn':1 (1 row) SELECT to_tsquery('english','''supernova star'''); to_tsquery ------------ 'sn' (1 row) 其中,supernova star匹配了词典thesaurus_astro定义中的supernovae stars,这是因为在thesaurus_astro词典定义中指定了Snowball类型的子词典english_stem,该词典移除了e和s。 如果同时需要索引原始短语,只要将其同时放置在词典定义文件中对应定义的右侧即可,如下: 1 2 3 4 5 6 7 8 9 10 11 supernovae stars : sn supernovae stars ALTER TEXT SEARCH DICTIONARY thesaurus_astro ( DictFile = thesaurus_astro, FILEPATH = 'file:///home/dicts/'); SELECT plainto_tsquery('english','supernova star'); plainto_tsquery ----------------------------- 'sn' & 'supernova' & 'star' (1 row)
  • 注意事项 由于TZ词典需要识别短语,所以在处理过程中必须保存当前状态并与解析器进行交互,以决定是否处理下一个token或是结束当前识别。此外,TZ词典配置时需谨慎,如果设置TZ词典仅处理asciiword类型的token,则类似one 7的分类词典定义将不会生效,因为uint类型的token不会传给TZ词典处理。 在索引期间要用到分类词典,因此分类词典参数中的任何变化都要求重新索引。对于其他大多数类型的词典来说,类似添加或删除停用词这种修改并不需要强制重新索引。
  • width_bucket(operand numeric, b1 numeric, b2 numeric, count int) 描述:设定分组范围的最小值、最大值和分组个数,构建指定个数的大小相同的分组,返回指定字段值落入的分组编号。b1为分组范围的最小值,b2为分组范围的最大值,count为分组的个数。 返回值类型:integer 示例: 1 2 3 4 5 SELECT width_bucket(5.35, 0.024, 10.06, 5); width_bucket -------------- 3 (1 row)
  • width_bucket(operand double precision, b1 double precision, b2 double precision, count int) 描述:设定分组范围的最小值、最大值和分组个数,构建指定个数的大小相同的分组,返回指定字段值落入的分组编号。b1为分组范围的最小值,b2为分组范围的最大值,count为分组的个数。 返回值类型:integer 示例: 1 2 3 4 5 SELECT width_bucket(5.35, 0.024, 10.06, 5); width_bucket -------------- 3 (1 row)
  • round(double precision or numeric) 描述:离输入参数最近的整数。 返回值类型:与输入相同。 示例: 1 2 3 4 5 6 7 8 9 10 11 SELECT round(42.4); round ------- 42 (1 row) SELECT round(42.6); round ------- 43 (1 row) 当调用round函数时,数值类型将舍入零,而(在大多数计算机上) 实数和双精度型,以最接近的偶数为结果。
  • log(double precision or numeric) 描述:以10为底的对数。 ORA和TD兼容模式下,表现为以10为底的对数。 MySQL兼容模式下,表现为自然对数。 返回值类型:与输入相同。 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -- ORA兼容模式 SELECT log(100.0); log -------------------- 2.0000000000000000 (1 row) -- TD兼容模式 SELECT log(100.0); log -------------------- 2.0000000000000000 (1 row) -- MySQL兼容模式 SELECT log(100.0); log -------------------- 4.6051701859880914 (1 row)
  • 实体卡订单续费 选择需要续费的订单。 登录全球SIM联接控制台,单击左侧“订单及续费管理”菜单,进入订单管理页面,勾选出需要续费的单个或多个订单,单击页面上方的“续费”,进入续费操作页面。 如果在复选框勾选了多个订单,则按照指定订单中满足续费条件的订单续费;如果不选择订单,则对所有订单中满足续费条件的订单续费。 若所选订单中包含不支持续费的批次号(仅卡类型为实体卡,订单状态为已完成,订单类型为新购或卡转移,未组后向流量池的订单支持续费),系统会为您自动过滤掉。 续费时,若勾选订单,则勾选的订单数量不能超过10个;若不勾选订单,则系统自动选择满足续费条件的所有订单(订单的数量不能超过50个,否则无法进行后续操作)。 选择操作方式。 当不选择订单时,单击“续费”,可对用户所有满足续费条件且包含可续费卡的订单进行续费。 操作方式为“订单”,即按订单续费。 操作方式为“文件”,即按实体卡续费,表示对订单下满足条件的特定实体卡进行续费。“下载可续费卡”可以获取可续费卡的容器ID,可自行删减数据。 修改excel文件后上传。 操作方式为“30天到期”、“60天到期”或“90天到期”。根据标签和SIM卡状态设置筛选条件,以筛选订单下满足条件,且在30/60/90天内到期的特定实体卡进行续费。 当选择订单续费时,会带入续费订单批次号,给所选择的订单进行续费,系统会过滤掉不满足续费条件的订单。操作方式可选择按“订单”、“文件”、“30天到期”、“60天到期”或“90天到期”。 按订单 按文件 按“30天到期”、“60天到期”或“90天到期” 确认续费订单信息。 单击“确定”,进入“订单确认”页面,可以选择订单的购买时长。确认续费订单详情是否正确。 如有疑问,请联系华为工程师处理。 完成订单支付。 订单信息确认完成后,单击“去支付”,进入支付页面,完成订单支付。 跟踪续费订单状态至完成即可。 在订单管理页面,通过单击批次号,进入订单详情页面,可以查看本次续费涉及的SIM卡列表(当前仅当订单已经审核通过后才会展示)。
  • 总览 进入全球SIM联接控制台总览页,可查看SIM卡和设备的总体信息。 SIM卡状态 SIM卡状态统计了当前平台中SIM卡的数量,以及处在不同生命周期的SIM卡套餐的数量。SIM卡的不同生命周期状态说明如下: 状态 说明 可激活 SIM卡有购买套餐,但还没开始使用。 在用 SIM卡有购买套餐,且正在使用。 已停用 SIM卡的套餐流量用完或手动进行停用操作。 已拆机 SIM卡在已停用后进行了销户操作。 流量统计 方便查看到流量预警、流量套餐到期统计、流量总使用量趋势(最近30天)、当月单卡用量TOP排名,单击统计项可快捷跳转到关联的操作页面。 订单状态 方便查看不同状态下的订单数,包括审核中、已审核、待发货(续费中)、已发货、已完成、已取消(实体卡不涉及)、失败、审核不通过、处理中和退订,单击统计项可快捷跳转到关联的操作页面。 业务受理状态 业务受理用来跟踪诸如停复机、批量停复机、批量转移实体卡、批量激活实体卡(激活全部、激活部分)、创建流量池等操作。 方便查看业务受理状态,包括审核中、已审核、处理中、已完成、已取消、失败和审核不通过,单击统计项可快捷跳转到关联的操作页面。 父主题: 控制台功能介绍
  • 示例流程 图1 给用户授权GSL权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予全球SIM联接所有权限“GSL FullAccess”。 在创建用户组并授权时,需指定全球SIM联接所有权限“GSL FullAccess”的授权范围为所有资源。如指定为全局服务资源等授权范围时,加入该用户组中的用户通过控制台访问全球SIM联接时,将会提示权限不足。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,验证全球SIM联接所有权限: 在“服务列表”中,选择全球SIM联接,进入GSL总览界面,如果总览界面正常展示,表示“GSL FullAccess”已生效。 在“服务列表”中,选择除全球SIM联接外的任一服务,若提示权限不足,表示“GSL FullAccess”已生效。
  • Step6 预测结果 在“在线服务”页面,单击在线服务名称,进入服务详情页面。 单击“预测”页签,请求类型选择“multipart/form-data”,请求参数填写“image”,单击“上传”按钮上传示例图片,然后单击“预测”。 预测完成后,预测结果显示区域将展示预测结果,根据预测结果内容,可识别出此图片的数字是“2”。 本案例中使用的MNIST是比较简单的用做demo的数据集,配套算法也是比较简单的用于教学的神经网络算法。这样的数据和算法生成的模型仅适用于教学模式,并不能应对复杂的预测场景。即生成的模型对预测图片有一定范围和要求,预测图片必须和训练集中的图片相似(黑底白字)才可能预测准确。 ModelArts的AI Gallery中提供了常见的精度较高的算法和相应的训练数据集,用户可以在AI Gallery的资产集市中获取。 图17 示例图片 图18 预测结果展示
  • Step2 准备训练数据 以Llama-7B为例,全量微调训练使用的是开源的wiki2048数据集。下载数据集之后,需要将开源数据集转化为MindSpore可以读取的数据格式,然后上传到OBS桶中,用于后续的算法训练。 下载WikiText2数据集到用户本地电脑,并转化数据集格式为MindSpore可以读取的数据格式(xxx.mindrecord.db和xxx.mindrecord),具体操作请参见文档。 请参考以下要求创建OBS桶中的文件夹,并上传数据到OBS桶中,用于后续的算法微调训练。 OBS文件夹目录要求如下: {OBS桶} # OBS对象桶,用户可以自定义名称,例如:llm-mindspore-ma -{OBS文件夹} # OBS文件夹,用于存放训练输入数据,用户可以自定义名称,例如:wiki2048 - wiki2048.mindrecord.db # 训练数据集 - wiki2048.mindrecord # 训练数据集 -{OBS文件夹} #训练输出路径,用于存放训练生成的模型文件等,用户可以自定义名称,例如:output -{OBS文件夹} #作业日志路径,用于存放训练日志,用户可以自定义名称,例如:log
  • 同样功能的PyTorch Pipeline,因为指导要求适配onnx pipeline,两个pipeline本身功能就有差别,如何适配? 由于Diffusers社区的“single model file policy”设计原则,不同的pipeline是不同路径在独立演进的。先确保应用输出符合预期后,再进入到MindSpore Lite模型转换的过程,否则迁移昇腾后还是会遇到同样的问题。 父主题: 常见问题
共100000条