Merge pull request #93 from windpiger/orc-columncount

change the logic of getting orc column count in DFSUtil.java
This commit is contained in:
mingya.wmy 2018-05-23 13:57:37 +08:00 committed by GitHub
commit 068b1db928

View File

@ -486,15 +486,10 @@ public class DFSUtil {
}
private int getAllColumnsCount(String filePath) {
int columnsCount;
final String colFinal = "_col";
Path path = new Path(filePath);
try {
Reader reader = OrcFile.createReader(path, OrcFile.readerOptions(hadoopConf));
String type_struct = reader.getObjectInspector().getTypeName();
columnsCount = (type_struct.length() - type_struct.replace(colFinal, "").length())
/ colFinal.length();
return columnsCount;
return reader.getTypes().get(0).getSubtypesCount();
} catch (IOException e) {
String message = "读取orcfile column列数失败请联系系统管理员";
throw DataXException.asDataXException(HdfsReaderErrorCode.READ_FILE_ERROR, message);