mirror of
https://github.com/alibaba/DataX.git
synced 2025-05-02 18:11:01 +08:00
fix orcFileStartRead
This commit is contained in:
parent
d4d1ea6a15
commit
e2dcbcd532
@ -331,26 +331,30 @@ public class DFSUtil {
|
||||
//If the network disconnected, will retry 45 times, each time the retry interval for 20 seconds
|
||||
//Each file as a split
|
||||
//TODO multy threads
|
||||
InputSplit[] splits = in.getSplits(conf, 1);
|
||||
// OrcInputFormat getSplits params numSplits not used, splits size = block numbers
|
||||
InputSplit[] splits = in.getSplits(conf, -1);
|
||||
for (InputSplit split : splits) {
|
||||
{
|
||||
RecordReader reader = in.getRecordReader(split, conf, Reporter.NULL);
|
||||
Object key = reader.createKey();
|
||||
Object value = reader.createValue();
|
||||
// 获取列信息
|
||||
List<? extends StructField> fields = inspector.getAllStructFieldRefs();
|
||||
|
||||
RecordReader reader = in.getRecordReader(splits[0], conf, Reporter.NULL);
|
||||
Object key = reader.createKey();
|
||||
Object value = reader.createValue();
|
||||
// 获取列信息
|
||||
List<? extends StructField> fields = inspector.getAllStructFieldRefs();
|
||||
List<Object> recordFields;
|
||||
while (reader.next(key, value)) {
|
||||
recordFields = new ArrayList<Object>();
|
||||
|
||||
List<Object> recordFields;
|
||||
while (reader.next(key, value)) {
|
||||
recordFields = new ArrayList<Object>();
|
||||
|
||||
for (int i = 0; i <= columnIndexMax; i++) {
|
||||
Object field = inspector.getStructFieldData(value, fields.get(i));
|
||||
recordFields.add(field);
|
||||
for (int i = 0; i <= columnIndexMax; i++) {
|
||||
Object field = inspector.getStructFieldData(value, fields.get(i));
|
||||
recordFields.add(field);
|
||||
}
|
||||
transportOneRecord(column, recordFields, recordSender,
|
||||
taskPluginCollector, isReadAllColumns, nullFormat);
|
||||
}
|
||||
reader.close();
|
||||
}
|
||||
transportOneRecord(column, recordFields, recordSender,
|
||||
taskPluginCollector, isReadAllColumns, nullFormat);
|
||||
}
|
||||
reader.close();
|
||||
} catch (Exception e) {
|
||||
String message = String.format("从orcfile文件路径[%s]中读取数据发生异常,请联系系统管理员。"
|
||||
, sourceOrcFilePath);
|
||||
|
Loading…
Reference in New Issue
Block a user