14.Sqoop把数据从HDFS导出到mysql

创建数据文件

1201,gopal,manager,50000,TP
1202,manisha,preader,50000,TP
1203,kalil,php dev,30000,AC
1204,prasanth,php dev,30000,AC
1205,kranthi,admin,20000,TP
1206,satish p,grp des,20000,GR

把数据文件上传到集群

在HDFS上创建目录

hadoop fs -mkdir -p /user/hadoop/emp

把数据文件上传到HDFS上

hadoop fs -put emp_data.txt /user/hadoop/emp

登录Mysql

mysql> create database userdb;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on userdb.* to ‘sqoop‘@‘%‘ identified by ‘sqoop‘;
Query OK, 0 rows affected (0.15 sec)

mysql> grant all privileges on userdb.* to ‘sqoop‘@‘localhost‘ identified by ‘sqoop‘;
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on userdb.* to ‘sqoop‘@‘node1‘ identified by ‘sqoop‘;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> use userdb
Database changed
mysql> 

在mysql里创建一个表

 CREATE TABLE employee (
   id INT NOT NULL PRIMARY KEY,
   name VARCHAR(20),
   deg VARCHAR(20),
   salary INT,
   dept VARCHAR(10));

现在需要从HDFS上把数据导入到mysql中对应的表

执行命令

bin/sqoop export --connect jdbc:mysql://node1:3306/userdb \
--username sqoop --password sqoop --table employee --export-dir /user/hadoop/emp/
--input-fields-terminated-by ‘,‘

查看Mysql表的数据

原文地址:https://www.cnblogs.com/braveym/p/10880633.html

时间: 2024-08-30 01:12:52

14.Sqoop把数据从HDFS导出到mysql的相关文章

sqoop 导入数据到HDFS注意事项

今天碰到不少问题,记录一下. 分割符的方向问题 首先sqoop的参数要小心, 从数据库导出数据,写到HDFS的文件中的时候,字段分割符号和行分割符号必须要用 --fields-terminated-by 而不能是 --input-fields-terminated-by --input前缀的使用于读文件的分割符号,便于解析文件,所以用于从HDFS文件导出到某个数据库的场景. 两个方向不一样. 参数必须用单引号括起来 官方文档的例子是错的: The octal representation of

sqoop从hdfs导出到mysql

create database logs; use logs create table weblogs_from_hdfs( md5 varchar(32), url varchar(64), request_date date, request_time time, ip varchar(15)); sqoop export -m 1 --connect jdbc:mysql://hadoop:3306/logs --username root --password root --table

Sqooop- 使用Sqoop进行数据的导入导出

Sqoop是Apache旗下的一个开源框架,专门用来做数据的导入和导出. 官网:https://sqoop.apache.org/ Sqoop的安装非常简单,只需要把下载下来的tar包解压设置两个环境变量就可以了 1.安装部署 下载版本:sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 官网:http://mirror.bit.edu.cn/apache/sqoop/1.4.6/ 1.1把tar包解压到/usr/sqoop tar -xvzf sqoop-1.

sqoop操作之HDFS导出到ORACLE

注意:在导出前需要先创建待导出的表结构.如果导出的表在数据库中不存在则会报错:如果重复导出多次,表中的数据会重复: create table EMP_DEMO as select * from EMP where 1=2; create table SALGRADE_DEMO as select * from SALGRADE where 1=2; 导出表的所有字段 sqoop export --connect jdbc:oracle:thin:@192.168.1.107:1521:ORCL

第3节 sqoop:4、sqoop的数据导入之导入数据到hdfs和导入数据到hive表

注意: (1)\001 是hive当中默认使用的分隔符,这个玩意儿是一个asc 码值,键盘上面打不出来 (2)linux中一行写不下,可以末尾加上 一些空格和 “ \ ”,换行继续写余下的命令: bin/sqoop import --connect jdbc:mysql://192.168.25.24:3306/userdb --username root --password admin --table \emp --fields-terminated-by '\001' \--hive-im

[Sqoop]将Hive数据表导出到Mysql

业务背景 mysql表YHD_CATEG_PRIOR的结构如下: -- Table "YHD_CATEG_PRIOR" DDL CREATE TABLE `YHD_CATEG_PRIOR` ( `category_id` int(11) NOT NULL COMMENT '类目ID', `category_name` varchar(250) DEFAULT NULL COMMENT '类目名称', `category_level` int(11) DEFAULT '0' COMMEN

sqoop关系型数据迁移原理以及map端内存为何不会爆掉窥探

序:map客户端使用jdbc向数据库发送查询语句,将会拿到所有数据到map的客户端,安装jdbc的原理,数据全部缓存在内存中,但是内存没有出现爆掉情况,这是因为1.3以后,对jdbc进行了优化,改进jdbc内部原理,将数据写入磁盘存储了. 原文和作者一起讨论: http://www.cnblogs.com/intsmaze/p/6775034.html 微信:intsmaze Sqoop是apache旗下一款"Hadoop和关系数据库服务器之间传送数据"的工具.Sqoop架构非常简单,

从hive将数据导出到mysql(转)

从hive将数据导出到mysql http://abloz.com 2012.7.20 author:周海汉 在上一篇文章<用sqoop进行mysql和hdfs系统间的数据互导>中,提到sqoop可以让RDBMS和HDFS之间互导数据,并且也支持从mysql中导入到HBase,但从HBase直接导入mysql则不是直接支持,而是间接支持.要么将HBase导出到HDFS平面文件,要么将其导出到Hive中,再导出到mysql.本篇讲从hive中导出到mysql.从hive将数据导出到mysql 一

【甘道夫】Sqoop1.99.3基础操作--导入Oracle的数据到HDFS

第一步:进入客户端Shell [email protected]:~$ sqoop.sh client Sqoop home directory: /home/fulong/Sqoop/sqoop-1.99.3-bin-hadoop200 Sqoop Shell: Type 'help' or '\h' for help. sqoop:000> set server --host FBI003 --port 12000 --webapp sqoop Server is set successfu