mirror of
https://github.com/apache/sqoop.git
synced 2025-05-10 02:40:49 +08:00
SQOOP-788 Import sometimes duplicate some data
(Jarek Jarcec Cecho)
This commit is contained in:
parent
7ca9b44688
commit
d9465bba21
@ -59,8 +59,8 @@ public void run(ImmutableContext context, Object connectionC, Object jobC, Parti
|
|||||||
try {
|
try {
|
||||||
ResultSetMetaData metaData = resultSet.getMetaData();
|
ResultSetMetaData metaData = resultSet.getMetaData();
|
||||||
int column = metaData.getColumnCount();
|
int column = metaData.getColumnCount();
|
||||||
Object[] array = new Object[column];
|
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
|
Object[] array = new Object[column];
|
||||||
for (int i = 0; i< column; i++) {
|
for (int i = 0; i< column; i++) {
|
||||||
array[i] = resultSet.getObject(i+1);
|
array[i] = resultSet.getObject(i+1);
|
||||||
}
|
}
|
||||||
|
@ -84,6 +84,7 @@ private void extractFile(Path file, long start, long length)
|
|||||||
boolean hasNext = filereader.next(line);
|
boolean hasNext = filereader.next(line);
|
||||||
while (hasNext) {
|
while (hasNext) {
|
||||||
datawriter.writeCsvRecord(line.toString());
|
datawriter.writeCsvRecord(line.toString());
|
||||||
|
line = new Text();
|
||||||
hasNext = filereader.next(line);
|
hasNext = filereader.next(line);
|
||||||
if(filereader.getPosition() >= end && filereader.syncSeen()) {
|
if(filereader.getPosition() >= end && filereader.syncSeen()) {
|
||||||
break;
|
break;
|
||||||
|
@ -104,11 +104,11 @@ private void extractFile(Path file, long start, long length)
|
|||||||
// one extra line is read in previous split
|
// one extra line is read in previous split
|
||||||
start += filereader.readLine(new Text(), 0);
|
start += filereader.readLine(new Text(), 0);
|
||||||
}
|
}
|
||||||
Text line = new Text();
|
|
||||||
int size;
|
int size;
|
||||||
LOG.info("Start position: " + String.valueOf(start));
|
LOG.info("Start position: " + String.valueOf(start));
|
||||||
long next = start;
|
long next = start;
|
||||||
while (next <= end) {
|
while (next <= end) {
|
||||||
|
Text line = new Text();
|
||||||
size = filereader.readLine(line, Integer.MAX_VALUE);
|
size = filereader.readLine(line, Integer.MAX_VALUE);
|
||||||
if (size == 0) {
|
if (size == 0) {
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user