阿里云AnalyticDB数据导出到E-MapReduce实践-阿里云开发者社区

开发者社区> 阿里云EMR> 正文

阿里云AnalyticDB数据导出到E-MapReduce实践

简介: 阿里云的分析型数据库(AnalyticDB)和E-MapReduce(简称EMR)在大数据场景下非常有用,本文将介绍如何尝试打通两个产品,将通过EMR中自带的开源工具Sqoop来完成这个任务。

阿里云的分析型数据库(AnalyticDB)和E-MapReduce(简称EMR)在大数据场景下非常有用,本文将介绍如何尝试打通两个产品,将通过EMR中自带的开源工具Sqoop来完成这个任务。

AnalyticDB数据准备

DMS For Analytic DB控制台可以新建数据库和表。数据库和表名分别是:

  • 数据库:test_emr_0
  • 数据表:test1(注意新建表的时候选择更新方式为“实时更新”,这样就可以在DMS里增加数据)
CREATE TABLE test_emr_0.test1 (
a varchar NOT NULL , 
b int NOT NULL , 
primary key (a)
) 
PARTITION BY HASH KEY(a) PARTITION NUM 100
TABLEGROUP test_group
OPTIONS(UPDATETYPE='realtime');

插入数据

insert into test1 (a, b) values ('ads', 1);
insert into test1 (a, b) values ('bds', 2);
insert into test1 (a, b) values ('emr', 3);
insert into test1 (a, b) values ('oss', 4);
insert into test1 (a, b) values ('hadoop', 5);

注意:因为Sqoop工具访问AnalyticDB时使用更加通用的SQL格式,所以默认的LM计算引擎并不适合。需要你提工单将分析型数据库的默认引擎修改成MPP

网络环境准备

AnalyticDB 默认可以用公网访问,比如刚才新建的数据库可用如下地址访问到:test-emr-0-6e2c83b1.cn-hangzhou-1.ads.aliyuncs.com。但是EMR环境只有Master节点可以访问公网,为了使用Sqoop工具(Sqoop作业运行在Worker节点上),需要使用AnalyticDB VPC网络功能,打通EMR VPC网络和AnalyticDB的网络环境。

临时方案也可以为每台EMR worker节点绑定弹性VIP,这样所有的节点都有了公网访问能力(不推荐)。

从AnalyticDB导入数据到Hive

你可以登录EMR Master节点,也可以使用EMR执行计划作业启动Sqoop程序。

下面的命令将AnalyticDB中的test1表导入到EMR Hive中同名表:

sqoop import 
  --connect jdbc:mysql://test-emr-0-6e2c83b1.cn-hangzhou-1.ads.aliyuncs.com:10152/test_emr_0 
  --username <access-key-id> --password <access-key-secret> 
  --table test1 --fields-terminated-by '\001' 
  --hive-import --target-dir /user/hive/warehouse/test1 
  --hive-table test1 --columns a,b --split-by a

看一下Hive表的导入结果:

$ hive -e "select * from test1"
Logging initialized using configuration in file:/etc/ecm/hive-conf-2.3.2-1.0.1/hive-log4j2.properties Async: true
OK
ads     1
bds     2
hadoop  5
emr     3
oss     4
Time taken: 3.602 seconds, Fetched: 5 row(s)

总结

本文介绍了AnalyticDB导出数据到EMR Hive表的过程,希望对你有帮助。

版权声明:本文中所有内容均属于阿里云开发者社区所有,任何媒体、网站或个人未经阿里云开发者社区协议授权不得转载、链接、转贴或以其他方式复制发布/发表。申请授权请邮件developerteam@list.alibaba-inc.com,已获得阿里云开发者社区协议授权的媒体、网站,在转载使用时必须注明"稿件来源:阿里云开发者社区,原文作者姓名",违者本社区将依法追究责任。 如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

阿里巴巴开源大数据技术团队成立阿里云EMR技术圈, 每周推送前沿技术文章,直播分享经典案例、在线答疑,营造纯粹的开源大数据氛围,欢迎加入!加入钉钉群聊阿里云E-MapReduce交流2群,点击进入查看详情 https://qr.dingtalk.com/action/joingroup?code=v1,k1,cNBcqHn4TvG0iHpN3cSc1B86D1831SGMdvGu7PW+sm4=&_dt_no_comment=1&origin=11

官方博客
官网链接