`
liyonghui160com
  • 浏览: 775839 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sqoop使用语句

阅读更多

 

1、列出mysql数据库中的所有数据库

 sqoop list-databases --connect jdbc:mysql://localhost:3306/ -username dyh -password 000000

 
2、连接mysql并列出数据库中的表

sqoop list-tables --connect jdbc:mysql://localhost:3306/test --username dyh --password 000000

 
3、将关系型数据的表结构复制到hive中

sqoop create-hive-table --connect jdbc:mysql://localhost:3306/test --table users --username dyh --password 000000 --hive-table users  --fields-terminated-by "\0001"  --lines-terminated-by "\n";

参数说明:

--fields-terminated-by "\0001"  是设置每列之间的分隔符,"\0001"是ASCII码中的1,它也是hive的默认行内分隔符, 而sqoop的默认行内分隔符为","

--lines-terminated-by "\n"  设置的是每行之间的分隔符,此处为换行符,也是默认的分隔符;

注意:只是复制表的结构,表中的内容没有复制 在默认创建hive表时,sqoop根据oracle的RAW类型无法找到对应的HIVE类型,所以报错。

    013-09-17 19:33:12,184 ERROR org.apache.sqoop.tool.ImportTool: Encountered IOException running import job: java.io.IOException: [color=darkred]Hive does not support the SQL type for column RAW_TYPE_ID[/color]  
      at rg.apache.sqoop.hive.TableDefWriter.getCreateTableStmt(TableDefWriter.java:195)  
            at org.apache.sqoop.hive.HiveImport.importTable(HiveImport.java:187)  
            at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:425)  
            at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:502)  
            at org.apache.sqoop.Sqoop.run(Sqoop.java:145)  
            at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)  
            at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)  
            at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)  
            at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)  
            at org.apache.sqoop.Sqoop.main(Sqoop.java:238)  

 解决方法为:
通过 --map-column-hive 自己提供列对应的类型
    --map-column-hive RAW_TYPE_ID=STRING 
这样就指定RAW_TYPE_ID对应的HIVE类型为STRING类型


4、将数据从关系数据库导入文件到hive表中

sqoop import --connect jdbc:mysql://localhost:3306/test --username dyh --password 000000 --table users --hive-import --hive-table users -m 2 --fields-terminated-by "\0001";

参数说明:

 -m 2 表示由两个map作业执行;

--fields-terminated-by "\0001"  需同创建hive表时保持一致;


 
5、将hive中的表数据导入到mysql数据库表中

sqoop export --connect jdbc:mysql://192.168.20.118:3306/test --username dyh --password 000000 --table users --export-dir /user/hive/warehouse/users/part-m-00000 --input-fields-terminated-by '\0001'


注意:

1、在进行导入之前,mysql中的表userst必须已经提起创建好了。

2、jdbc:mysql://192.168.20.118:3306/test中的IP地址改成localhost会报异常

 
6、将数据从关系数据库导入文件到hive表中,--query 语句使用

 sqoop import --append --connect jdbc:mysql://192.168.20.118:3306/test --username dyh --password 000000 --query "select id,age,name from userinfos where \$CONDITIONS"  -m 1  --target-dir /user/hive/warehouse/userinfos2 --fields-terminated-by ",";


7、将数据从关系数据库导入文件到hive表中,--columns  --where 语句使用

 sqoop import --append --connect jdbc:mysql://192.168.20.118:3306/test --username dyh --password 000000 --table userinfos --columns "id,age,name"  --where "id > 3 and (age = 88 or age = 80)"  -m 1  --target-dir /user/hive/warehouse/userinfos2 --fields-terminated-by ",";

注意:--target-dir /user/hive/warehouse/userinfos2   可以用  --hive-import --hive-table userinfos2 进行替换

 

分享到:
评论

相关推荐

    同步自动生成sqoop导入语句

    自动生成oracle或者mysql导入导出的sqoop语句的plsql块

    sqoop1使用必备

    ### Sqoop 使用必备知识点 #### 一、概述 Sqoop 是一款开源的工具,主要用于在 Hadoop 和关系型数据库服务器之间传输数据。它利用 MapReduce 作业并行处理数据的特性,大大提高了数据导入导出的效率。对于从事 ETL...

    Sqoop集群搭建.

    使用 vim 编辑器打开 configure-sqoop 文件,并注释掉相关的检查语句。 三、Sqoop 集群搭建 Sqoop 集群搭建需要在 Hadoop 集群环境中安装和配置 Sqoop。在集群环境中,需要至少三个节点,分别作为 Namenode、...

    使用sqoop抽取mysql数据

    9. ** 批量导入与导出**:除了单表操作,Sqoop 还支持多个表的导入导出,通过 `--include-columns` 和 `--where` 条件语句可以筛选所需的数据。 通过对上述知识点的理解和实践,你将能够有效地利用 Sqoop 工具进行 ...

    sqoop-1.4.6.bin-hadoop-2.0.4-alpha版本的压缩包,直接下载到本地,解压后即可使用

    本质:就是讲sqoop语句转换成mapreduce。Sqoop是一个在结构化数据和Hadoop之间进行批量数据迁移的工具,结构化数据可以是MySQL、Oracle等RDBMS。Apache框架Hadoop是一个越来越通用的分布式计算环境,主要用来处理...

    hue平台oozie工作流操作sqoop,把mysql.pdf

    本文主要讲述在Hue平台使用Oozie工作流操作Sqoop工具将MySQL数据库的数据传输到HDFS中,并最终导入到Hive表中的经验。以下是详细知识点: 1. Hue平台和Oozie工作流简介: Hue是一种开源的用户界面,用于简化与...

    MySqoop_Sqoop脚本生成_sqoop脚本_

    本篇文章将详细讲解 Sqoop 脚本生成的相关知识,并介绍如何使用可视化工具"MySqoop"来生成Sqoop脚本。 首先,让我们理解什么是Sqoop脚本。Sqoop脚本是预定义的一系列操作,包括连接数据库、指定表、定义转换规则、...

    Sqoop手册(中文版)

    本文档详细介绍了Sqoop的多种使用方式和相关参数的配置说明,基于Cloudera发布的官方文档,并结合作者的实际验证。 1. Sqoop概览 Sqoop可以帮助用户高效地在结构化存储系统(如关系数据库)和Hadoop之间传输数据。...

    sqoop1-1.4.6 documentation 英文文档

    例如,在 `sqoop import` 命令中可以使用 `--connect` 来指定数据库连接字符串。 ##### 6.4 使用选项文件传递参数 除了通过命令行直接输入参数外,用户还可以将参数写入文本文件中,并通过 `--options-file` 参数...

    Sqoop中文文档

    eval是Sqoop中的一个功能,可以快速地使用SQL语句对关系数据库进行操作。Sqoop eval的基本语句为:sqoop eval –connect jdbc:mysql://localhost:3306/hive -username root -password 123456 -query “SELECT * FROM...

    sqoop学习文档(2){Sqoop import、Sqoop export}.docx

    在某些情况下,如更新模式,Sqoop 可能会生成 UPDATE 或 DELETE 语句。 2. **导出到 HBase** 对于 HBase, Sqoop 1.4.6 版本之前支持自动创建表,但之后的版本可能不支持。若需要将数据导出到 HBase,需要手动创建...

    星环大数据平台_Sqoop数据导入.pdf

    星环大数据平台使用的Sqoop是一种在Hadoop与传统关系数据库之间进行数据迁移的工具。Sqoop利用MapReduce的分布式并行处理机制来实现数据的高效导入导出。在星环大数据平台中使用Sqoop,可以实现对数据的批量迁移,这...

    尚硅谷大数据技术之Sqoop1

    【尚硅谷大数据技术之 Sqoop1】章节主要介绍了Sqoop这款工具的基本概念、工作原理、安装配置以及简单的使用案例。Sqoop是专为Hadoop和传统数据库之间进行数据传输而设计的开源工具,支持从RDBMS(如MySQL、Oracle等...

    sqoop-1.4.7.tar.gz.zip

    用户可以使用 SQL 查询语句从数据库中选择要导入的数据,然后 Sqoop 将这些数据分成多个小块,每个小块由一个 MapReduce 任务处理。导出时,Sqoop 可以将 HDFS 中的数据写入到数据库,同样利用 MapReduce 的并行处理...

    Sqoop-sqlserver-hdfs.rar

    通过JDBC(Java Database Connectivity),开发者可以使用标准的SQL语句来执行查询、插入、更新和删除操作。在Sqoop中,这个驱动用于建立从Java环境到SQL Server的数据连接,从而读取数据库中的数据并准备导入到HDFS...

    sqoop-1.4.6-cdh5.14.0

    导出时, Sqoop 使用 INSERT 或者 UPDATE 操作更新数据库。 4. 数据传输:MapReduce 任务执行过程中,数据在 HDFS 和 RDBMS 之间进行传输,确保数据完整性。 5. 增量导入:通过指定时间戳或自增列,Sqoop 可以实现...

    sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

    1. 导入数据:使用 `import` 命令,用户可以选择全量或增量导入数据库表,支持多种 SQL 格式,如 SELECT 语句来定制导入数据。 2. 导出数据:使用 `export` 命令,将 HDFS 中的数据导回数据库,更新或插入到指定的表...

    sqoop-1.4.7.bin__hadoop-2.6.0.tar

    Sqoop 是一个开源工具,主要用于在关系数据库管理...这个压缩包 "sqoop-1.4.7.bin__hadoop-2.6.0.tar" 提供了一个方便的途径,让开发者和数据工程师可以直接使用 Sqoop,而无需从官方源码编译或单独下载每个依赖项。

    sqoop-1.2.0-CDH3B4.tar.gz

    此外,为了更有效地利用 Sqoop,还需要熟悉 SQL 语句,因为大部分数据操作是通过 SQL 查询来定义的。 在实际应用中, Sqoop 往往用于大数据分析的预处理步骤,将结构化数据导入 Hadoop,进行离线分析,然后再将结果...

Global site tag (gtag.js) - Google Analytics