give a proper error message for wrong delimiter or fileheader
Project: http://git-wip-us.apache.org/repos/asf/incubator-carbondata/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-carbondata/commit/0d14af2a Tree: http://git-wip-us.apache.org/repos/asf/incubator-carbondata/tree/0d14af2a Diff: http://git-wip-us.apache.org/repos/asf/incubator-carbondata/diff/0d14af2a Branch: refs/heads/branch-0.1 Commit: 0d14af2a043464c408a9ff917f3c0dd6280b3b87 Parents: b2e4777 Author: QiangCai <david.c...@gmail.com> Authored: Fri Aug 26 10:57:53 2016 +0800 Committer: ravipesala <ravi.pes...@gmail.com> Committed: Thu Sep 22 10:31:42 2016 +0530 ---------------------------------------------------------------------- .../carbondata/spark/util/GlobalDictionaryUtil.scala | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/0d14af2a/integration/spark/src/main/scala/org/apache/carbondata/spark/util/GlobalDictionaryUtil.scala ---------------------------------------------------------------------- diff --git a/integration/spark/src/main/scala/org/apache/carbondata/spark/util/GlobalDictionaryUtil.scala b/integration/spark/src/main/scala/org/apache/carbondata/spark/util/GlobalDictionaryUtil.scala index bdd8adc..022a5f8 100644 --- a/integration/spark/src/main/scala/org/apache/carbondata/spark/util/GlobalDictionaryUtil.scala +++ b/integration/spark/src/main/scala/org/apache/carbondata/spark/util/GlobalDictionaryUtil.scala @@ -737,6 +737,12 @@ object GlobalDictionaryUtil extends Logging { generatePredefinedColDictionary(colDictFilePath, table, dimensions, carbonLoadModel, sqlContext, hdfsLocation, dictfolderPath) } + if (headers.length > df.columns.length) { + val msg = "The number of columns in the file header do not match the number of " + + "columns in the data file; Either delimiter or fileheader provided is not correct" + logError(msg) + throw new DataLoadingException(msg) + } // use fact file to generate global dict val (requireDimension, requireColumnNames) = pruneDimensions(dimensions, headers, df.columns) @@ -753,7 +759,7 @@ object GlobalDictionaryUtil extends Logging { // check result status checkStatus(carbonLoadModel, sqlContext, model, statusList) } else { - logInfo("have no column need to generate global dictionary in Fact file") + logInfo("No column found for generating global dictionary in source data files") } // generate global dict from dimension file if (carbonLoadModel.getDimFolderPath != null) { @@ -812,7 +818,7 @@ object GlobalDictionaryUtil extends Logging { } } catch { case ex: Exception => - logError("generate global dictionary failed") + logError("generate global dictionary failed", ex) throw ex } }