本文介绍何如将AnalyticDB for MySQL 2.0的数据导出到对象存储(OSS)。
语法
/*+ dump-col-del=[,],
dump-row-del=[\n],
dump-oss-accesskey-id=ACCESS_KEY_ID,
dump-oss-accesskey-secret=ACCESS_KEY_SECRET,
engine=MPP,
[return-dump-record-count=TRUE,]
dump-header=[DUMP DATA [OVERWRITE] INTO 'oss://endpoint/bucket_name/filename']
*/ sql
参数
dump-col-del:指定列分符,可选参数。
dump-row-del:指定行分隔符,可选参数。
dump-oss-accesskey-id:有OSS写某个object权限的access_key_id,必选参数。
dump-oss-accesskey-secret:有OSS写某个object权限的access_key_secret,必选参数。
engine=MPP:计算引擎,必选参数。
return-dump-record-count=TRUE:显示行数,可选参数。
dump-header:必选参数。
overwrite:可选参数。当指定OVERWRITE时,会对原有文件进行覆盖写,不指定时会对原有文件进行追加写。
endpoint:OSS内网的Endpoint,请参见公共云下OSS Region和Endpoint对照表,必选参数。无论同地域还是跨地域,Endpoint一定是内网Endpoint(有些地域不支持跨域访问)。
示例
将cx_test3
表中年龄大于18岁客户的姓名和手机号导出到testBucketName下的CUSTOMER文件中(覆盖写)。数据库与OSS同地域,都在上海地域。
/*+ dump-oss-accesskey-id=gfCrBlzhaVz****,
dump-oss-accesskey-secret=pWMAPt15gU8IBox9bj9rpjGU****,
engine=MPP,
dump-header=[DUMP DATA OVERWRITE INTO 'oss://oss-cn-shanghai-internal.aliyuncs.com/<testBucketName>/customer.csv']
*/
SELECT customer_id,customer_name,phone_num
FROM cx_test3
WHERE age >18;
注意事项
如果导出OSS没有数据且无任何报错,请检查语法是否有问题。语法中return-dump-record-count=TRUE
和OVERWRITE
外面的方括号表示可选项,如果需要加上这两个参数必须把外面的方括号去掉,具体写法参考如上例子。
文档内容是否对您有帮助?