使用重命名的sqoop导入表

时间:2016-01-10 17:26:33

标签: database hadoop hive sqoop

我对Hadoop& amp;朋友。我在这里看Cloudera教程示例:http://www.cloudera.com/content/www/en-us/developers/get-started-with-hadoop-tutorial/exercise-1.html基本上包含这个命令:

> sqoop import-all-tables \
    -m {{cluster_data.worker_node_hostname.length}} \
    --connect jdbc:mysql://{{cluster_data.manager_node_hostname}}:3306/retail_db \
    --username=retail_dba \
    --password=cloudera \
    --compression-codec=snappy \
    --as-parquetfile \
    --warehouse-dir=/user/hive/warehouse \
    --hive-import

此命令在我的情况下失败,因为我的Hive仓库中已经存在具有相同名称的表。我们可以在将表(或底层数据库名称)导入Hive时重命名这些表吗?我似乎无法看到这个选项。

Wirawan

1 个答案:

答案 0 :(得分:0)

您可以使用--hive-table选项提供表的自定义名称。

sqoop-import --connect jdbc:mysql://localhost:3306/mysql_dbname --username root --password cloudera --table orders1 --hive-import **--hive-table** test.oct8_2 --create-hive-table -m 1

您可以在hdfs路径中看到目录结构:

[cloudera@quickstart ~]$ hadoop fs -ls /user/hive/warehouse/test.db
Found 3 items
drwxrwxrwx   - cloudera supergroup          0 2019-10-07 19:20 /user/hive/warehouse/test.db/oct8
drwxrwxrwx   - cloudera supergroup          0 2019-10-07 19:26 /user/hive/warehouse/test.db/oct8_2
drwxrwxrwx   - cloudera supergroup          0 2018-12-06 03:16 /user/hive/warehouse/test.db/xmlcsv