开发者社区> 黑风寨1号> 正文

从分析性数据库ADS中导出数据

简介: ADS是阿里云提供的分析性数据库,实现百亿数据毫秒级计算。 将ADS中的数据导出,有2种思路,通过select或dump实现。这两种方法各有优缺点。
+关注继续查看
ADS是阿里云提供的分析性数据库,实现百亿数据毫秒级计算。
将ADS中的数据导出,有2种思路,通过select或dump实现。这两种方法各有优缺点。

select导出

因为ADS支持MySQL客户端,通过客户端,可以编写select进行数据导入。
在这个过程中需要解决1个问题:
  • select在公共云上查询的返回行数最大为10000行,所以无法通过select无法一次获取所有的数据
如果想通过分区的方式,分多次,一次10000行将数据导出,需要解决分区的问题:
  • limit语法只支持[0,n],不支持[m,n]
  • 没有提供rownum或者其它可以获取行数的函数

所以,使用select的方式还是挺麻烦的。


dump导出

语法

dump可以导出海量的数据,语法如下:

 DUMP DATA
    [OVERWRITE] INTO 'odps://project_name/table_name'
    SELECT C1, C2 FROM DB1.TABLE1 WHERE C1 = 'xxxx' LIMIT 100000

在导入之前需要先在ODPS对garuda_data@aliyun.com赋权,

对于项目,需要createInstance权限,

对于目的表,需要describe、select、alter、update、drop权限。

例子

ODPS中操作:
add user aliyun$garuda_data@aliyun.com;
grant createinstance on project project_test to user aliyun$garuda_data@aliyun.com;
grant describe,select,alter,update,drop on table ads_test to user aliyun$garuda_data@aliyun.com;

ADS中操作:
DUMP DATA
    OVERWRITE INTO 'odps://project_test/ads_test'
    SELECT book_name,line_no,contents FROM d_novel_b


总结

通过导入导出操作,可以看出ADS和ODPS联系很紧密。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【数据库】01——精通数据库需要掌握这九个维度 1
【数据库】01——精通数据库需要掌握这九个维度
19 0
【数据库】01——精通数据库需要掌握这九个维度 2
【数据库】01——精通数据库需要掌握这九个维度
14 0
【数据库】支持多维分析的数据库
【数据库】支持多维分析的数据库
20 0
PostgreSQL数据表的导入导出
PostgreSQL数据表的导入导出
112 0
将Excel数据导入Tables/数据库/实体
将Excel数据导入Tables/数据库/实体
58 0
SQL查询服务器下所有数据库,数据库的全部表
获取所有用户名,获取所有用户数据库,获取库中所有的表名,获取某个表的字段名
140 0
mysql数据库(8):获得数据库和表的信息
mysql数据库(8):获得数据库和表的信息
52 0
SqlServer迁移基础 --生成所迁移数据库所有表的BCP脚本
bcp 实用工具https://docs.microsoft.com/zh-cn/sql/tools/bcp-utility 在> SSMS配合BCP迁移SQL Server数据库上阿里云> link博文基础完善 改动的地方如下 1:tempdb数据库的排序规则与迁移数据库的排序规则不一致.
4634 0
+关注
黑风寨1号
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
《阿里云数据库 MongoDB 专属集群版》
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多