通过sqoop将hdfs数据导入MySQL
简介: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的更多相关文章
- 使用MapReduce将HDFS数据导入Mysql
使用MapReduce将Mysql数据导入HDFS代码链接 将HDFS数据导入Mysql,代码示例 package com.zhen.mysqlToHDFS; import java.io.DataI ...
- 利用sqoop将hive数据导入导出数据到mysql
一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令 # sqoop list-databases --connect jdbc:mysql://localhost:3306 ...
- sqoop将oracle数据导入hdfs集群
使用sqoop将oracle数据导入hdfs集群 集群环境: hadoop1.0.0 hbase0.92.1 zookeeper3.4.3 hive0.8.1 sqoop-1.4.1-incubati ...
- 将Excel数据导入mysql数据库的几种方法
将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...
- 使用MySQL Migration Toolkit快速将Oracle数据导入MySQL[转]
使用MySQL Migration Toolkit快速将Oracle数据导入MySQL上来先说点废话本人最近在学习一些数据库方面的知识,之前接触过Oracle和MySQL,最近又很流行MongoDB非 ...
- SQLServer2005数据导入Mysql到详细教程
如果转载请注明转载地址,谢谢. SQL SERVER数据导入MYSQL目录 1.Navicat for MySQL 版本10.0.9 2.创建目标数据库 3.创建正确的SQL SERVER数据库ODB ...
- Excel连接到MySQL,将Excel数据导入MySql,MySQL for Excel,,
Excel连接到MySQL 即使当今时代我们拥有了类似微软水晶报表之类的强大报表工具和其他一些灵活的客户管 理应用工具,众多企业在分析诸如销售统计和收入信息的时候,微软的Excel依然是最常用的工具. ...
- 使用MySQL Migration Toolkit快速将Oracle数据导入MySQL
MySQL GUI Tools中的MySQL Migration Toolkit可以非常方便快捷的将Oracle数据导到MySQL中,该软件可以在http://dev.mysql.com/downlo ...
- SQL Server 数据导入Mysql具体教程
SQLServer2005数据导入Mysql到具体教程(測试) SQL SERVER数据导入MYSQL文件夹 1.Navicat for MySQL 版本号10.0.9 2.创建目标数据库 3.创 ...
随机推荐
- cent os安装filebeat
先贴一下官方文档https://www.elastic.co/guide/en/beats/filebeat/6.6/filebeat-installation.html 我本次使用rpm的方式安装, ...
- python待学习内容
1.Python中不尽如人意的断言Assertion https://www.cnblogs.com/cicaday/p/python-assert.html 2.Python中的反转字符串问题 ht ...
- Halcon知识点随记(每日更新)
部分积累自重码网视频 1.dev_update_off.dev_update_on 一般dev_update_off放在开始,dev_update_on放在程序结束 dev_update_window ...
- ES中的分词器
基本概念: 全文搜索引擎会用某种算法对要建索引的文档进行分析, 从文档中提取出若干Token(词元), 这些算法称为Tokenizer(分词器), 这些Token会被进一步处理, 比如转成小写等, 这 ...
- centOS7 关闭swap
[root@cdh- sbin]# free -g total used free shared buff/cache available Mem: Swap: [root@cdh- sbin]# c ...
- python第一周语言基础
控制语句 if语句,当条件成立时运行语句块.经常与else, elif(相当于else if) 配合使用. for语句,遍历列表.字符串.字典.集合等迭代器,依次处理迭代器中的每个元素. while语 ...
- Java框架spring Boot学习笔记(五):Spring Boot操作MySQL数据库增、删、改、查
在pom.xml添加一下代码,添加操作MySQL的依赖jar包. <dependency> <groupId>org.springframework.boot</grou ...
- React Native的学习资源网址
react官方文档(英文): https://facebook.github.io/react/docs/getting-started.html react中文社区(内部有视频教程等): htt ...
- vim 常用指令总结
vim的好处(四大好处) vim具有大量的操作技巧,编辑能力强大且速度比其他工具快的多! (这里举个简单的小例子:将每行的前四个字母复制到每行的末尾; 将文本中的所有word替换为words; 等等很 ...
- paloalto防火墙执行初始配置
1.默认情况下,防火墙的 IP 地址为 192.168.1.1,用户名/密码为 admin/admin. 为了安全起见,在继续执行其他防火墙配置任务之前,必须更改这些设置.必须从 MGT 接口(即使计 ...