文档介绍:Sqoop中文手册1•概述本文档主要对SQOOP的使用进行了说明,参考内容主要来自于ClouderaSQOOP的官方文档。为了用中文更清楚明白地描述各参数的使用含义,本文档几乎所有参数使用说明都经过了我的实际验证而得到。、Javaclass类、以及相关的jar包,作用主要是两方面:1、 将数据库表映射为一个Java文件,在该Java文件中对应有表的各个字段。2、 生成的Jar和class文件在metastore功能使用时会用到。基础语句:sqoopcodegen—connectjdbc:MySQL://localhost:3306/hive-usernameroot-password123456-tableTBLS2参数说明-bindir<dir>指定生成的java文件、编译成的class文件及将生成文件打包为JAR的JAR包文件输出路径-class-name<name>设定生成的Java文件指定的名称-outdir<dir>生成的java文件存放路径-package-name<name〉包名,nic,nic两级目录,生成的文件(如java文件)nic目录里-input-null・non-string<null-str>在生成的java文件中可以将null字符串设为想要设定的值:比如空字符串八)-input-null-string<null-str>同上,设定时,最好与上面的属性一起设置,且设置同样的值(比如空字符串孕孕\、」/O-map-column・javavarg>数据库字段在生成的java文件中会映射为各种属性且默认的数据类型与数据库类型保持对应,比如数据库中某字段的类型为bigint,则在Java文件中的数据类型为long型,通过这个属性,可以改变数据库字段在java中映射的数据类型/格式如:一map-column-javaDB_ID二String,id二Integer一null・non-stringvnull-str>在生成的java文件中,比如TBL_ID二二null?"null":…,通过这个属性设置可以将null字符串设置为其它值如ddd,TBL_ID==null?"ddd":""-null-stringvnull-str>同上,使用的时候最好和上面的属性一起用,且设置为相同的值-table<table-name〉对应关系数据库的表名,生成的java文件中的各属性与该表的各字段一一对应。3<create・hive・table生成与关系数据库表的表结构对应的HIVE表基础语句:sqoopcreate-hive-table-connectjdbc:mysql://localhost:3306/hivesernameroot・password123456-tableTBLS-hive-tableh_tbls2参数说明-hive-home<dir>Hive的安装目录,可以通过该参数覆盖掉默认的hive目录-hive-overwrite覆盖掉在hive表中已经存在的数据-create-hive-table默认是false,如果目标表已经存在了,那么创建任务会失败-hive-table后面接要创建的hive表-,这可以使得在使用import这种工具进行数据导入的时候,可以预先了解相关的SQL语句是否正确,并能将结果显示在控制台。查询示例:sqoopeval-corinectjdbc:mysql://localhost:3306/hive・usernameroot-password123456-query"SELECT*FROMtblsLIMIT10°数据插入示例:sqoopeval-connectjdbc:mysql://localhost:3306/hive-usernameroot-password123456-e"INSERTINTOTBLS2VALUES(100,137517030&lQ‘Hadoop7 guest:MANAGED_TABLE'/abc':dddz)"-e.-query这两个参数经过测试,比如后面分别接查询和插入SQL语句z皆可运行无误,如上。-connectjdbc:mysql://localhost:3306/hive-usernameroot-password123456-tableTBLS2-export-dirsqoop/test参数说明-direct快速模式利用了数据库的导入工具如mysql的mysqlimport,可以比jdbc连接的方式更为高效的将数据导入到关系数据库中。-ex