Sqoop官方中文手册
更新时间:2024-04-08 07:25:01 阅读量: 综合文库 文档下载
- sqoop官方文档推荐度:
- 相关推荐
Sqoop中文手册
1. 概述
本文档主要对SQOOP的使用进行了说明,参考内容主要来自于Cloudera SQOOP的官方文档。为了用中文更清楚明白地描述各参数的使用含义,本文档几乎所有参数使用说明都经过了我的实际验证而得到。
2. codegen
将关系数据库表映射为一个java文件、java class类、以及相关的jar包, 1、 将数据库表映射为一个Java文件,在该Java文件中对应有表的各个字段。 2、 生成的Jar和class文件在metastore功能使用时会用到。 基础语句:
sqoop codegen –connect jdbc:mysql://localhost:3306/hive –username root –password 123456 –table TBLS2
参数 说明 –bindir
3. create-hive-table
生成与关系数据库表的表结构对应的HIVE表 基础语句:
sqoop create-hive-table –connect jdbc:mysql://localhost:3306/hive -username root -password 123456 –table TBLS –hive-table h_tbls2
参数 –hive-home
可以快速地使用SQL语句对关系数据库进行操作,这可以使得在使用import这种工具进行数据导入的时候,可以预先了解相关的SQL语句是否正确,并能将结果显示在控制台。 查询示例:
sqoop eval –connect jdbc:mysql://localhost:3306/hive -username root -password 123456 -query ―SELECT * FROM tbls LIMIT 10″ 数据插入示例:
sqoop eval –connect jdbc:mysql://localhost:3306/hive -username root -password 123456 -e ―INSERT INTO TBLS2
VALUES(100,1375170308,1,0,‘hadoop‘,0,1,‘guest‘,‘MANAGED_TABLE‘,‘abc‘,‘ddd‘)‖ -e、-query这两个参数经过测试,比如后面分别接查询和插入SQL语句,皆可运行无误,如上。
5. export
从hdfs中导数据到关系数据库中
sqoop export –connect jdbc:mysql://localhost:3306/hive –username root –password
123456 –table TBLS2 –export-dir sqoop/test
参数 说明 –direct 快速模式,利用了数据库的导入工具,如mysql的mysqlimport,可以比jdbc连接的方式更为高效的将数据导入到关系数据库中。 –export-dir
有事务会将结果先存放在该表中,然后最后由该表通过一次事务将结果写入到目标表中。 –clear-staging-table 如果该staging-table非空,则通过该参数可以在运行导入前清除staging-table里的数据。 –batch 该模式用于执行基本语句(暂时还不太清楚含义) 6. import
将数据库表的数据导入到hive中,如果在hive中没有对应的表,则自动生成与数据库表
名相同的表。
sqoop import –connect jdbc:mysql://localhost:3306/hive –username root –password
123456 –table user –split-by id –hive-import –split-by指定数据库表中的主键字段名,在这里为id。
参数 说明 –append 将数据追加到hdfs中已经存在的dataset中。使用该参数,sqoop将把数据先导入到一个临时目录中,然后重新给文件命名到一个正式的目录中,以避免和该目录中已存在的文件重名。 –as-avrodatafile 将数据导入到一个Avro数据文件中 –as-sequencefile 将数据导入到一个sequence文件中 –as-textfile 将数据导入到一个普通文本文件中,生成该文本文件后,可以在hive中通过sql语句查询出结果。 –boundary-query
参数 说明 –check-column (col) 用来作为判断的列名,如id –incremental (mode) append:追加,比如对大于last-value指定的值之后的记录进行追加导入。lastmodified:最后的修改时间,追加last-value指定的日期之后的记录 –last-value (value) 指定自从上次导入后列的最大值(大于该指定的值),也可以自己设定某一值 对incremental参数,如果是以日期作为追加导入的依据,则使用lastmodified,否则就使用append值。
7. import-all-tables
将数据库里的所有表导入到HDFS中,每个表在hdfs中都对应一个独立的目录。
sqoop import-all-tables –connect jdbc:mysql://localhost:3306/test
sqoop import-all-tables –connect jdbc:mysql://localhost:3306/test –hive-import
参数 说明 –as-avrodatafile 同import参数 –as-sequencefile 同import参数 –as-textfile 同import参数 –direct 同import参数 –direct-split-size
–compression-codec 同import参数
8. job
用来生成一个sqoop的任务,生成后,该任务并不执行,除非使用命令执行该任务。 sqoop job
参数 说明 –create
打印出关系数据库所有的数据库名
sqoop list-databases –connect jdbc:mysql://localhost:3306/ -username root -password 123456
10.list-tables
打印出关系数据库某一数据库的所有表名
sqoop list-tables –connect jdbc:mysql://localhost:3306/zihou -username root -password 123456
11. merge
将HDFS中不同目录下面的数据合在一起,并存放在指定的目录中,示例如: sqoop merge –new-data /test/p1/person –onto /test/p2/person –target-dir /test/merged –jar-file /opt/data/sqoop/person/Person.jar –class-name Person –merge-key id
其中,–class-name所指定的class名是对应于Person.jar中的Person类,而Person.jar是通过Codegen生成的
参数 –new-data
12. metastore
记录sqoop job的元数据信息,如果不启动metastore实例,则默认的元数据存储目录为:
~/.sqoop,如果要更改存储目录,可以在配置文件sqoop-site.xml中进行更改。 metastore实例启动:sqoop metastore
–shutdown 关闭一个运行的metastore实例 13. version
显示sqoop版本信息 语句:sqoop version
14. help
打印sqoop帮助信息 语句:sqoop help
15.公共参数
Hive参数
参数 说明 –hive-delims-replacement 用自定义的字符串替换掉数据中的\\n, \\r, and \\01等 –hive-drop-import-delims 在导入数据到hive中时,去掉数据中\\n,\\r和\\01这样的字符 –map-column-hive 生成hive表时,可以更改生成字段的数据类型,格式如:–map-column-hiveTBL_ID=String,LAST_ACCESS_TIME=string –hive-partition-key 创建分区,后面直接跟分区名即可,创建完毕后,通过describe 表名可以看到分区名,默认为string型 –hive-partition-value
参数 说明 –connect
–connection-manager
用于import场景。 示例如:
sqoop import –connect jdbc:mysql://localhost:3306/test –username root –P –table person –split-by id –check-column id –incremental append –last-value 1 –enclosed-by ?\\‖?
–escaped-by \\# –fields-terminated-by .
参数 说明 –enclosed-by
对数据格式的解析,用于export场景,与文件输出参数相对应。 示例如:
sqoop export –connect jdbc:mysql://localhost:3306/test –username root
–password
123456 –table person2 –export-dir /user/hadoop/person –staging-table person3 –clear-staging-table –input-fields-terminated-by ?,‘
在hdfs中存在某一格式的数据,在将这样的数据导入到关系数据库中时,必须要按照该格式来解析出相应的字段值,比如在hdfs中有这样格式的数据: 3,jimsss,dd@dd.com,1,2013-08-07 16:00:48.0,‖hehe‖,
上面的各字段是以逗号分隔的,那么在解析时,必须要以逗号来解析出各字段值,如: –input-fields-terminated-by ?,‘
参数 说明 –input-enclosed-by
正在阅读:
Sqoop官方中文手册04-08
当前人民陪审员制度的缺陷及完善12-04
描写秋天的好词佳句02-21
试论企业经济活动中防范商业秘密泄露的措施03-02
病理考试复习题04-03
桩基检测工程方案 桩帽方案 - 图文04-21
焦虑感对外语课堂学习影响的综述07-07
2015年全国cc院校分数线统计新07-28
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 中文
- 手册
- 官方
- Sqoop
- 2014陕西政法干警专业综合II之:三国两晋南北朝法律制度中的立法
- 建筑施工劳务大清包合同
- 相平衡和化学平衡
- 二号乳化线报废生产线销爆处理及拆除方案
- 跨中四路支架现浇连续梁施工方案1113
- 培训师的培训
- 段落翻译与实践(英汉互译)1
- 材料力学作业集1069816512030124
- 工程热力学习题集
- 社会文化理论的主要内容
- 软件工程实践者的研究方法(中文版第七版)课后习题答案
- 《管理学原理》(第三版)考试大纲
- 2017年山东省泰安市会计继续教育课件答题
- 刘老师教育学博客习题
- 北京理工大学 - 图文
- 自然堂环境分析
- 企业员工职务行为规范
- 《浅论现代企业制度下的内部审计》会计专业专科毕业论文
- 卢主席在第六届杰出华商大会开幕式主旨演讲-卢俊卿
- 北京大学心理学本科自考工程心理学02-12试卷