sqoop从mysql导入到hdfs

1、mysql
 -- 创建数据库
 create database logs;
 -- 使用
 use logs;
 -- 创建表
 create table weblogs(
  md5 varchar(32),
  url varchar(64),
  request_date date,
  request_time time,
  ip varchar(15)
 );
 -- 从外部文本文件加载数据
 load data infile ‘/path/weblogs_entries.txt‘ into table weblogs fields terminated by ‘\t‘ lines terminated by ‘\r\n‘;
 -- 查询
 select * from weblogs;
 -- 将mysql数据导出到hdfs

sqoop import -m 1 --connect jdbc:mysql://hadoop:3306/logs --username root --password root --table weblogs --target-dir /data/weblogs/import
 --target-dir 决定了数据将存储在hdfs的哪个目录下
 默认情况下,sqoop导入的数据将会按主键进行分割, 有多少个主键,就会有多少个输出文件(一定要控制好)。若不包含主键,必须指定-m 或者--split-by参数决定导入的数据如何分割。每个mapper将产生一个独立的文件。导入文件的默认分割符号“,”,
 ,可以通过--fields-terminated-by ‘\t‘ 指定其他的分割符号
 sqoop import -m 1 --connect jdbc:mysql://hadoop:3306/logs --username root --password root --table weblogs --target-dir /data/weblogs/import --fields-terminated-by ‘\t‘

sqoop import --connect jdbc:mysql://hadoop:3306/logs --username root --password root --table weblogs --split-by md5 --target-dir /data/weblogs/import
 --as-avrodatafile 将数据导入为avro文件
 --as-sequencefile 导入为序列化文件
 -z或--compress 在导入的过程中对数据进行压缩,默认gzip
 --compression-codec <CODEC类> 使用hadoop支持的任何压缩方式类
 --direct 指示sqoop直接使用数据库支持的本地导入导出工具,更快(此时必须使用-m指定mapper的数量,否则若使用--split-by的话会报错,mysqldump terminated status with 2)
 sqoop import --direct -m 1  --connect jdbc:mysql://hadoop:3306/test --username root --password root --table weblogs  --target-dir /data/weblogs/person

use mysql
 select host,user from user;

sqoop从mysql导入到hdfs

时间: 2024-10-11 09:28:06

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

Sqoop MySQL 导入到HDFS

从MySQL数据库phx中读取tree表到HDFS 执行命令: sqoop import --connect jdbc:mysql://node1:3306/phx \--username root --table tree --m 1 命令行输出: Warning: /csh/link/sqoop/../hcatalog does not exist! HCatalog jobs will fail. Please set $HCAT_HOME to the root of your HCat

sqoop命令,mysql导入到hdfs、hbase、hive

1.测试MySQL连接 bin/sqoop list-databases --connect jdbc:mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' 2.检验SQL语句 bin/sqoop eval --connect jdbc:mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' --quer

通过Sqoop实现Mysql / Oracle 与HDFS / Hbase互导数据

通过Sqoop实现Mysql / Oracle 与HDFS / Hbase互导数据\ 下文将重点说明通过Sqoop实现Mysql与HDFS互导数据,Mysql与Hbase,Oracle与Hbase的互导最后给出命令.一.Mysql与HDFS互导数据环境:宿主机器操作系统为Win7,Mysql安装在宿主机上,宿主机地址为192.168.66.963台虚拟机操作系统为Ubuntu-12.04.1-32位三台虚拟机已成功安装hadoop,并实现免密钥互访,配hosts为:192.168.66.91 m

mysql导入到hdfs中常见问题

mysql导入到hdfs中命令:sqoop import --connect jdbc:mysql://192.168.0.161:3306/angel --username anqi -password anqi --table test2 --fields-terminated-by '\t' -m 1 常见问题1:Warning: /opt/cloudera/parcels/CDH-5.12.0-1.cdh5.12.0.p0.29/bin/../lib/sqoop/../accumulo

教程 | 使用Sqoop从MySQL导入数据到Hive和HBase

基础环境 sqoop:sqoop-1.4.5+cdh5.3.6+78, hive:hive-0.13.1+cdh5.3.6+397, hbase:hbase-0.98.6+cdh5.3.6+115 Sqool和Hive.HBase简介 Sqoop Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的开源工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中. Hiv

使用sqoop从mysql导入数据到hive

前言 这篇文章主要是用sqoop从mysql导入数据到hive时遇到的坑的总结. 环境: 系统:Centos 6.5 Hadoop:Apache,2.7.3 Mysql:5.1.73 JDK:1.8 Sqoop:1.4.7 Hadoop以伪分布式模式运行. 一.使用的导入命令 我主要是参考一篇文章去测试的,Sqoop: Import Data From MySQL to Hive. 参照里面的方法,在mysql建了表,填充了数据,然后按照自己的情况输入了命令: sqoop import --co

sqoop Mysql 导入到hdfs、hive

sqoop是一个用于在Hadoop和关系型数据库(Oracle,Mysql...)间数据传递的开源工具.下面以mysql.sqlserver为例,介绍使用sqoop将数据从mysql.sqlserver导入到Hadoop中(HDFS.Hive) #导入命令及参数介绍 通用参数 参数名 参数说明 --connect <jdbc-uri> JDBC连接字符串 --username <username> 数据库用户名 --password <password> 数据库密码 -

sqoop从mysql导入到hive

业务需求:将mysql的pis.T_MATCH表导入到hive上pms库的pis_t_match表 实现代码: hive -e "set mapred.job.queue.name=pms; create table if not exists pms.pis_t_match ( id bigint, merchant_id int, product_id string, product_name string, product_code string, oppon_product_code s

sqoop从mysql导入hive的一些问题

1.错误:Sqoop:Import failed: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf 解决方法1: 将mysql中的数据导入到hive中报错: ERROR tool.ImportTool:Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.Hive