首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sqoop将数据从Oracle(Windows)导入到HDFS (CDH3)计算机

使用sqoop将数据从Oracle(Windows)导入到HDFS (CDH3)计算机
EN

Stack Overflow用户
提问于 2016-04-11 13:58:48
回答 2查看 281关注 0票数 1

嗨,我正在参加HADOOP的培训。我有一个任务,其中我必须使用sqoop将表数据从oracle(windows,11g xe)导入到hdfs。我正在读下面这篇文章。我的问题是,如何准确地将数据从windows导入到hdfs。正常情况下,我使用Winscp将文件从Windows传输到hdfs机器。我已经从安装在hdfs(cdh3)机器上的MySql导入了数据。但我不知道如何将数据从windows中的Oracle导入到hdfs。请帮帮忙。

Link that I am following

EN

回答 2

Stack Overflow用户

发布于 2016-04-12 14:35:58

以下是逐步执行的过程:

1.Connect oracle sql命令行使用您的凭据登录:

例如用户名:系统密码:系统

(确保该用户拥有所有管理权限,或者在oracle中以sysdba身份连接,创建一个具有所有权限的新用户) Create a user with all privileges in Oracle

在该用户下创建表,并插入一些值和提交

2.Now我们需要一个连接器来将数据从Oracle传输到HDFS。因此,我们需要下载oracle连接器jar文件,并将其放在CDH3的以下路径中(在命令中使用sudo,同时复制以下路径,因为它在linux中需要管理员访问权限)。

代码语言:javascript
复制
/usr/lib/sqoop/bin

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html --下载链接

使用winscp将下载的jar从windows传输到CDH3,然后将其移动到CDH3中的上述路径。

3.Command:

代码语言:javascript
复制
sudo bin/sqoop import –connect jdbc:oracle:thin:system/system@192.168.XX.XX:1521:xe–username system -P –table system.emp –columns “ID” –target-dir /sqoopoutput1 -m 1

sqoopoutput是HDFS中的输出文件,您将在其中获取数据,您可以根据您的

-m 1 :它告诉我们这个sqoop作业的映射器数量,这里是1。

192.168.XX.XX:1521-- windows计算机的ip地址

票数 4
EN

Stack Overflow用户

发布于 2016-04-11 14:41:18

您不需要将数据从oracle导入到本地计算机。然后将其复制到HDFS机器。然后将其导入HDFS。

HDFS Sqoop可以在这里导入HDFS目录中的关系型数据库管理系统表。

使用命令:

sqoop import --connect 'jdbc:oracle:thin:@192.xx.xx.xx:1521:ORCL' --username testuser --password testpassword --table testtable --target-dir /tmp/testdata

转到运行sqoop的机器。转到终端(我相信它是linux)。只需启动上面提到的命令并检查hdfs中的--target-dir (我在示例命令中提到了/tmp/testdata )。您将在那里找到与您的oracle表相对应的文件。

查看sqoop docs以了解更多详细信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36540849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档