云服务器内容精选
-
数据文件 假设有数据文件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
-
手动创建外部服务器 使用数据库管理员通过 GaussDB (DWS)提供的数据库客户端连接默认数据库postgres。 例如:通过gsql客户端登录数据库的用户可以使用以下两种方法中的一种进行连接: 可以通过以下两种方法中的一种进行连接: 如果已经登录了gsql客户端,可以执行以下命令切换数据库和用户: 1 \c postgres dbadmin; 根据提示输入密码。 如果尚未登录gsql客户端,或者已经登录了gsql客户端执行\q退出gsql后,执行以下命令重新进行连接: 1 gsql -d postgres -h 192.168.2.30 -U dbadmin -p 8000 -W password -r 执行以下命令查询自动创建的外部服务器的信息。 1 SELECT * FROM pg_foreign_server; 返回结果如: 1 2 3 4 5 6 srvname | srvowner | srvfdw | srvtype | srvversion | srvacl | srvoptions --------------------------------------------------+----------+--------+---------+------------+--------+--------------------------------------------------------------------------------------------------------------------- gsmpp_server | 10 | 13673 | | | | gsmpp_errorinfo_server | 10 | 13678 | | | | hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca | 16476 | 13685 | | | | {"address=192.168.1.245:25000,192.168.1.218:25000",hdfscfgpath=/ MRS /8f79ada0-d998-4026-9020-80d6de2692ca,type=hdfs} (3 rows) 查询结果中,每一行代表一个外部服务器的信息。与MRS数据源连接相关联的外部服务器包含以下信息: srvname值包含“hdfs_server”字样以及MRS集群的ID,此ID与MRS管理控制台的集群列表MRS ID相同。 srvoptions字段中的address参数为MRS集群的主备节点的IP地址及端口。 您可以根据上述信息找到您所要的外部服务器,并记录下它的srvname和srvoptions的值。 切换为即将创建外部服务器的用户去连接其对应的数据库。 在本示例中,执行以下命令,使用创建用户和数据库并授予外表权限中创建的普通用户dbuser连接其创建的数据库mydatabase 。 1 \c mydatabase dbuser; 创建外部服务器。 创建外部服务器的详细语法,请参见CREATE SERVER。示例如下: 1 2 3 4 5 6 7 CREATE SERVER hdfs_server_8f79ada0_d998_4026_9020_80d6de2692cahdfs_server FOREIGN DATA WRAPPER HDFS_FDW OPTIONS ( address '192.168.1.245:25000,192.168.1.218:25000', hdfscfgpath '/MRS/8f79ada0-d998-4026-9020-80d6de2692ca', type 'hdfs' ); 以下为必选参数的说明: 外部服务器名称 允许用户自定义名字。 在本例中,指定为前面的步骤2中记录下来的srvname字段的值,如'hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca'。 不同的数据库之间资源是隔离的,因此在不同的数据库中外部服务器名称可以相同。 FOREIGN DATA WRAPPER 只能指定为HDFS_FDW,它在数据库中已经存在。 OPTIONS参数 以下参数请分别指定为步骤2中记录下来的srvoptions中的参数值。 address 指定HDFS集群的主备节点所在的IP地址以及端口。 hdfscfgpath 指定HDFS集群配置文件路径。该参数仅支持type为HDFS时设置。只能设置一个路径。 type 取值为'hdfs',表示HDFS_FDW连接的是HDFS。 查看外部服务器。 1 SELECT * FROM pg_foreign_server WHERE srvname='hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca'; 返回结果如下所示,表示已经创建成功: 1 2 3 4 srvname | srvowner | srvfdw | srvtype | srvversion | srvacl | srvoptions --------------------------------------------------+----------+--------+---------+------------+--------+--------------------------------------------------------------------------------------------------------------------- hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca | 16476 | 13685 | | | | {"address=192.168.1.245:25000,192.168.1.218:25000",hdfscfgpath=/MRS/8f79ada0-d998-4026-9020-80d6de2692ca,type=hdfs} (1 row)
-
创建用户和数据库并授予外表权限 以下示例,是新建一个普通用户dbuser并创建一个数据库mydatabase,然后使用管理员用户授予dbuser外表权限。 使用数据库管理员通过GaussDB(DWS)提供的数据库客户端连接默认数据库gaussdb 例如,使用gsql客户端的用户通过如下语句连接数据库: 1 gsql -d gaussdb -h 192.168.2.30 -U dbadmin -p 8000 -W password -r 新建一个普通用户,并用它创建一个数据库。 新建一个具有创建数据库权限的用户dbuser: 1 CREATE USER dbuser WITH CREATEDB PASSWORD 'password'; 切换为新建的用户: 1 SET ROLE dbuser PASSWORD 'password'; 执行以下命令创建数据库: 1 CREATE DATABASE mydatabase; 查询数据库: 1 SELECT * FROM pg_database; 返回结果中有mydatabase的信息表示创建成功: 1 2 3 4 5 6 7 8 9 10 datname | datdba | encoding | datcollate | datctype | datistemplate | datallowconn | datconnlimit | datlastsysoid | datfrozenxid | dattablespace | datcompatibility | datacl ------------+--------+----------+------------+----------+---------------+--------------+--------------+---------------+--------------+---------------+------------------+-------------------------------------- -------------- template1 | 10 | 0 | C | C | t | t | -1 | 14146 | 1351 | 1663 | ORA | {=c/Ruby,Ruby=CTc/Ruby} template0 | 10 | 0 | C | C | t | f | -1 | 14146 | 1350 | 1663 | ORA | {=c/Ruby,Ruby=CTc/Ruby} gaussdb | 10 | 0 | C | C | f | t | -1 | 14146 | 1352 | 1663 | ORA | {=Tc/Ruby,Ruby=CTc/Ruby,chaojun=C/Ruby,hu obinru=C/Ruby} mydatabase | 17000 | 0 | C | C | f | t | -1 | 14146 | 1351 | 1663 | ORA | (4 rows) 使用管理员用户给普通用户赋予创建外部服务器的权限和使用外表的权限。 使用数据库管理员用户通过数据库客户端连接新建的数据库。 例如,使用gsql客户端的用户可以直接使用如下语句切换为管理员用户去连接新建的数据库: 1 \c mydatabase dbadmin; 根据提示输入用户密码。 注意,必须先使用管理员用户连接到将要创建外部服务器和使用外表的数据库,再对普通用户进行授权。 默认只有系统管理员才可以创建外部服务器,普通用户需要授权才可以创建,执行以下命令授权: 1 GRANT ALL ON FOREIGN DATA WRAPPER hdfs_fdw TO dbuser; 其中FOREIGN DATA WRAPPER的名字只能是hdfs_fdw,dbuser为创建SERVER的用户名。 执行以下命令赋予用户使用外表的权限。 1 ALTER USER dbuser USEFT; 查看用户: 1 2 3 4 5 6 7 8 9 10 11 12 13 SELECT r.rolname, r.rolsuper, r.rolinherit, r.rolcreaterole, r.rolcreatedb, r.rolcanlogin, r.rolconnlimit, r.rolvalidbegin, r.rolvaliduntil, ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) as memberof , r.rolreplication , r.rolauditadmin , r.rolsystemadmin , r.roluseft FROM pg_catalog.pg_roles r ORDER BY 1; 返回结果中,dbuser的信息中包含了UseFT权限,表示授权成功: 1 2 3 4 5 rolname | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcanlogin | rolconnlimit | rolvalidbegin | rolvaliduntil | memberof | rolreplication | rolauditadmin | rolsystemadmin | roluseft -----------+----------+------------+---------------+-------------+-------------+--------------+---------------+---------------+----------+----------------+---------------+----------------+---------- dbuser | f | t | f | t | t | -1 | | | {} | f | f | f | t lily | f | t | f | f | t | -1 | | | {} | f | f | f | f Ruby | t | t | t | t | t | -1 | | | {} | t | t | t | t
-
创建外表 当完成获取MRS数据源连接的外部服务器信息和获取MRS数据源的HDFS路径后,就可以创建一个外表,用于读取MRS数据源数据。 创建外表的语法格式如下,详细的描述请参见(CREATE FOREIGN TABLE (SQL on Hadoop or OBS))。 CREATE FOREIGN TABLE [ IF NOT EXISTS ] table_name ( [ { column_name type_name [ { [CONSTRAINT constraint_name] NULL | [CONSTRAINT constraint_name] NOT NULL | column_constraint [...]} ] | table_constraint [, ...]} [, ...] ] ) SERVER dfs_server OPTIONS ( { option_name ' value ' } [, ...] ) DISTRIBUTE BY {ROUNDROBIN | REPLICATION} [ PARTITION BY ( column_name ) [ AUTOMAPPED ] ] ; 例如,创建一个名为"foreign_product_info"的外表,对语法中的参数按如下描述进行设置: table_name 必选。外表的表名。 表字段定义 column_name:外表中的字段名。 type_name:字段的数据类型。 多个字段用“,”隔开。 外表的字段个数和字段类型,需要与MRS上保存的数据完全一致。定义字段的数据类型之前,您必须先了解数据类型转换说明。 SERVER dfs_server 外表的外部服务器名称,这个server必须存在。外表通过设置外部服务器,从而关联MRS数据源连接并从MRS集群读取数据。 此处应填写为通过获取MRS数据源连接的外部服务器信息查询到的“srvname”字段的值。 OPTIONS参数 用于指定外表数据的各类参数,关键参数如下所示。 format:必选参数。取值只支持“orc”。表示数据源文件的格式,只支持Hive的ORC数据文件。 foldername:必选参数。表示数据在HDFS的存储目录或数据文件路径。 如果是启用了Kerberos认证的MRS分析集群,请确保MRS数据源连接的MRS用户,拥有此目录的读取权限。 请按照获取MRS数据源的HDFS路径中的步骤获取HDFS路径,该路径作为foldername的参数值。 encoding:可选参数。外表中数据源文件的编码格式名称,缺省为utf8。 DISTRIBUTE BY 表示外表的数据读取方式。有以下两种方式供选择,在本例中选择ROUNDROBIN。 ROUNDROBIN:表示外表在从数据源读取数据时,GaussDB(DWS)集群每一个节点读取随机一部分数据,并组成完整数据。 REPLICATION:表示外表在从数据源读取数据时,GaussDB(DWS)集群每一个节点都读取一份完整数据。 语法中的其他参数 其他参数均为可选参数,用户可以根据自己的需求进行设置,在本例中不需要设置。 根据以上信息,创建外表命令如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 DROP FOREIGN TABLE IF EXISTS foreign_product_info; CREATE FOREIGN TABLE foreign_product_info ( product_price integer , product_id char(30) , product_time date , product_level char(10) , product_name varchar(200) , product_type1 varchar(20) , product_type2 char(10) , product_monthly_sales_cnt integer , product_comment_time date , product_comment_num integer , product_comment_content varchar(200) ) SERVER hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca OPTIONS ( format 'orc', encoding 'utf8', foldername '/user/hive/warehouse/demo.db/product_info_orc/' ) DISTRIBUTE BY ROUNDROBIN;
-
数据类型转换说明 当前用户导入到Hive/Spark的数据在HDFS存储为ORC文件格式,GaussDB(DWS)实际读取HDFS中的ORC文件,并对文件内的数据进行查询分析。 由于Hive/Spark支持的数据类型与GaussDB(DWS)自身支持的数据类型存在差异,在创建外表定义表字段时,您需要了解这两者之间数据类型的对应关系,具体如表1所示: 表1 数据类型匹配表 类型名称 GaussDB(DWS)的HDFS/OBS外表支持的字段类型 Hive表字段类型 Spark表字段类型 2字节整数 SMALLINT SMALLINT SMALLINT 4字节整数 INTEGER INT INT 8字节整数 BIGINT BIGINT BIGINT 单精度浮点数 FLOAT4 (REAL) FLOAT FLOAT 双精度浮点型 FLOAT8(DOUBLE PRECISION) DOUBLE FLOAT 科学数据类型 DECIMAL[p (,s)] 最大支持38位精度 DECIMAL 最大支持38位(Hive 0.11) DECIMAL 日期类型 DATE DATE DATE 时间类型 TIMESTAMP TIMESTAMP TIMESTAMP Boolean类型 BOOLEAN BOOLEAN BOOLEAN Char类型 CHAR(n) CHAR (n) STRING VarChar类型 VARCHAR(n) VARCHAR (n) VARCHAR (n) 字符串 TEXT(CLOB) STRING STRING
-
获取MRS数据源连接的外部服务器信息 使用创建外部服务器的用户去连接其对应的数据库。 是否使用普通用户在自定义数据库中创建外表,请根据需求进行选择: 是 请先确保,您已按照手动创建外部服务器章节中的步骤,创建了普通用户dbuser和它的数据库mydatabase,并在mydatabase中手动创建了一个外部服务器。 使用用户dbuser通过GaussDB(DWS)提供的数据库客户端连接数据库mydatabase。 如果已经使用gsql客户端连接至数据库,可以直接执行如下命令进行用户和数据库切换: 1 \c mydatabase dbuser; 根据界面提示输入密码。 否 当您通过GaussDB(DWS)管理控制台创建MRS数据源连接时,数据库管理员dbadmin会在默认数据库postgres中自动创建一个外部服务器。因此,如果使用数据库管理员dbadmin在默认数据库postgres中创建外表,需要通过GaussDB(DWS)提供的数据库客户端工具连接数据库。例如,使用gsql客户端的用户通过如下命令连接数据库: 1 gsql -d postgres -h 192.168.2.30 -U dbadmin -p 8000 -W password -r 执行以下命令,查看已创建的MRS数据源连接的外部服务器信息。 1 SELECT * FROM pg_foreign_server; 也可以执行\desc+命令查看外部服务器信息。 返回结果如: 1 2 3 4 5 6 srvname | srvowner | srvfdw | srvtype | srvversion | srvacl | srvoptions --------------------------------------------------+----------+--------+---------+------------+--------+--------------------------------------------------------------------------------------------------------------------- gsmpp_server | 10 | 13673 | | | | gsmpp_errorinfo_server | 10 | 13678 | | | | hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca | 16476 | 13685 | | | | {"address=192.168.1.245:25000,192.168.1.218:25000",hdfscfgpath=/MRS/8f79ada0-d998-4026-9020-80d6de2692ca,type=hdfs} (3 rows) 查询结果中,每一行代表一个外部服务器的信息。与MRS数据源连接相关联的外部服务器包含以下信息: srvname值包含“hdfs_server”字样以及MRS集群的ID,此ID与MRS管理控制台的集群列表MRS ID相同。 srvoptions字段中的address参数为MRS集群的主备节点的IP地址及端口。 您可以根据上述信息找到您所要的外部服务器,并记录下它的srvname和srvoptions的值。
-
错误处理 如下错误信息,表示GaussDB(DWS)期望读取ORC数据文件,但实际却是*.txt类型的数据文件。请先创建Hive ORC类型的表,并将数据存储到该Hive ORC表中。 ERROR: dn_6009_6010: Error occurs while creating an orc reader for file /user/hive/warehouse/products_info.txt, detail can be found in dn log of dn_6009_6010. 父主题: 从MRS导入数据到集群
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格