1.5 使用Sqoop从HDFS导出数据到MySQL
实验准备
在mysql中创建数据库和表,并插入数据
1.登录mysql
mysql -uroot -phadoop
2.创建新的数据库
CREATE DATABASE logs;
3.选择logs数据库
USE logs;
4.创建weblogs表
CREATE TABLE weblogs_from_hdfs (
md5 VARCHAR(32),
url VARCHAR(64),
request_date DATE,
request_time TIME,
ip VARCHAR(15)
);
实验过程
sqoop export -m 1 --connect jdbc:mysql://namenode:3306/logs --username root --password hadoop --table weblogs_from_hdfs --export-dir /data/weblogs/weblog_entries.txt --input-fields-terminated-by '\t' --mysql-delimiters
注:书中是将/data/weblogs/05102012 下文件导入到mysql而我使用了1.2上传上去的weblog_entries.txt,然后书中还有一点纰漏,就是–mysql-delimiters 在书中写成了–mysql-delmiters 少了一个‘i’所以如果直接运行书中原句,会报错。
在mysql中查询 weblogs_from_hdfs 表数量可以检测是否运行成功
mysql> select count(*) from weblogs_from_hdfs;
+----------+
| count(*) |
+----------+
| 3000 |
+----------+
1 row in set (0.00 sec)