tpalfy commented on a change in pull request #3611: NIFI-6009 ScanKudu Processor
URL: https://github.com/apache/nifi/pull/3611#discussion_r326731383
 
 

 ##########
 File path: 
nifi-nar-bundles/nifi-kudu-bundle/nifi-kudu-processors/src/main/java/org/apache/nifi/processors/kudu/AbstractKuduProcessor.java
 ##########
 @@ -260,4 +266,110 @@ protected Update updateRecordToKudu(KuduTable kuduTable, 
Record record, List<Str
         return update;
     }
 
+    private void addPredicate(KuduScanner.KuduScannerBuilder scannerBuilder, 
KuduTable kuduTable, String column, Object value, String comparisonOp) {
+        ColumnSchema columnSchema = kuduTable.getSchema().getColumn(column);
+        KuduPredicate predicate = 
KuduPredicate.newComparisonPredicate(columnSchema, 
KuduPredicate.ComparisonOp.valueOf(comparisonOp), value);
+        scannerBuilder.addPredicate(predicate);
+    }
+
+    protected void scan(ProcessContext context, ProcessSession session, 
KuduTable kuduTable, String predicates, List<String> projectedColumnNames, 
ResultHandler handler) throws Exception {
+        KuduScanner.KuduScannerBuilder scannerBuilder = 
this.kuduClient.newScannerBuilder(kuduTable);
+        final String[] arrayPredicates = (predicates == null || 
predicates.isEmpty() ? new String[0] : predicates.split(","));
+
+        for(String column : arrayPredicates){
+            if (column.contains("=")) {
+                final String[] parts = column.split("=");
+                addPredicate(scannerBuilder, kuduTable, parts[0], parts[1], 
"EQUAL");
 
 Review comment:
   Why not use `KuduPredicate.ComparisonOp.EQUAL` instead?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to