sqoop安装和使用

下载版本:sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 

官网:http://mirror.bit.edu.cn/apache/sqoop/1.4.6/

jdbc驱动:mysql-connector-java-5.1.46.jar

jdbc驱动包放到sqooplib目录下。

cd sqoop-1.4.7.bin__hadoop-2.6.0/bin/ 进行ls

执行  ./sqoop-help或者./sqoop help

看到有红色框里的东西代表安装成功了。

从HDFS导出数据到mysql:

首先在mysql创建与HDFS数据的字段相对应的表

 ./sqoop export  \
--connect jdbc:mysql://master:3306/hive_sqoop \
--username root \
--password 123456 \
--table t_extract_web_log \
--export-dir /t_extract_web_log/000000_0 \
--input-fields-terminated-by '\001'

  //hive_data数据库名   \换行

备注:数据虽然在hive里面是\t分隔符,但是经过hive导出到HDFS:

 

hive> from t_extract_web_log

 

    > insert overwrite directory '/t_web_log'

 

    > select *;

分隔符变成了 \001

从mysql导入数据到HDFS:

./sqoop import \
--connect jdbc:mysql://master:3306/hive_sqoop \
--username root \
--password 123456 \
--table t_extract_web_log \
--target-dir /t_extract_web_log \
--m 1

备注:注意:/t_extract_web_log必须不存在,否则报错

--m 1 表示只有一个mapTask,默认4个

每次执行的时候会检测文件是否存在

 

posted @ 2018-12-03 10:55  dummyly  阅读(147)  评论(0编辑  收藏  举报