热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

黑猴子的家:Sqoop命令参数:merge

将HDFS中不同目录下面的数据合并在一起并放入指定目录中1、数据new_staff1AAAmale2BBBmale3CCCmale4DDDmaleold_staff1

将HDFS中不同目录下面的数据合并在一起并放入指定目录中

1、数据

new_staff

1 AAA male
2 BBB male
3 CCC male
4 DDD male

old_staff

1 AAA female
2 CCC female
3 BBB female
6 DDD female

尖叫提示:上边数据的列之间的分隔符应该为\t,行与行之间的分割符为\n,不要复制,在vim编辑器里面手敲


2、创建数据,上传hdfs

[yinggu@hadoop102 sqoop]$ mkdir tdata
[yinggu@hadoop102 sqoop]$ cd tdata/
[yinggu@hadoop102 tdata]$ mkdir newdata
[yinggu@hadoop102 tdata]$ mkdir olddata
[yinggu@hadoop102 tdata]$ vim newdata/new.txt
[yinggu@hadoop102 tdata]$ vim olddata/old.txt
[yinggu@hadoop102 sqoop]$ ../hadoop-2.8.2/bin/hadoop fs -put tdata/ /

3、创建JavaBean

[victor@node1 sqoop-1.4.7]$ bin/sqoop codegen \
--connect jdbc:mysql://node1:3306/company \
--username root \
--password 000000 \
--table staff \
--bindir /opt/module/sqoop/staff \
--class-name Staff \
--fields-terminated-by "\t"

4、开始合并

[victor@node1 sqoop-1.4.7]$ bin/sqoop merge \
--new-data /tdata/newdata/ \
--onto /tdata/olddata/ \
--target-dir /tdata/merged \
--jar-file /opt/module/sqoop/staff/Staff.jar \
--class-name Staff \
--merge-key id

5、结果

1 AAA MALE
2 BBB MALE
3 CCC MALE
4 DDD MALE
6 DDD FEMALE

6、参数


序号参数说明
1--new-data HDFS 待合并的数据目录,合并后在新的数据集中保留
2--onto HDFS中合并后的数据存放目录,合并后,重复的部分在新的数据集中被覆盖
3--merge-key
合并键,一般是主键ID
4--jar-file 合并时引入的jar包,该jar包是通过Codegen工具生成的jar包
5--class-name 对应的表名或对象名,该class类是包含在jar包中的
6--target-dir 合并后的数据在HDFS里存放的目录

推荐阅读
  • 【转】腾讯分析系统架构解析
    TA(TencentAnalytics,腾讯分析)是一款面向第三方站长的免费网站分析系统,在数据稳定性、及时性方面广受站长好评,其秒级的实时数据更新频率也获得业界的认可。本文将从实 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • 本文整理了Java中org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc.getTypeInfo()方法的一些代码示例,展 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • 进入配置文件目录:[rootlinuxidcresin-4.0.]#cdusrlocalresinconf查看都有哪些配置文件:[rootlinuxid ... [详细]
  • mapreduce源码分析总结
    这篇文章总结的非常到位,故而转之一MapReduce概述MapReduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的ÿ ... [详细]
  • OrbitDBPeer 2 Peer Database using CRDTs
    2019独角兽企业重金招聘Python工程师标准Apeer-to-peerdatabaseforthedecentralizedwebOrbitDBisaserverless ... [详细]
  • 阅读目录一、Hadoop简介二、Hadoop的特性三、hadoop组成与体系结构四、Hadoop安装方式五、Hadoop集群中的节点类型一、Hadoop简介Hadoop是Apac ... [详细]
  • [root@cloud4conf]#sqoopexport--connectjdbc:mysql:192.168.56.1:3306hive--usernameroot--pas ... [详细]
  • 从接触DataX起就有一个疑问,它和Sqoop到底有什么区别,昨天部署好了DataX和Sqoop,就可以对两者进行更深入的了解了。两者从原理上看有点相似,都是解决异构环境的数据交换 ... [详细]
  • 本文目录一览:1、大数据培训课程大纲要学什么课程? ... [详细]
author-avatar
80后女孩香香521
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有