使用sqoop将数据从oracle(windows)导入hdfs(cdh3)机器

q3qa4bjr  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(513)

嗨,我正在接受 HADOOP . 我有一个任务,其中我必须将一个表数据从oracle(windows,11gxe)导入到 hdfs 使用 sqoop . 我正在读下面的文章。我的问题是如何准确地将数据从windows导入hdfs。我用诺拉马利 Winscp 将文件从windows传输到hdfs计算机。我已从导入数据 MySql 安装在hdfs(cdh3)机器上。但我不知道如何将windows中的oracle数据导入hdfs。请帮忙。
我正在跟踪的链接

x33g5p2x

x33g5p2x1#

您不需要将数据从oracle导入本地计算机。然后复制到hdfs机器上。然后导入hdfs。
sqoop在这里导入hdfs目录中的rdbms表。
使用命令: sqoop import --connect 'jdbc:oracle:thin:@192.xx.xx.xx:1521:ORCL' --username testuser --password testpassword --table testtable --target-dir /tmp/testdata 转到运行sqoop的机器。去终端(我相信是linux)。你只要按上面的命令检查一下就行了 --target-dir (我提到 /tmp/testdata 在hdfs的示例命令中)。您将在那里找到与您的oracle表对应的文件。
查看sqoop文档了解更多详细信息。

huus2vyu

huus2vyu2#

步骤如下:
1.使用您的凭据连接oracle sql命令行登录:
e、 g用户名:系统密码:系统
(请确保此用户具有所有管理权限,或者在oracle中以sysdba身份连接,并创建一个具有所有权限的新用户)在oracle中创建一个具有所有权限的用户
在该用户下创建表并插入一些值并提交
2.现在我们需要一个连接器将数据从oracle传输到hdfs。因此,我们需要下载oracle-sqoop连接器jar文件并将其放在下面的cdh3路径中(在命令中使用sudo,同时在下面的路径中复制,因为在linux中它需要管理员访问权限)

/usr/lib/sqoop/bin

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html --下载链接--ojdbc6.jar
使用winscp将下载的jar从windows传输到cdh3。然后将其移动到cdh3中的上述路径。
3.命令:

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中的输出文件,您可以在其中获取数据,您可以根据自己的需要更改dis
-m1:这说明这个sqoop作业的Map器数量是1。
192.168.xx.xx:1521—windows计算机的ip地址

相关问题