你如何导入Oracle表到蜂巢表

时间:2018-09-13 14:59:33

标签: hadoop hive sqoop

我正在尝试使用sqoop将oracle表导出到配置单元表:

sqoop import --connect  jdbc:oracle:thin:@<server>:1521:<db> --username <user> --password <passwd> --table <table name> --hive-import --hive-table <hive_table_name> -m 1

我一直收到此错误。

2018-09-13 10:55:34,825 ERROR tool.ImportTool: Import failed: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://localhost:9000/user/<table_name> already exists

我想将oracle表导入到配置单元表。我在这里想念什么?

2 个答案:

答案 0 :(得分:0)

您的表已经存在于HDFS上,您应该添加target-dir(HDFS上的路径)

语法:

sqoop import --connect jdbc:sqlserver://sqlserver-name \
      --username <username> \
      --password <password> \
      --driver   <driver-manager-class> \
      --table    <table-name> \
      --target-dir  <target-folder-name>

然后根据您的target-dir创建一个外部Hive表

答案 1 :(得分:0)

您可以使用hive-import从RDBMS导入到Hive

sqoop import \
--connect jdbc:mysql://localhost/learning \
--username root --password-file "/Learning/sqoop/.password" \
--table employee -m 1 \
--target-dir /Learning/sqoop/import/employee_hive \
--hive-import \
--hive-table employee.employee_hive

根据您的要求更改参数。如果要创建新的Hive表,也可以使用--create-hive-table