简介:Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

一、查看hdfs数据查看,参考

[root@hadoop001 opt]# hadoop fs -text emp.txt /data/emp.txt
1250 yangyamei doctor
1251 zhangzhenxing doctor
1261 zhangjun nurse
1265 Bob doctor
2000 spark nurse

参考:https://www.cnblogs.com/iloverain/p/8809950.html

二、MySQL数据库创建接收数据的空表emp_demo

mysql> select * from emp_demo;
Empty set (0.00 sec) //表结构 mysql> desc emp_demo;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| EMP_NO | int(11) | YES | | NULL | |
| EMP_NAME | varchar(255) | YES | | NULL | |
| Job | varchar(255) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+

三、开始导出数据到MySQL

sqoop export \
--connect jdbc:mysql://hadoop001:3306/sqoop \
--username root \
--password 123456 \
--table emp_demo \
--export-dir /data/emp.txt \
-m 1 \
--verbose \
--fields-terminated-by '\t'

–table 指定MySQL接收数据的表 
–export-dir 指定从HDFS那个路径下导出数据 
–verbose 打印更多信息 
–fields-terminated-by ‘\t’ 指定分隔符为\t 记住必须指定分隔符否则报错

四、查看数据是否已经进入

mysql> select * from emp_demo;
+--------+---------------+--------+
| EMP_NO | EMP_NAME | Job |
+--------+---------------+--------+
| 1250 | yangyamei | doctor |
| 1251 | zhangzhenxing | doctor |
| 1261 | zhangjun | nurse |
| 1265 | Bob | doctor |
| 2000 | spark | nurse |
+--------+---------------+--------+

工作总结:

1.查询表

./sqoop list-tables --connect jdbc:mysql://192.168.5.129:3306/hadoop --username root --password 111111

2.hdfs导出到mysql中

sqoop export --connect jdbc:mysql://192.168.5.129:3306/hadoop --table emp_demo --username root --password 111111 --export-dir /opt/hadoop/hive/ --input-fields-terminated-by '\t'
sqoop export --connect jdbc:mysql://192.168.5.129:3306/hadoop --table emp_demo --username root --password 111111 --export-dir /user/hive/warehouse/emp --input-fields-terminated-by '\t'

3.mysql导入到hdfs中

sqoop import --connect jdbc:mysql://192.168.5.129:3306/hadoop --username root --password 111111 --table emp_demo --fields-terminated-by '\t' -m 1

4.导入报错

// :: WARN hdfs.DataStreamer: Excluding datanode DatanodeInfoWithStorage[192.168.5.132:,DS-f3e2c26c-28a0--b768-cf1585d38ba5,DISK]

 关闭防火墙

5.将数据文件上传至hdfs

hadoop fs -put <local file or dir> <hdfs dir>    --hdfs dir 一定要存在,否则命令不会执行

6.sqoop定位数据行数

-Dorg.apache.sqoop.export.text.dump_data_on_error=true

参考:https://blog.csdn.net/qq_20064245/article/details/78352973

sqoop export -Dorg.apache.sqoop.export.text.dump_data_on_error=true ${sqoop_connect_param_oneline} --export-dir

