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"

posted on 2020-12-04 22:41  jmbkeyes  阅读(139)  评论(0编辑  收藏  举报

导航