sqoop导出到mysql数据库

sqoop:000> create job --xid 1 --type export
Creating job for connection with id 1
Please fill following values to create new job object
Name: export_emp

Database configuration

Schema name: schools
Table name: emp
Table SQL statement:
Table column names:
Stage table name:
Clear stage table:

Input configuration

Input directory: /opt/hadoop/mysql/emp

Throttling resources

Extractors:
Loaders:
New job was successfully created with validation status FINE  and persistent id 4
sqoop:000> show job
+----+-------------+--------+-----------+---------+
| Id |    Name     |  Type  | Connector | Enabled |
+----+-------------+--------+-----------+---------+
| 1  | mysqlImport | IMPORT | 1         | true    |
| 2  | emp_dept    | IMPORT | 1         | true    |
| 3  | testExport  | EXPORT | 1         | true    |
| 4  | export_emp  | EXPORT | 1         | true    |
+----+-------------+--------+-----------+---------+
sqoop:000> start job --jid 4
Submission details
Job ID: 4
Server URL: http://hadoopMaster:12000/sqoop/
Created by: hadoop
Creation date: 2014-05-30 12:58:53 CST
Lastly updated by: hadoop
External ID: job_local1529531301_0004
    http://localhost:8080/
2014-05-30 12:58:53 CST: BOOTING  - Progress is not available

 

 

mysql> select * from emp;
+----+-----------+
| id | name      |
+----+-----------+
|  1 | Dennis-1  |
|  2 | Dennis-2  |
|  3 | Dennis-3  |
|  4 | Dennis-4  |
|  5 | Dennis-5  |
|  6 | Dennis-6  |
|  7 | Dennis-7  |
|  8 | Dennis-8  |
|  9 | Dennis-9  |
| 10 | Dennis-10 |
| 11 | Dennis-11 |
| 12 | Dennis-12 |
| 13 | Dennis-13 |
| 14 | Dennis-14 |
| 15 | Dennis-15 |
| 16 | Dennis-16 |
| 17 | Dennis-17 |
| 18 | Dennis-18 |
| 19 | Dennis-19 |
| 20 | Dennis-20 |
+----+-----------+
20 rows in set (0.00 sec)

Sqoop是一种用于在Hadoop生态系统中传输数据的工具,可以将关系型数据库中的数据导入到Hadoop中进行处理,也可以将Hadoop中的数据导出到关系型数据库中。当使用Sqoop导出数据到MySQL时,可能会出现以下错误: 1. "java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test" 这个错误通常是因为Sqoop没有找到MySQL JDBC驱动程序。解决方法是在Sqoop命令中添加--driver选项,指定MySQL JDBC驱动程序的路径。 2. "ERROR tool.ExportTool: Error during export: Export job failed!" 这个错误可能是由于导出过程中发生了错误。可以通过查看Sqoop日志来了解更多信息,例如导出过程中出现的任何异常或错误消息。另外,还可以尝试增加--verbose选项来获取更详细的日志信息,以便更好地了解导出过程中发生的情况。 3. "ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Table 'test.table_name' doesn't exist" 这个错误通常是因为导出命令指定的表名不存在。可以通过检查表名是否正确拼写以及是否存在来解决这个问题。另外,还可以尝试使用--table选项来显式指定表名。 4. "ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...' for column 'column_name' at row 1" 这个错误通常是由于导出的数据包含MySQL不支持的字符集。可以尝试使用--mysql-delimiters选项来指定MySQL的字段和行分隔符,或者使用--input-null-string选项和--input-null-non-string选项来指定要导入的空字符串和非字符串值。 5. "ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Data too long for column 'column_name'" 这个错误通常是由于导出的数据超过了MySQL列的最大长度限制。可以通过在导出命令中使用--map-column-java选项来将列类型映射为Java中的更大类型,或者使用--mysql-delimiters选项来将字段和行分隔符设置为更短的值,以减少导出的数据量。 总之,解决Sqoop导出MySQL的错误需要结合具体的错误提示以及导出命令的配置选项来进行调试和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值