教程:从OBS导入数据到集群 上传数据到OBS 1.将上面准备的3个CSV格式的数据源文件存储到OBS桶中。 a.登录OBS管理控制台。 单击“服务列表”,选择“对象存储服务”,打开OBS管理控制台页面。 b.创建桶。 例如,创建以下两个桶:“mybucket”和“mybucket02”。 注意 确保这两个桶与DWS集群在同一个区域。 c.新建文件夹。 例如: −在已创建的OBS桶“mybucket”中新建一个文件夹“inputdata”。 −在已创建的OBS桶“mybucket02”中新建一个文件夹“inputdata”。 d.上传文件。 例如: −将以下数据文件上传到OBS桶“mybucket”的“inputdata”目录中。 productinfo0.csv productinfo1.csv −将以下数据文件上传到OBS桶“mybucket02”的“inputdata”目录中。 productinfo2.csv 2.为导入用户设置OBS桶的读取权限。 在从OBS导入数据到集群时,执行导入操作的用户需要取得数据源文件所在OBS桶的读取权限。通过配置桶的ACL权限,可以将读取权限授予指定的用户帐号。 创建外表 1.连接DWS数据库。 2.创建外表。 说明 l ACCESSKEY和SECRETACCESSKEY 用户访问OBS的AK和SK,请根据实际替换。获取访问密钥的具体步骤,请参见“ Key ID(AK)和 Secret Access Key(SK)”。 DROP FOREIGN TABLE IF EXISTS productinfoext; CREATE FOREIGN TABLE productinfoext ( productprice integer not null, productid char(30) not null, producttime date , productlevel char(10) , productname varchar(200) , producttype1 varchar(20) , producttype2 char(10) , productmonthlysalescnt integer , productcommenttime date , productcommentnum integer , productcommentcontent varchar(200) ) SERVER gsmppserver OPTIONS( LOCATION 'obs://mybucket/inputdata/productinfo obs://mybucket02/inputdata/productinfo', FORMAT 'CSV' , DELIMITER ',', ENCODING 'utf8', HEADER 'false', ACCESSKEY 'accesskeyvaluetobereplaced', SECRETACCESSKEY 'secretaccesskeyvaluetobereplaced', FILLMISSINGFIELDS 'true', IGNOREEXTRADATA 'true' ) READ ONLY LOG INTO productinfoerr PER NODE REJECT LIMIT 'unlimited'; 返回如下信息表示创建成功: CREATE FOREIGN TABLE