前面介绍了sqoop1.4.6的 如何将mysql数据导入Hadoop之Sqoop安装,下面就介绍两者间的数据互通的简单使用命令。

显示mysql数据库的信息,一般sqoop安装测试用

sqoop list-databases --connect jdbc:mysql://192.168.2.101:3306/ --username root --password root

显示数据库里所有表:

sqoop list-tables --connectjdbc:mysql://192.168.2.101:3306/FlowDB --username root -password root

mysql导入到hdfs中

sqoop import --connect jdbc:mysql://192.168.2.101:3306/FlowDB --username root --password root --table WorkTable --fields-terminated-by '\t' -m 1

sqoop ##sqoop命令
import ##表示导入
--connect jdbc:mysql://ip:3306/sqoop ##告诉jdbc,连接mysql的url
--username root ##连接mysql的用户名
--password admin ##连接mysql的密码
--table aa ##从mysql导出的表名称
--fields-terminated-by '\t' ##指定输出文件中的行的字段分隔符
--target-dir/user/hadoop/databases/ssa/fin_cashier_order
-m 1 ##复制过程使用1个map作业
若是不写--target-dir 则默认是hdfs上的user/username/tablename 路径
如果重复执行,会提示目录已经存在,可以手动删除
该命令执行结束后,观察hdfs的目录/user/{USER_NAME},下面会有一个文件夹是aa,里面有个文件是part-m-00000。该文件的内容就是数据表aa的内容,字段之间是使用制表符分割的。

查看HDFS上的文件
  hadoop fs -cat /user/jzyc/WorkTable/part-m-00000

hdfs导出到mysql中

  把上一步导入到hdfs的数据导出到mysql中。我们已知使用制表符分隔的。那么,我们现在数据库FlowDB中创建一个数据表叫做WorkTable_hdfs,里面有两个字段。然后执行下面的命令

sqoop export --connect jdbc:mysql://192.168.2.101:3306/FlowDB --table WorkTable_hdfs --username root --password root --export-dir /user/jzyc/WorkTable/ --input-fields-terminated-by '\t'

sqoop导入视图到hdfs

sqoop import --connect jdbc:mysql://192.168.2.101:3306/FlowDB --username root --password root
--query 'SELECT * FROM view_WorkTable WHERE \$CONDITIONS' -m 1 target-dir /user/jzyc/WorkTable --delete-target-dir --fields-terminated-by ","

将数据从关系数据库导入文件到hive表中,--query 语句使用

sqoop import --append --connect jdbc:mysql://192.168.2.101:3306/FlowDB --username root --password root --query "SELECT ID,Classify,Name,ModelType,CreateDate,CreateUserID,DesignJSON,Status from WorkTable where \$CONDITIONS" -m 1 --target-dir /hive/warehouse/WorkTable --fields-terminated-by ","

将数据从关系数据库导入文件到hive表中,--columns --where 语句使用

sqoop import --append --connect jdbc:mysql://192.168.2.101:3306/FlowDB --username root --password root --table WorkTable --columns "ID,Classify,Name,ModelType,CreateDate,CreateUserID" --where "Classify = 1" -m 1 --target-dir /hive/warehouse/WorkTable2 --fields-terminated-by ","

  注意:--target-dir/hive/warehouse/WorkTable2 可以用 --hive-import --hive-table WorkTable2 进行替换

  从上面的信息可以看到sqoop还是走的hadoop的M/R引擎。

  以上只是一些经过验证通过的简单的示例,更复杂的有待后续补充。

最新文章

  1. 关于印发利用DEM确定耕地坡度分级技术规定(试行)的通知
  2. Intelij IDEA解决Dependency无法更新问题
  3. 用POI读取具有任意合并单元的excel数据
  4. 获取PC或移动设备的所有IP地址
  5. 【BZOJ】1452: [JSOI2009]Count
  6. oracle 时间格式修改
  7. dictionaryWithObjectsAndKeys
  8. js之正则表达式(下)
  9. Datatable.Compute小技巧
  10. unable to apply changes:plugins "App links assistant",firebase services won'
  11. ES6之Promise学习与实践
  12. PHP Yii2.0PHPexecl导出。
  13. 山东理工大学SDUT - ACM OJ 题: Python代码 及分析
  14. Yii2常用ActiveRecord用法
  15. 嵌入式系统C编程之堆栈回溯【转】
  16. 让你简洁清晰真正的了解什么是JavaSCript
  17. 解决 PermGen space Tomcat内存设置(转)
  18. 《转》Python学习(13)-Python的字符编码
  19. 使用 RamMap 清理内存 How to Use RamMap to Empty System Working Set
  20. BurpSuite系列(一)----Proxy模块(代理模块)

热门文章

  1. copyWithZone 的使用方法
  2. CSS3特效----制作3D旋转导航
  3. 学习笔记:javascript内置对象:日期对象
  4. 第二章 基本图像处理(Image Processing)
  5. MySQL ProxySQL读写分离实践
  6. GTD:让大脑用来思考,而不是用来记事!
  7. springcloud(六):配置中心(一)
  8. (入门篇 NettyNIO开发指南)第三章-Netty入门应用
  9. poi解析excel
  10. Quartz.net 定时任务之Cron表达式