通过sqoop将hdfs数据导入MySQL的更多相关文章

  1. 使用MapReduce将HDFS数据导入Mysql

    使用MapReduce将Mysql数据导入HDFS代码链接 将HDFS数据导入Mysql,代码示例 package com.zhen.mysqlToHDFS; import java.io.DataI ...

  2. 利用sqoop将hive数据导入导出数据到mysql

    一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令  #  sqoop list-databases --connect jdbc:mysql://localhost:3306 ...

  3. sqoop将oracle数据导入hdfs集群

    使用sqoop将oracle数据导入hdfs集群 集群环境: hadoop1.0.0 hbase0.92.1 zookeeper3.4.3 hive0.8.1 sqoop-1.4.1-incubati ...

  4. 将Excel数据导入mysql数据库的几种方法

    将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...

  5. 使用MySQL Migration Toolkit快速将Oracle数据导入MySQL[转]

    使用MySQL Migration Toolkit快速将Oracle数据导入MySQL上来先说点废话本人最近在学习一些数据库方面的知识,之前接触过Oracle和MySQL,最近又很流行MongoDB非 ...

  6. SQLServer2005数据导入Mysql到详细教程

    如果转载请注明转载地址,谢谢. SQL SERVER数据导入MYSQL目录 1.Navicat for MySQL 版本10.0.9 2.创建目标数据库 3.创建正确的SQL SERVER数据库ODB ...

  7. Excel连接到MySQL,将Excel数据导入MySql,MySQL for Excel,,

    Excel连接到MySQL 即使当今时代我们拥有了类似微软水晶报表之类的强大报表工具和其他一些灵活的客户管 理应用工具,众多企业在分析诸如销售统计和收入信息的时候,微软的Excel依然是最常用的工具. ...

  8. 使用MySQL Migration Toolkit快速将Oracle数据导入MySQL

    MySQL GUI Tools中的MySQL Migration Toolkit可以非常方便快捷的将Oracle数据导到MySQL中,该软件可以在http://dev.mysql.com/downlo ...

  9. SQL Server 数据导入Mysql具体教程

    SQLServer2005数据导入Mysql到具体教程(測试) SQL SERVER数据导入MYSQL文件夹   1.Navicat for MySQL 版本号10.0.9 2.创建目标数据库 3.创 ...

随机推荐

  1. Autowried注解和Resource注解的区别

    目录 1.概述 2.Autowried 3.Resource 4.总结 1.概述 在使用Spring框架的过程中, 依赖注入是必须的, 大多时候会使用Autowried注解来进行依赖注入, 但是也可以 ...

  2. [Linux] umask 从三类人群的权限中拿走权限数字

      作用   umask 用来设置用户创建文件.目录的默认权限,通过从权限中拿走相应的位,格式 `umask nnn`.     理解   rwx rwx rwx 权限对应三类人群,所属人,所属组,其 ...

  3. 机械革命 x7ti-s 1周年使用报告

    2017年11月19日在京东入手一台机械革命x7ti-s(https://item.jd.com/5048818.html)当时各种优惠返现什么的最终8399.5到手(是1060显卡的机械版).前几周 ...

  4. selenium的browser.page_source无法返回页面内容

    selenium的browser.page_source无法返回页面内容 可能是编码的问题.. html= (browser.page_source).encode('GBK', 'ignore') ...

  5. 如何在ubuntu中安装php

    如何在ubuntu中安装php 情衅 | 浏览 692 次 发布于2016-05-07 12:36   最佳答案   关于Ubuntu下的LAMP配置步骤: 首先要安装LAMP 就是Apache,PH ...

  6. Windows7下安装、部署Weblogic和发布war项目

    安装 1 从官方下载安装包 链接 2 下载之后,放到 Java8\jdk1.8.0\bin目录下 3 打开cmd,输入 java -jar . 4 5 6 下面是我自定义的目录, 7 8 9 10 1 ...

  7. 【JDBC】java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.

    在使用阿里的druid 时,报了一个异常java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized ...

  8. 每月IT摘录201904

    技术 1.项目,相比数量,规模更重要. 毫无疑问,在实际工作中,积极参与实际工程项目是快速积累经验最好的办法. 相对于项目的数量,项目的规模更加重要.项目的规模是可以比较容易判断的.实际服务用户的数量 ...

  9. centos查看自启动服务

    1,查看自启动服务? 2,查看某服务的开机启动状态? 3,启动(关闭,重启,查看)某个服务? 4,设置开机启动或者关闭某个服务? 1,查看自启动服务? systemctl list-unit-file ...

  10. easyui 传递参数报错(错误:uncaught SyntaxError: Unexpected identifier)

    转自:https://www.cnblogs.com/javaboy2018/p/8733585.html 代码: 按钮事件: function formatOper(val, row, index) ...