#!/bin/bash sqoop job --delete haibaicai sqoop job --create haibaicai \ -- import \ --connect jdbc:mysql://192.168.253.128:3306:3306/dbhome \ --driver com.mysql.jdbc.Driver \ --username root \ --password-file /sqoop/pwd/sqoopPWD.pwd \ --table haibaicai \ --delete-target-dir \ --target-dir /user/hive/warehouse/dbhome.db/haibaicai \ --fields-terminated-by '\001' sqoop job --exec haibaicai
时间: 2023-12-12 14:05:32 浏览: 107
这个脚本的作用是使用sqoop将MySQL中的haibaicai表导入到Hive的dbhome数据库中的haibaicai表中,导入时使用'\001'作为字段分隔符,并且在导入前会删除Hive中已有的目标目录。
但是,这个脚本中的一些参数可能存在问题:
1. `--connect`参数的URL是不正确的,应该是`jdbc:mysql://192.168.253.128:3306/dbhome`,不需要写两个冒号。
2. `--delete-target-dir`参数在一些版本的sqoop中已被弃用,可以使用`--delete-target-dir -m 1`替代。
3. `--fields-terminated-by`参数应该是`--fields-terminated-by '\001'`,而不是`--fields-terminated-by \001`。
建议您对脚本进行以下修改:
```
#!/bin/bash
sqoop job --delete haibaicai
sqoop job --create haibaicai \
--import \
--connect jdbc:mysql://192.168.253.128:3306/dbhome \
--driver com.mysql.jdbc.Driver \
--username root \
--password-file /sqoop/pwd/sqoopPWD.pwd \
--table haibaicai \
--delete-target-dir -m 1 \
--target-dir /user/hive/warehouse/dbhome.db/haibaicai \
--fields-terminated-by '\001'
sqoop job --exec haibaicai
```
这个修改后的脚本应该可以正常运行了。
阅读全文