1.4 导入数据__快速入门_分析型数据库-阿里云
1.5 导入数据
分析型数据库支持多种接入数据的方式:
- 通过Kettle等ETL工具将本地文件写入分析型数据库。
- 通过阿里云数据传输从阿里云RDS中实时同步数据变更。(见《用户指南》相关使用阿里云数据传输实时同步RDS的数据章节—仅公共云可用)
- 建立批量导入表从阿里云MaxCompute(原名ODPS)大批量的导入数据。
- 通过阿里云数据集成(专有云中通过大数据开发套件的‘数据同步’)任务导入数据。(详见《用户指南》数据的导入章节)
- 直接将数据通过insert/delete SQL写入实时表。(详见《用户指南》insert章节)
批量导入
批量导入适合每天1-2次且每次同步大量批数据(每次200w条以上)。
特点:小规模数据量的同步速度相对很慢;大批量的数据同步速度相对较快,但是整体任务延迟长。
实时写入
实时写入适合数据写入后比较短时间内(例如1-2分钟)就需要查询的场景。
特点:每次写入的数据相对少(一条到几十条),每秒钟写入一般在千条到万条的数据量。(如果需要非常高的写入速度,例如达到百万条每秒,需要相对大量的ECU资源和优化的写入方法)。
在这里,作为测试使用,我们将介绍如何通过控制台界面进行数据批量导入和实时写入。
通过控制台批量导入数据
我们设定这里通过控制台界面进行MaxCompute(原ODPS)数据导入,AnalyticDB目标表即为前面创建的qsdemo_load_data 表。
前提条件
AnalyticDB目标表qsdemo_load_data创建时更新方式属性为“批量更新”;
操作步骤
步骤1:数据准备。
此处我们需要把MaxCompute的表导入到分析型数据库,因此需要先在MaxCompute中准备好表和数据。
MaxCompute表建表语句:
use projecta;--在MaxCompute的某个project中创建表
CREATE TABLE
demo_load_data (
user_id bigint ,
amt bigint ,
num bigint ,
cat_id bigint ,
thedate bigint
) ;
本地创建demo_load_data.txt文件,输入数据如下,列分割符为英文逗号,回车换行。
12345,80,900,1555,20140101
12346,81,901,1556,20140101
12347,82,902,1557,20140101
12348,83,903,1558,20140101
12349,84,904,1559,20140101
12350,85,905,1560,20140101
12351,86,906,1561,20140101
12352,87,907,1562,20140101
12353,88,908,1563,20140101
12354,89,909,1564,20140101
12355,90,910,1565,20140101
12356,91,911,1566,20140101
12357,92,912,1567,20140101
12358,93,913,1568,20140101
12359,94,914,1569,20140101
12360,95,915,1570,20140101
12361,96,916,1571,20140101
12362,97,917,1572,20140101
12363,98,918,1573,20140101
12364,99,919,1574,20140101
MaxCompute数据上传,若用tunnel上传命令如下:
use projecta;
tunnel upload demo_load_data.txt demo_load_data;--把本地数据文件demo_load_data.txt
步骤2:在操作导入数据之前,需要对数据的来源表进行授权。
此处数据的来源表在MaxCompute上,所以需要在MaxCompute上对云账号授予describe和select权限。
各个专有云授权的云账号名参照专有云的相关配置文档,一般为test1000000009@aliyun.com
公共云上需要给garuda_build@aliyun.com以及garuda_data@aliyun.com账号授权。
授权命令:
USE projecta;--表所属ODPS project
ADD USER ALIYUN$xxxx@aliyun.com;--输入正确的云账号
GRANT Describe,Select ON TABLE table_name TO USER ALIYUN$xxxx@aliyun.com;--输入需要赋权的表和正确的云账号
步骤3:进入DMS for AnalyticDB页面,选择菜单栏上的导入按钮,弹出导入对话框。这里我们的数据源表在阿里云MaxCompute(原ODPS)上。因此数据导入路径按照”odps://project_name/table_name/partition_spec”的格式来填写。目标表选前面创建的表qsdemo_load_data。填写完毕后,如下图所示,点击“确定”按钮。
关于分区信息,在仅有一级Hash分区的情况下DMS会自动识别并填写。
步骤4:接下来页面会显示导入状态一览,分析型数据库会对导入任务进行调度,根据当前系统繁忙情况和待导入数据的大小和结构不同,二十分钟至数个小时内数据导入会结束。
步骤5:数据导入结束后,可以在左侧栏对表进行右键“SQl操作”查看表的数据。
通过控制台实时写入数据
创建表时表属性“更新方式”选择“实时更新”,则可以在建表后直接在SQL窗口中编写SQL语句实时写入数据。
操作步骤
步骤1:创建表my_first_table,参考前面《使用DMS创建表组和表》章节,表属性“更新方式”选择“实时更新”。
步骤2:进入控制台的SQL窗口,输入命令:
insert into my_first_table (user_id,amt,num,cat_id,thedate) values (12345, 80, 900, 1555, 20140101);
步骤3:执行命令。
步骤4:命令执行成功后,可以在左侧栏对表进行右键“SQl操作”查看表的数据。
注意:
- 实时更新的表刚刚建立后,会有一分钟左右的准备时间,这时候写入的数据需要在准备完成后才能查询,否则查询会报错。
- 在准备完成后,实时进行insert/delete数据变更,一般需要等待一分钟后才可查询。
- 分析型数据库进行实时插入和删除时,不支持事务,并且仅遵循最终一致性的设计,所以分析型数据库并不能作为OLTP系统使用。
其他的数据导入方式请看《用户指南》相关数据导入章节。
最后更新:2016-12-06 14:27:45
上一篇:
1.3 使用DMS创建和管理表__快速入门_分析型数据库-阿里云
下一篇:
1.5 在应用中连接和使用分析型数据库__快速入门_分析型数据库-阿里云
CSharpSDK手册__SDK使用手册_邮件推送-阿里云
为了更好地全球化,阿里云国际站启用新的域名alibabacloud.com
配置 Eclipse 开发环境__开发工具准备_开发者指南_企业级分布式应用服务 EDAS-阿里云
步骤1:配置四层转发__快速入门(非网站业务)_DDoS 高防IP-阿里云
主题+QueueEndpoint使用手册__Python SDK_SDK使用手册_消息服务-阿里云
自定义权限__授权管理_阿里云物联网套件-阿里云
云服务器 ECS 网络和安全性之网络 IP 地址
阿里云李津:持续释放技术红利,为1000万企业提供技术平台
HTTP 定时消息__HTTP 接入(简单)_消息队列 MQ-阿里云
索引重建__应用基本配置_产品使用手册_开放搜索-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云