代码之家  ›  专栏  ›  技术社区  ›  user1471980

如何将Oracle表导入配置单元表

  •  0
  • user1471980  · 技术社区  · 7 年前

    我尝试使用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 回复  |  直到 7 年前
        1
  •  0
  •   Morito    7 年前

    您的表已经存在于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>
    

    然后根据目标目录创建一个外部配置单元表

        2
  •  0
  •   Uva Prakash P    7 年前

    可以使用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
    

    根据您的要求更改参数。你也可以利用 --create-hive-table 如果要创建新的配置单元表。

    推荐文章