云服务器内容精选

  • 文本分类 文本分类支持导入“txt”和“csv”两种文件类型,文本的编码格式支持“UTF-8”和“GBK”。 文本分类的标注对象和标注文件有2种存放模式。 ModelArts text classfication combine 1.0:文本和标注合并,文本分类的标注对象和标注内容在一个文本文件内,标注对象与标注内容之间,多个标注内容之间可分别指定分隔符。 例如,文本文件的内容如下所示。标注对象与标注内容之间采用tab键分隔。 手感很好,反应速度很快,不知道以后怎样 positive 三个月前买了一个用的非常好果断把旧手机替换下来尤其在待机方面表现得尤为明显 positive 没充一会电源怎么也会发热呢音量健不好用回弹不好 negative 算是给自己的父亲节礼物吧物流很快下单不到24小时就到货了耳机更赞有些低音炮的感觉入耳很紧不会掉棒棒哒 positive ModelArts text classfication 1.0:文本和标注分离,文本分类的标注对象和标注文件均为文本文件,并且以行数进行对应,如标注文件中的第一行表示的是标注对象文件中的第一行的标注。 例如,标注对象“COMMENTS_20180919_114745.txt”的内容如下所示。 手感很好,反应速度很快,不知道以后怎样 三个月前买了一个用的非常好果断把旧手机替换下来尤其在待机方面性能好 没充一会电源怎么也会发热呢音量健不好用回弹不好 算是给自己的父亲节礼物吧物流很快下单不到24小时就到货了耳机更赞有些低音炮的感觉入耳很紧不会掉棒棒哒 标注文件“COMMENTS_20180919_114745_result.txt”的内容。 positive negative negative positive 此数据格式要求将标注对象和标注文件存储在同一目录,并且一一对应,如标注对象文件名为“COMMENTS_20180919_114745.txt”,那么标注文件名为“COMMENTS _20180919_114745_result.txt”。 数据文件存储示例: ├─dataset-import-example │ COMMENTS_20180919_114732.txt │ COMMENTS _20180919_114732_result.txt │ COMMENTS _20180919_114745.txt │ COMMENTS _20180919_114745_result.txt │ COMMENTS _20180919_114945.txt │ COMMENTS _20180919_114945_result.txt
  • 表格 支持从OBS导入csv文件,需要选择文件所在目录,其中csv文件的列数需要跟数据集schema一致。支持自动获取csv文件的schema。 ├─dataset-import-example │ table_import_1.csv │ table_import_2.csv │ table_import_3.csv │ table_import_4.csv
  • 声音分类 ModelArts audio classfication dir 1.0:要求用户将相同标签的声音文件放在一个目录里,并且目录名字即为标签名。 示例: dataset-import-example ├─Cat │ 10.wav │ 11.wav │ 12.wav │ └─Dog 1.wav 2.wav 3.wav
  • 图像分类 图像分类的数据支持两种格式: ModelArts imageNet 1.0:目录方式,只支持单标签 相同标签的图片放在一个目录里,并且目录名字即为标签名。当存在多层目录时,则以最后一层目录为标签名。 示例如下所示,其中Cat和Dog分别为标签名。 dataset-import-example ├─Cat │ 10.jpg │ 11.jpg │ 12.jpg │ └─Dog 1.jpg 2.jpg 3.jpg ModelArts image classification 1.0:txt标签文件,支持多标签 当目录下存在对应的txt文件时,以txt文件内容作为图像的标签。 示例如下所示,import-dir-1和imort-dir-2为导入子目录。 dataset-import-example ├─import-dir-1 │ 10.jpg │ 10.txt │ 11.jpg │ 11.txt │ 12.jpg │ 12.txt └─import-dir-2 1.jpg 1.txt 2.jpg 2.txt 单标签的标签文件示例,如1.txt文件内容如下所示: Cat 多标签的标签文件示例,如2.txt文件内容如下所示: Cat Dog 只支持JPG、JPEG、PNG、BMP格式的图片。单张图片大小不能超过5MB,且单次上传的图片总大小不能超过8MB。
  • DLI 导入数据到ModelArts数据集 表格数据集支持从DLI导入数据。 从DLI导入数据,用户需要选择DLI队列、数据库和表名称。所选择的表的schema(列名和类型)需与数据集一致,支持自动获取所选择表的schema。DLI的详细功能说明,请参考DLI用户指南。 图1 DLI导入数据 队列名称:系统自动将当前账号下的DLI队列展现在列表中,用户可以在下拉框中选择需要的队列。 数据库名称:根据选择的队列展现所有的数据库,请在下拉框中选择您所需的数据库。 表名称:根据选择的数据库展现此数据库中的所有表。请在下拉框中选择您所需的表。 DLI的default队列只用作体验,不同账号间可能会出现抢占的情况,需进行资源排队,不能保证每次都可以得到资源执行相关操作。 DLI支持schema映射的功能,即导入的表的schema的字段名称可以不和数据集相同,但类型要保持一致。 父主题: 导入数据到ModelArts数据集
  • 导入方式 OBS导入数据方式分为“OBS目录”和“Manifest文件”两种。 OBS目录:指需要导入的数据集已提前存储至OBS目录中。此时需选择用户具备权限的OBS路径,且OBS路径内的目录结构需满足规范,详细规范请参见从OBS目录导入数据规范说明。当前只有“图像分类”、“物体检测”、“表格”、“文本分类”和“声音分类”类型的数据集,支持从OBS目录导入数据。其他类型只支持Manifest文件导入数据集的方式。 Manifest文件:指数据集为Manifest文件格式,Manifest文件定义标注对象和标注内容的对应关系,且Manifest文件已上传至OBS中。Manifest文件的规范请参见从Manifest文件导入规范说明。 导入“物体检测”类型数据集前,您需要保证标注文件的标注范围不超过原始图片大小,否则可能存在导入失败的情况。 表1 不同类型数据集支持的导入方式 数据集类型 标注类型 OBS目录导入 Manifest文件导入 图片 图像分类 支持 可以导入未标注或已标注数据 已标注数据格式规范:图像分类 支持 可以导入未标注或已标注数据 已标注数据格式规范:图像分类 物体检测 支持 可以导入未标注或已标注数据 已标注数据格式规范:物体检测 支持 可以导入未标注或已标注数据 已标注数据格式规范:物体检测 图像分割 支持 可以导入未标注或已标注数据 已标注数据格式规范:图像分割 支持 可以导入未标注或已标注数据 已标注数据格式规范:图像分割 音频 声音分类 支持 导入的是未标注或已标注数据 格式规范:声音分类 支持 可以导入未标注或已标注数据 已标注数据格式规范:声音分类 语音内容 支持 导入的是未标注数据 支持 可以导入未标注或已标注数据 已标注数据格式规范:语音内容 语音分割 支持 导入的是未标注数据 支持 可以导入未标注或已标注数据 已标注数据格式规范:语音分割 文本 文本分类 支持 导入的是未标注或已标注数据 已标注数据格式规范:文本分类 支持 可以导入未标注或已标注数据 已标注数据格式规范:文本分类 命名实体 支持 导入的是未标注数据 支持 可以导入未标注或已标注数据 已标注数据格式规范:文本命名实体 文本三元组 支持 导入的是未标注数据 支持 可以导入未标注或已标注数据 已标注数据格式规范:文本三元组 视频 视频 支持 导入的是未标注数据 支持 可以导入未标注或已标注数据 已标注数据格式规范:视频标注 其他 自由格式 支持 导入的是未标注数据 - 表格 表格 支持 还支持从DWS、DLI、 MRS 导入数据。 格式规范:表格 -
  • 文件型数据标注状态 数据标注状态分为“未标注”和“已标注”。 未标注:仅导入标注对象(指待标注的图片,文本等),不导入标注内容(指标注结果信息)。 已标注:同时导入标注对象和标注内容,当前“自由格式”的数据集不支持导入标注内容。 为了确保能够正确读取标注内容,要求用户严格按照规范存放数据: 导入方式选择目录时,需要用户选择“标注格式”,并按照标注格式的要求存放数据,详细规范请参见标注格式章节。 导入方式选择manifest时,需要满足manifest文件的规范。 数据标注状态选择“已标注”,您需要保证目录或manifest文件满足相应的格式规范,否则可能存在导入失败的情况。 导入已标注的文件,导入完成后,请检查您导入的数据是否为已标注状态。
  • 表格数据集从OBS导入操作 ModelArts支持从OBS导入表格数据,即csv文件。 表格数据集导入说明: 导入成功的前提是,数据源的schema需要与创建数据集指定的schema保持一致。其中schema指表格的列名和类型,创建数据集时一旦指定,不支持修改。 从OBS导入csv文件,不会校验数据类型,但是列数需要跟数据集的schema保持一致。如果数据格式不合法,会将数据置为null,详见表4。 导入的csv文件要求如下:需要选择文件所在目录,其中csv文件的列数需要跟数据集schema一致。支持自动获取csv文件的schema。 ├─dataset-import-example │ table_import_1.csv │ table_import_2.csv │ table_import_3.csv │ table_import_4.csv
  • 关于COPY FROM STDIN导入数据 这种方式适合数据写入量不太大, 并发度不太高的场景。 用户可以使用以下方式通过COPY FROM STDIN语句直接向 GaussDB (DWS)写入数据。 通过键盘输入向GaussDB(DWS)写入数据。 通过JDBC驱动的CopyManager接口从文件或者数据库向GaussDB(DWS)写入数据。此方法支持COPY语法中copy option的所有参数。 父主题: 使用COPY FROM STDIN导入数据
  • 注意事项 两个集群必须在同一个Region、一个AZ内且VPC网络互通。 创建的外表与其对应的远端表的列名和类型名要完全一致,且远端表的类型为行存表、列存表、哈希表或者复制表。 如果关联的表在另外一个集群是复制表或者存在数据倾斜,性能可能会很差。 使用期间,两个集群的状态应为“Normal”。 使用期间,禁止对远端集群的源数据表做ddl修改和增、删、改操作,否则可能导致查询结果不一致。 两个集群都需要具备基于Foreign Table的SQL on other GaussDB数据处理功能。 保证两端数据库的编码相同,否则可能出现报错或者收到的数据为乱码。 如果远端表已经做过统计信息收集,可以对外表执行analyze以获得更优的执行计划。 仅支持8.0.0及以上版本。
  • 操作步骤 创建server。 1 2 3 4 5 6 CREATE SERVER server_remote FOREIGN DATA WRAPPER GC_FDW OPTIONS (address '10.180.157.231:8000,10.180.157.130:8000' , dbname 'gaussdb', username 'xyz', password 'xxxxxx' ); server_remote为server名字,供外表使用。 address为远端集群CN的地址和端口号,如配置LVS,推荐只填写一个LVS地址,如未配置,推荐使用多个CN作为server的地址。 dbname为远端集群的数据库名。 username为连接远端集群使用的用户名,注意该用户不能为系统管理员。 password为连接远端集群使用的用户名的密码。 创建外表。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CREATE FOREIGN TABLE region ( R_REGIONKEY INT4, R_NAME TEXT, R_COMMENT TEXT ) SERVER server_remote OPTIONS ( schema_name 'test', table_name 'region', encoding 'gbk' ); 外表的列不允许带任何约束。 外表的列名和列的类型要与远端集群对应的表的列名和列的类型完全一致。 schema_name为远端集群对应的表所在的schema,如果该option省略,则schema_name预设该外表所在的schema。 table_name为远端集群对应的表所在的表名,如果该option省略,则table_name预设该外表的表名。 encoding为远端集群的编码,如果该option省略,则编码使用远端集群数据库的默认编码。 查看建立的外表。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 \d+ region Foreign table "public.region" Column | Type | Modifiers | FDW Options | Storage | Stats target | Description -------------+---------+-----------+-------------+----------+--------------+------------- r_regionkey | integer | | | plain | | r_name | text | | | extended | | r_comment | text | | | extended | | Server: server_remote FDW Options: (schema_name 'test', table_name 'region', encoding 'gbk') FDW permition: read only Has OIDs: no Distribute By: ROUND ROBIN Location Nodes: ALL DATANODES 查看建立的server。 1 2 3 4 5 6 7 8 9 \des+ server_remote List of foreign servers Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW Options | Description ---------------+---------+----------------------+-------------------+------+---------+----------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------+------------- server_remote | dbadmin | gc_fdw | | | | (address '10.180.157.231:8000,10.180.157.130:8000', dbname 'gaussdb' , username 'xyz', password 'xxxxxx') | (1 row) 使用外表进行导入数据或者关联查询。 导入数据。 1 2 3 4 5 6 7 CREATE TABLE local_region ( R_REGIONKEY INT4, R_NAME TEXT, R_COMMENT TEXT ); INSERT INTO local_region SELECT * FROM region; 如遇到报错连接失败,请检查server的信息确认两个集群是否已经相互连通。 如遇到报错表不存在,请检查外表的option信息是否正确。 如遇到报错列信息不匹配,请检查外表的列信息是否与远端集群对应表的列信息是否一致。 如遇到报错版本不一致,请升级低版本的集群再继续使用。 如遇到乱码,请检查数据源的实际编码方式,并重新创建外表指定正确的编码。 关联查询。 1 SELECT * FROM region, local_region WHERE local_region.R_NAME = region.R_NAME; 外表可以当做一个本地表来使用,执行复杂的作业。 如果远端集群已经有统计信息,请对该外表执行analyze以获得更优的执行计划。 如果本地集群的DN数量比远端集群的DN数量少,本地集群需要使用SMP来获得更佳的性能。 删除外表。 1 DROP FOREIGN TABLE region;
  • 数据文件 假设有数据文件product_info.txt,示例数据如下所示: 100,XHDK-A-1293-#fJ3,2017-09-01,A,2017 Autumn New Shirt Women,red,M,328,2017-09-04,715,good 205,KDKE-B-9947-#kL5,2017-09-01,A,2017 Autumn New Knitwear Women,pink,L,584,2017-09-05,406,very good! 300,JODL-X-1937-#pV7,2017-09-01,A,2017 autumn new T-shirt men,red,XL,1245,2017-09-03,502,Bad. 310,QQPX-R-3956-#aD8,2017-09-02,B,2017 autumn new jacket women,red,L,411,2017-09-05,436,It's really super nice 150,ABEF-C-1820-#mC6,2017-09-03,B,2017 Autumn New Jeans Women,blue,M,1223,2017-09-06,1200,The seller's packaging is exquisite 200,BCQP-E-2365-#qE4,2017-09-04,B,2017 autumn new casual pants men,black,L,997,2017-09-10,301,The clothes are of good quality. 250,EABE-D-1476-#oB1,2017-09-10,A,2017 autumn new dress women,black,S,841,2017-09-15,299,Follow the store for a long time. 108,CDXK-F-1527-#pL2,2017-09-11,A,2017 autumn new dress women,red,M,85,2017-09-14,22,It's really amazing to buy 450,MMCE-H-4728-#nP9,2017-09-11,A,2017 autumn new jacket women,white,M,114,2017-09-14,22,Open the package and the clothes have no odor 260,OCDA-G-2817-#bD3,2017-09-12,B,2017 autumn new woolen coat women,red,L,2004,2017-09-15,826,Very favorite clothes 980,ZKDS-J-5490-#cW4,2017-09-13,B,2017 Autumn New Women's Cotton Clothing,red,M,112,2017-09-16,219,The clothes are small 98,FKQB-I-2564-#dA5,2017-09-15,B,2017 autumn new shoes men,green,M,4345,2017-09-18,5473,The clothes are thick and it's better this winter. 150,DMQY-K-6579-#eS6,2017-09-21,A,2017 autumn new underwear men,yellow,37,2840,2017-09-25,5831,This price is very cost effective 200,GKLW-l-2897-#wQ7,2017-09-22,A,2017 Autumn New Jeans Men,blue,39,5879,2017-09-25,7200,The clothes are very comfortable to wear 300,HWEC-L-2531-#xP8,2017-09-23,A,2017 autumn new shoes women,brown,M,403,2017-09-26,607,good 100,IQPD-M-3214-#yQ1,2017-09-24,B,2017 Autumn New Wide Leg Pants Women,black,M,3045,2017-09-27,5021,very good. 350,LPEC-N-4572-#zX2,2017-09-25,B,2017 Autumn New Underwear Women,red,M,239,2017-09-28,407,The seller's service is very good 110,NQAB-O-3768-#sM3,2017-09-26,B,2017 autumn new underwear women,red,S,6089,2017-09-29,7021,The color is very good 210,HWNB-P-7879-#tN4,2017-09-27,B,2017 autumn new underwear women,red,L,3201,2017-09-30,4059,I like it very much and the quality is good. 230,JKHU-Q-8865-#uO5,2017-09-29,C,2017 Autumn New Clothes with Chiffon Shirt,black,M,2056,2017-10-02,3842,very good
  • GDS并发导入 数据量大,数据存储在多个服务器上时,在每个数据服务器上安装配置、启动GDS后,各服务器上的数据可以并行入库。如图2所示。 图2 多数据服务器并行导入 GDS进程数目不能超过DN数目。如果超过,会出现一个DN连接多个GDS进程的情形,可能会导致部分GDS异常运行。 数据存储在一台数据服务器上时,如果GaussDB(DWS)及数据服务器上的I/O资源均还有可利用空间时,可以采用GDS多线程来支持并发导入。 GDS是根据导入事务并发数来决定服务运行线程数的,也就是说即使启动GDS时设置了多线程,也并不会加速单个导入事务。未做过人为事务处理时,一条INSERT语句就是一个导入事务。 综上,多线程的使用场景如下: 多表并发导入时,采用多线程充分利用资源及提升并发导入效率。 对数据量大的某一事实表的导入进行提速。 将该事实表对应的数据拆分为多个数据文件,通过多外表同时入库的方式实现多线程并发导入。注意需确保每个外表所能读取的数据文件不重复。
  • 导入流程 图3 GDS并行导入流程 表1 流程说明 流程 说明 准备源数据。 准备需要导入数据库的源数据文件,并上传至数据服务器。 详细内容请参见准备源数据。 启动GDS。 在数据服务器上安装配置并启动GDS。 详细内容请参见安装配置和启动GDS。 创建外表。 创建外表用于识别数据源文件中的数据。外表中保存了数据源文件的位置、文件格式、存放位置、编码格式、数据间的分隔符等信息。 详细内容请参见创建GDS外表。 执行导入数据。 在创建好外表后,通过INSERT语句,将数据快速、高效地导入到目标表中。详细内容请参见执行导入数据。 处理错误表。 在数据并行导入发生错误时,请根据具体的错误信息进行处理,以保证导入数据的完整性。 详细内容请参见处理导入错误。 优化查询效率。 导入数据后,通过ANALYZE语句生成表统计信息。ANALYZE语句会将统计结果自动存储在系统表PG_STATISTIC中。执行计划生成器会使用这些统计数据,以生成最有效的查询执行计划。 停止GDS 待数据导入完成后,登录每台数据服务器,分别停止GDS。 GDS的停止请参见停止GDS。
  • 概述 并行导入将存储在服务器普通文件系统中的数据导入到GaussDB(DWS)数据库中。暂时不支持将存储在HDFS文件系统上的数据导入GaussDB(DWS)。 并行导入功能通过外表设置的导入策略、导入数据格式等信息来识别数据源文件,利用多DN并行的方式,将数据从数据源文件导入到数据库中,从而提高整体导入性能。如图1所示: CN只负责任务的规划及下发,把数据导入的工作交给了DN,释放了CN的资源,使其有能力处理其他外部请求。 所有DN都参与数据导入,这样可以充分利用各设备的计算能力及网络带宽,提升导入效率。 外表灵活的OPTION设置,有利于在数据入库前对数据做预处理,例如非法字符替换、容错处理等。 图1 数据并行导入示意图 上图中所涉及的相关概念说明如下: CN(Coordinator):GaussDB(DWS)协调节点。在导入场景下,接收到应用或客户端的导入SQL指令后,负责任务的规划及下发到DN。 DN(Datanode):GaussDB(DWS)数据节点。接收CN下发的导入任务,将数据源文件中的数据通过外表写入数据库目标表中。 数据源文件:存有数据的文件。文件中保存的是待导入数据库的数据。 数据服务器:数据源文件所在的服务器称为数据服务器。基于安全考虑,建议数据服务器和GaussDB(DWS)集群处于同一内网。 外表Foreign Table:用于识别数据源文件的位置、文件格式、存放位置、编码格式、数据间的分隔符等信息。是关联数据文件与数据库实表(目标表)的对象。 目标表:数据库中的实表。数据源文件中的数据最终导入到这些表中存储,包括行存表和列存表。