@@ -125,6 +125,7 @@ public static void addCriteria(Configuration conf, RangeRowQueryCriteria criteri
125125 }
126126 cri .addCriteria (criteria );
127127 conf .set (CRITERIA , cri .serialize ());
128+ conf .set (TABLE_NAME , criteria .getTableName ());
128129 }
129130
130131 /**
@@ -169,25 +170,31 @@ public List<InputSplit> getSplits(JobContext job)
169170 * for internal usage only
170171 */
171172 public static List <InputSplit > getSplits (Configuration conf , SyncClientInterface syncClient ) {
172- Filter filter = null ;
173- List <String > requiredColumns = null ;
174- TableStoreFilterWritable origFilter = TableStoreFilterWritable .deserialize (conf .get (FILTER ));
175- if (origFilter != null ) {
176- filter = origFilter .getFilter ();
177- requiredColumns = origFilter .getRequiredColumns ();
173+ Filter filter = new Filter (Filter .CompareOperator .EMPTY_FILTER );
174+ List <String > requiredColumns = new ArrayList <>();
175+ if (conf .get (FILTER ) != null ) {
176+ TableStoreFilterWritable origFilter = TableStoreFilterWritable .deserialize (conf .get (FILTER ));
177+ if (origFilter != null ) {
178+ filter = origFilter .getFilter ();
179+ requiredColumns = origFilter .getRequiredColumns ();
180+ LOG .info ("Set customed filter and requiredColumns: {}" , requiredColumns );
181+ }
178182 }
179183
180- ComputeParams cp = ComputeParams .deserialize (conf .get (COMPUTE_PARAMS ));
181- ComputeParameters .ComputeMode computeMode = ComputeParameters .ComputeMode .valueOf (cp .getComputeMode ());
182- ComputeParameters computeParams ;
183- LOG .info ("Compute mode: {}, max splits: {}, split size: {}MB, seachIndexName: {}" ,
184- cp .getComputeMode (), cp .getMaxSplitsCount (), cp .getSplitSizeInMBs (), cp .getSearchIndexName ());
185- if (computeMode == ComputeParameters .ComputeMode .Search && !cp .getSearchIndexName ().isEmpty ()) {
186- LOG .info ("Generate Search compute parameters" );
187- computeParams = new ComputeParameters (cp .getSearchIndexName (), cp .getMaxSplitsCount ());
188- } else {
189- computeParams = new ComputeParameters (cp .getMaxSplitsCount (), cp .getSplitSizeInMBs (), computeMode );
184+ ComputeParameters computeParams = new ComputeParameters ();
185+ if (conf .get (COMPUTE_PARAMS ) != null ) {
186+ ComputeParams cp = ComputeParams .deserialize (conf .get (COMPUTE_PARAMS ));
187+ ComputeParameters .ComputeMode computeMode = ComputeParameters .ComputeMode .valueOf (cp .getComputeMode ());
188+ LOG .info ("Compute mode: {}, max splits: {}, split size: {}MB, seachIndexName: {}" ,
189+ cp .getComputeMode (), cp .getMaxSplitsCount (), cp .getSplitSizeInMBs (), cp .getSearchIndexName ());
190+ if (computeMode == ComputeParameters .ComputeMode .Search && !cp .getSearchIndexName ().isEmpty ()) {
191+ LOG .info ("Generate Search compute parameters" );
192+ computeParams = new ComputeParameters (cp .getSearchIndexName (), cp .getMaxSplitsCount ());
193+ } else {
194+ computeParams = new ComputeParameters (cp .getMaxSplitsCount (), cp .getSplitSizeInMBs (), computeMode );
195+ }
190196 }
197+
191198 if (splitManager == null ) {
192199 synchronized (TableStoreInputFormat .class ) {
193200 LOG .info ("Initial split manager in tablestore inputformat" );
0 commit comments