0 参考链接:
http://www.cnblogs.com/cenyuhai/p/3306037.html sqoop 常用命令整理(一)
http://www.cnblogs.com/cenyuhai/p/3306056.html sqoop 常用命令整理(二)
如下是 我工作中遇到的东西,每条语句都本机测试通过:
1 查看所有数据库:
sqoop list-databases --connect jdbc:mysql://192.168.1.1:3306/ --username root --password 123456
2 查看具体数据库内的表
sqoop list-tables --connect jdbc:mysql://localhost:3306/kellte --username root --password 123456
3 将关系型数据表结构users复制到Hive默认库的表users(此时如果不创建users表的话,那么表是内部表)中:
sqoop create-hive-table --connect jdbc:mysql://localhost:3306/test --table users
--username root --password 123456 --hive-table users
--fields-terminated-by "\0001" --lines-terminated-by "\n";
参数说明: 这两个参数可以不加
--fields-terminated-by "\0001" 是设置每列之间的分隔符,"\0001"是ASCII码中的1,
它也是hive的默认行内分隔符, 而sqoop的默认行内分隔符为","
--lines-terminated-by "\n" 设置的是每行之间的分隔符,此处为换行符,也是默认的分隔符;
4 将mysql表student数据拷贝到hive默认库的student表中: 这里使用一个mapreduce来执行
sqoop import --connect jdbc:mysql://192.168.1.1:3306/kettle --username root --passwd 123456
--table student --hive-import --hive-table student -m 1;
5 根据列导入数据: 将kettle库下student表的name属性 写入到 hive表的student1中
sqoop import --connect jdbc:mysql://192.168.1.1:3306/kettle --username root --password 123456
--table student --column 'name' --hive-import --hive-table student1 -m1;
5.1 column 和 where合用在 mysql导出到hive中:
这是写到hive中的
sqoop import --connect jdbc:mysql://192.168.1.1:3306/kettle --username root --password 123456
--table student --columns "id,name" --where "id > 3 and (age = 88 or age = 80)" -m 1
--target-dir /user/hive/warehouse/userinfos2 --fields-terminated-by ",";
这是写到hdfs中的
sqoop import --connect jdbc:mysql://192.168.1.1:3306/kettle --username root --password 123456
--table student --columns "id,name" --where "id > 3 and (age = 88 or age = 80)" -m 1
--hive-import --hive-table student5;
注意:--target-dir /user/hive/warehouse/userinfos2 可以用 --hive-import --hive-table userinfos2 进行替换
6 增量添加数据: 将Mysql表student5从在主键大于2的基础上导出数据到hive表student5中,其中
mysql表student5的id必须是自增,否则无法执行
sqoop import --connect jdbc:mysql://192.168.1.1:3306/kettle --username root --password 123456
--table student5 --hive-import --hive-table student5 -m 1 --incremental append --check-column 'id'
--last-value 2;
7 query过滤条件使用: 将mysql表3个字段写到hdfs中,写入到hdfs后,字段以:间隔,各行之间以id间隔
sqoop import --connect jdbc:mysql://192.168.1.1:3306/kettle --username root --password 123456
--query "select id,name,kc_name from student5 where \$CONDITIONS"
--target-dir /opt/hadoop/hive/warehouse/student5
--fields-terminated-by “:” --split-by student5.id;
注意: 上述代码在命令行中需要写在一行, 并且 $CONDITIONS 在 ""内的时候,需要\来转义
使用' 则不需要\转义, $CONDITIONS和 query必须同时出现。
在oozie 拼接的 sqoop workflow.xml中 拼接的 sqoop query 时, $CONDITIONS 不需要转义
8 query 将数据写到Hive中 :
sqoop import --connect jdbc:mysql://192.168.1.1:3306/kettle --username root --password 123456
--query "select id,name,kc_name from student5 where \$CONDITIONS and id>3"
--target-dir /opt/hadoop/hive/warehouse/student5
--fields-terminated-by “,” --split-by student5.id
相关推荐
sqoop的常用指令操作
以下是 Sqoop 常用的一些核心命令及其详细解释: 1. **安装与配置**: 在使用 Sqoop 命令之前,需要确保已经正确安装了 Hadoop 和 Sqoop,并且在环境变量中配置了 `HADOOP_HOME` 和 `SQOOP_HOME`。 2. **连接...
常用的sqoop操作方法,主要是import与export的常用参数
在这个场景中,我们将详细探讨 Sqoop 的常用命令参数。 1. **通用参数**: - `--connect`:这是连接关系型数据库的 URL,用于指定要导入或导出数据的数据库地址。 - `--connection-manager`:用于指定使用的连接...
Sqoop 安装与使用 Sqoop 是一款方便的在传统型数据库与 Hadoop 之间进行数据迁移的工具,充分利用 MapReduce 并行特点以批处理的方式加快数据传输。Sqoop 工具是 Hadoop 下连接关系型数据库和 Hadoop 的桥梁,支持...
Sqoop是Apache Hadoop生态中的一个工具,用于在关系型数据库和Hadoop之间高效地导入导出数据。在这个场景中,我们遇到了一个关于Sqoop运行时的问题,即"找不到或无法加载主类 org.apache.sqoop.sqoop"。这个问题通常...
Sqoop集群搭建指南 Sqoop是一款开源的数据转换工具,由 Apache 软件基金会开发,主要用于在 Hadoop 集群和结构化数据存储之间移动数据。Sqoop 集群搭建是指在 Hadoop 集群环境中安装和配置 Sqoop,以实现数据的高效...
Sqoop是Apache Hadoop生态中的一个工具,用于在Hadoop和关系型数据库之间高效地导入导出数据。在CDH(Cloudera Distribution Including Apache Hadoop)环境下安装和使用Sqoop,可以方便地将结构化数据从传统的...
sqoop安装详解以及sqoop内容介绍使用介绍 集群介绍 sqoop:是一个工具,主要用于导入导出,实现MySQL到Hadoop之间数据的转换 2、导入数据:从结构化数据(Mysql,oracle,db2,)导入到半结构化或非结构化hadoop中...
### Sqoop 安装与使用详解 #### 一、Sqoop功能概述 Sqoop是一款用于在Hadoop和关系型...以上介绍了如何安装和使用Sqoop的基本流程及常用命令,通过这些命令可以帮助用户轻松地在Hadoop与关系型数据库之间迁移数据。
Hadoop-Sqoop配置 Sqoop 是一种数据迁移工具,主要用于在结构化数据源和 Hadoop 之间进行数据迁移。Sqoop 可以连接各种数据源,如 MySQL、PostgreSQL、Oracle 等,并将数据导入 Hadoop 中。 Sqoop 的主要特点是...
以下是 Sqoop 常用的一些核心功能: 1. 数据导入:Sqoop 可以从 RDBMS 导入数据到 HDFS,支持全量导入和增量导入。增量导入允许用户仅导入自上次导入以来发生更改的数据,减少了不必要的数据传输。 2. 数据导出:...
Sqoop 的原理及概念 Sqoop 是一个开源的工具,用于在关系型数据库(RDBMS)和 Hadoop 之间进行高效的大数据交流。下面是 Sqoop 的原理和概念: 一、Sqoop 的架构 Sqoop 的架构非常简单,整合了 Hive、Hbase 和 ...
### Sqoop2安装与配置详解 #### 一、概述 Sqoop是一款开源工具,主要用于在Hadoop和关系型数据库之间高效地传输数据。Sqoop2是Sqoop的一个重大升级版本,它引入了全新的架构和改进的功能,使得数据迁移更加稳定...
【大数据技术基础实验报告——Sqoop的安装配置与应用】 Sqoop是一款用于在Apache Hadoop和关系型数据库之间传输数据的工具,它简化了大量数据的导入导出过程。本实验报告将详细介绍如何安装配置Sqoop以及如何使用...
内容概要:Sqoop 1.4.7 安装包主要包括以下内容:Sqoop 命令行工具:用于执行数据迁移任务的客户端工具。连接器:Sqoop 支持多种数据库连接器,包括 MySQL、PostgreSQL、Oracle 等,用于连接目标数据库。元数据驱动...
Sqoop2是一款用于在Hadoop和关系数据库管理系统(RDBMS)之间进行数据迁移的工具。它是Apache Sqoop项目的第二代版本,旨在提供更高级的功能和更好的可扩展性,以支持大数据环境中的复杂数据导入导出任务。在这个...
sqoop 导入数据时候报错ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: oracle.jdbc.OracleDriver 缺少驱动包。
sqoop框架开发工具使用的jar sqoop-1.4.7.jar 手动安装到maven <groupId>org.apache.sqoop <artifactId>sqoop <version>1.4.7 </dependency>
Sqoop 是一个用于在 Apache Hadoop 和传统关系型数据库之间进行数据迁移的工具。它主要负责将结构化的数据从 RDBMS(例如 MySQL)导入到 Hadoop 分布式文件系统(HDFS)、HBase 或 Hive,同时也能将数据从 Hadoop ...