Sqoop实践
将MySQL表导入hdfs
/usr/local/sqoop/bin/sqoop import -Dmapreduce.job.user.classpath.first=true \ 【同一个class同时出现在用户jar包和hadoop jar包时,true表示优先使用用户jar里的class】
--connect "jdbc:mysql://10.0.0.12/bocai" \
--driver com.mysql.jdbc.Driver --username root --password Forzadata1234\
--table bocai_scheduled_task_log
-m 3 \ 【m个map task】
--as-parquetfile \ 【保存为parquet类型文件】
--delete-target-dir 【删除已存在目录】
未指定target-dir时,默认保存于hdfs里的 /user/root/bocai_scheduled_task_log/ 【root为当前执行命令的用户】
将hdfs里的文件导出到MySQL
/usr/local/sqoop/bin/sqoop export -Dmapreduce.job.user.classpath.first=true \
-Dmapreduce.map.memory.mb=1024 \ 【限制map container内存大小】
-Dmapreduce.map.java.opts=-Xmx512m \ 【限制map里应用的堆最大值】
--connect "jdbc:mysql://10.0.0.12/bocai" --username root --password Forzadata1234 \
--table bocai_scheduled_task_log1 \
-m 3 \
--export-dir=/user/root/bocai_scheduled_task_log \
--driver "com.mysql.jdbc.Driver"