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 weblogs_from_hdfs --export-dir /data/weblogs/import --input-fields-terminated-by ‘\t‘
对于通过sqoop导入的数据为NULL的在导出到数据库中时依然保持为NULL.即使在文件中保存为字符串为‘null‘。
sqoop默认为insert 插入新的语句
--update-key ‘md5‘  则将创建更新语句,update ....where md5 = ‘.......‘
如果--update-key ‘md5‘ 设置的值没有找到,可以设置--update-mode allowinsert 允许新增这行数据

每个mapper默认默认插入1000条记录,然后提交事务,若mapper失败,可能出现插入冲突或者插入重复数据,可以通过一个临时表--staging-table temptableName,等一个事务完成再将数据复制到--table指定的表中,临时表结构必须与最终表一致
 create table temp_table as select * from real_table where 1=0;
 临时表必须为空表,否侧必须配置参数--clear-staging-table 在插入数据前清空临时表

sqoop从hdfs导出到mysql

时间: 2024-08-28 05:38:47

sqoop从hdfs导出到mysql的相关文章

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 把数据文件上传到

Sqoop_具体总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出

一.使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase 二.使用Sqoop将HDFS/Hive/HBase中的数据导出到MySQL 2.3 HBase中的数据导出到mysql 眼下没有直接的命令将HBase中的数据导出到MySQL.但能够先将HBase中的数据导出到HDFS中.再将数据导出到MySQL. 三.使用Sqoop将Oracle中的数据导入到HDFS/Hive/HBase 以下仅仅给出将Oracle中的数据导入HBase,其它情况下的命令行选项与MySQL的操作相似

详细总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出

一.使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase 二.使用Sqoop将HDFS/Hive/HBase中的数据导出到MySQL 2.3 HBase中的数据导出到mysql 目前没有直接的命令将HBase中的数据导出到MySQL,但可以先将HBase中的数据导出到HDFS中,再将数据导出到MySQL. 三.使用Sqoop将Oracle中的数据导入到HDFS/Hive/HBase 下面只给出将Oracle中的数据导入HBase,其他情况下的命令行选项与MySQL的操作相似 O

关于使用sqoop export 导出hdfs数据到mysql中文乱码问题

前几天使用sqoop将hdfs的数据导入mysql中,发现中文导进去后会乱码,我的执行命令是: sqoop export  --connect "jdbc:mysql://10.19.157.*****?useUnicode=true&characterEncoding=utf-8" --table msg_rule_copy --username root --password root*** --export-dir $path --hadoop-home $home --

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

[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

从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 一

使用JDBC+POI把Excel中的数据导出到MySQL

POI是Apache的一套读MS文档的API,用它还是可以比较方便的读取Office文档的.目前支持Word,Excel,PowerPoint生成的文档,还有Visio和Publisher的. http://poi.apache.org/download.html 具体的用法可以查阅文档里面您的quickguide,我给出我自己的范例,从xls文件把数据导出到MySQL. 这里面我总是假定excel在第一个sheet并且第一行是字段名,能够自动从第一行读取字段名建立一个表然后导入数据. pack

Sqoop 将hdfs上的文件导入到oracle中,关于date类型的问题

近期的项目中,需要将hadoop运行完成的结果(存在于hdfs上)导入到oracle中,但是在用sqoop导入hdfs中的日期字段'2016-03-01'时,sqoop报错,说date类型必须为'yyyy-mm-dd HH:MM:SS.ffffffff'. 难道sqoop不支持自定义to_date函数么,于是我开始在网上寻求答案,但几乎找不到相关的资料,直到我在sqoop官网上看到如下的信息: sqoop导入date类型到oracle上时,只支持全格式的时间类型!!! 在这里贴出这个问题,希望对