weibozhao commented on a change in pull request #24: URL: https://github.com/apache/flink-ml/pull/24#discussion_r747334653
########## File path: flink-ml-lib/src/main/java/org/apache/flink/ml/algo/batch/knn/KnnPredictBatchOp.java ########## @@ -0,0 +1,345 @@ +package org.apache.flink.ml.algo.batch.knn; + +import org.apache.flink.api.common.functions.RichMapFunction; +import org.apache.flink.api.common.typeinfo.TypeInformation; +import org.apache.flink.api.java.tuple.Tuple2; +import org.apache.flink.api.java.typeutils.RowTypeInfo; +import org.apache.flink.ml.algo.batch.knn.distance.BaseFastDistance; +import org.apache.flink.ml.algo.batch.knn.distance.BaseFastDistanceData; +import org.apache.flink.ml.algo.batch.knn.distance.FastDistanceMatrixData; +import org.apache.flink.ml.algo.batch.knn.distance.FastDistanceSparseData; +import org.apache.flink.ml.algo.batch.knn.distance.FastDistanceVectorData; +import org.apache.flink.ml.common.BatchOperator; +import org.apache.flink.ml.common.broadcast.BroadcastUtils; +import org.apache.flink.ml.common.linalg.DenseVector; +import org.apache.flink.ml.common.linalg.Vector; +import org.apache.flink.ml.common.linalg.VectorUtil; +import org.apache.flink.ml.param.Param; +import org.apache.flink.ml.params.knn.HasKnnDistanceType.DistanceType; +import org.apache.flink.ml.params.knn.KnnPredictParams; +import org.apache.flink.ml.params.knn.KnnTrainParams; +import org.apache.flink.streaming.api.datastream.DataStream; +import org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator; +import org.apache.flink.streaming.api.operators.OneInputStreamOperator; +import org.apache.flink.streaming.runtime.streamrecord.StreamRecord; +import org.apache.flink.table.api.DataTypes; +import org.apache.flink.table.api.Table; +import org.apache.flink.table.api.bridge.java.StreamTableEnvironment; +import org.apache.flink.table.api.internal.TableImpl; +import org.apache.flink.table.catalog.ResolvedSchema; +import org.apache.flink.table.types.DataType; +import org.apache.flink.table.types.logical.utils.LogicalTypeParser; +import org.apache.flink.table.types.utils.LogicalTypeDataTypeConverter; +import org.apache.flink.types.Row; + +import org.apache.flink.shaded.curator4.com.google.common.base.Preconditions; +import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.type.TypeReference; + +import org.apache.commons.lang3.ArrayUtils; +import sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; + +import static org.apache.flink.ml.algo.batch.knn.distance.BaseFastDistanceData.pGson; + +/** + * batch map batch operator. you can inherit this class to develop model-based prediction batch + * operator. + */ +public class KnnPredictBatchOp extends BatchOperator<KnnPredictBatchOp> Review comment: I don't think class number is the most importance thing we need to care. the more importance thing is giving developer a comfortable env to develop algorithm. -- 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. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org