文档章节

sqoop2增量导入无法指定last value问题解决方法

林远图raymond
 林远图raymond
发布于 2016/03/14 11:07
字数 277
阅读 143
收藏 0

在用sqoop 1.99.6创建任务进行增量导入时,在incremental read后需要输入check column和last value,但是再输入last value时输入任何值都会提示超出了size,size为-1。以下是这个问题的解决方法。

sqoop 1.99.6版本尚不稳定,源码存在错误,上个问题的错误原因在于a/shell/src/main/java/org/apache/sqoop/shell/utils/ConfigFiller.java中存在错误代码,一共存在两处错误

第一处为:

@@ -433,7 +433,7 @@ public final class ConfigFiller {

     String opt = ConfigOptions.getOptionKey(prefix, input);

     if (line.hasOption(opt)) {

       String value = line.getOptionValue(ConfigOptions.getOptionKey(prefix, input));

-      if(value.length() > input.getMaxLength()) {

+      if((input.getMaxLength() >= 0) && (value.length() > input.getMaxLength())) {

         errorMessage(input, "Size of input exceeds allowance for this input"

           + " field. Maximal allowed size is " + input.getMaxLength());

       }


第二处为:

@@ -1039,7 +1039,7 @@ public final class ConfigFiller {

       input.setValue(userTyped);

 

       // Check that it did not exceeds maximal allowance for given input

-      if(userTyped.length() > input.getMaxLength()) {

+      if((input.getMaxLength() >= 0) && (userTyped.length() > input.getMaxLength())) {

         errorMessage("Size of input exceeds allowance for this input"

           + " field. Maximal allowed size is " + input.getMaxLength());

         return fillInputStringWithBundle(input, reader, bundle);


修改后把sqoop-shell-1.99.6.jar中的ConfigFiller.class替换成修改后的.class,即可进行正常的增量导入。

sqoop-shell-1.99.6.jar在$SQOOP2_HOME/shell/lib/路径中,替换就OK了


本文转载自:http://m.blog.csdn.net/article/details?id=50171777

共有 人打赏支持
林远图raymond
粉丝 0
博文 2
码字总数 1127
作品 0
杭州
高级程序员
基于Hadoop生态圈的数据仓库实践 —— ETL(一)

一、使用Sqoop抽取数据 1. Sqoop简介 Sqoop是一个在Hadoop与结构化数据存储(如关系数据库)之间高效传输大批量数据的工具。它在2012年3月被成功孵化,现在已是Apache的顶级项目。Sqoop有Sqo...

wzy0623
2016/07/01
0
0
sqoop2基本架构、部署和个人使用感受

一、概述 随着公司集群升级到2.x,hadoop周边的一些工具也进行了版本的更新。这次主要说说sqoop2的升级和部署,其中sqoop1和sqoop2基本框架和用法发生翻天覆地的改变,其对版本的向下兼容做的...

zengzhaozheng
07/02
0
0
Sqoop1和Sqoop2简介

主要来源: http://www.linuxidc.com/Linux/2014-10/108337.htm 1.什么是Sqoop Sqoop即 SQL to Hadoop ,是一款方便的在传统型数据库与Hadoop之间进行数据迁移的工具,充分利用MapReduce并行特...

强子哥哥
2015/12/23
792
0
Sqoop1.4.6安装使用及避坑

经过这么几天的折腾,发现 Sqoop1 真的比 Sqoop2 方便好用的多,Sqoop2 坑真是太多了,搞不定。Sqoop1 坑少也稳定,但是零基础使用过程中也是有几点需要注意的。 官方下载:Sqoop 官网 官方使...

hblt-j
07/24
0
0
sqoop的安装与使用,sqoop安装使用

sqoop的安装与使用,sqoop安装使用 1.什么是Sqoop Sqoop即 SQL to Hadoop ,是一款方便的在传统型数据库与Hadoop之间进行数据迁移的工具,充分利用MapReduce并行特点以批处理的方式加快数据传...

Zero零_度
2016/06/06
426
0

没有更多内容

加载失败,请刷新页面

加载更多

Bash各类扩展详解

Bash各类扩展详解 Bash中主要包括大括号扩展、波浪号扩展、变量扩展、子命令扩展、文件名扩展和算数扩展。这些扩展组合在一起为Bash带来了极大的易用性。掌握这些扩展的用法和功能,能够为B...

小陶小陶
39分钟前
1
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
5
0
OpenCV图像处理实例:libuv+cvui显示摄像头视频

#include <iostream>#include <opencv2/opencv.hpp>#define CVUI_IMPLEMENTATION#include <cvui.h>extern "C"{#include <uv.h>}using namespace std;#define WINDOW_NAM......

IOTService
今天
1
0
openJDK之JDK9的String

1.openJDK8的String 先来看下openJDK8的String的底层,如下图1.1所示: 图1.1 底层上使用的是char[],即char数组 每个char占16个bit,Character.SIZE的值是16。 2.openJDK9中的String 图2.1...

克虏伯
今天
1
0
UEFI 模式下如何安装 Ubuntu 16.04

作者:知乎用户 链接:https://www.zhihu.com/question/52092661/answer/259583475 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 针对UEFI模式下安装U...

寻知者
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部