Package com.linkedin.venice.client.store
Class AvroComputeRequestBuilderV3<K>
- java.lang.Object
-
- com.linkedin.venice.client.store.AbstractAvroComputeRequestBuilder<K>
-
- com.linkedin.venice.client.store.AvroComputeRequestBuilderV3<K>
-
- Type Parameters:
K
-
- All Implemented Interfaces:
ComputeRequestBuilder<K>
- Direct Known Subclasses:
AvroComputeRequestBuilderV4
public class AvroComputeRequestBuilderV3<K> extends AbstractAvroComputeRequestBuilder<K>
This class is used to build aComputeRequestWrapper
object according to the specification, and this class will invokeAbstractAvroStoreClient
to send the 'compute' request to backend. This class is package-private on purpose.
-
-
Field Summary
-
Fields inherited from class com.linkedin.venice.client.store.AbstractAvroComputeRequestBuilder
COSINE_SIMILARITY_RESULT_SCHEMA, COSINE_SIMILARITY_SPEC, DOT_PRODUCT_RESULT_SCHEMA, DOT_PRODUCT_SPEC, HADAMARD_PRODUCT_RESULT_SCHEMA, HADAMARD_PRODUCT_SPEC, latestValueSchema, latestValueSchemaId, PROJECTION_SPEC, RESULT_SCHEMA_CACHE, resultSchemaName, storeClient
-
-
Constructor Summary
Constructors Constructor Description AvroComputeRequestBuilderV3(AvroGenericReadComputeStoreClient storeClient, SchemaReader schemaReader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ComputeRequestBuilder<K>
count(java.lang.String inputFieldName, java.lang.String resultFieldName)
Set up compute operation.void
executeWithFilter(Predicate predicate, StreamingCallback<org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord> callback)
Streaming interface that sends compute request to Venice, which will be executed on values whose keys satisfy the given predicate.protected java.util.List<ComputeOperation>
getComputeRequestOperations()
Generate compute operations for projections, dot-product and cosine-similarity.protected SchemaAndToString
getResultSchema()
-
Methods inherited from class com.linkedin.venice.client.store.AbstractAvroComputeRequestBuilder
checkComputeFieldValidity, commonValidityCheck, cosineSimilarity, dotProduct, execute, generateComputeRequest, getCommonComputeSpec, getCommonResultFields, hadamardProduct, project, project, setStats, setTime, setValidateProjectionFields, streamingExecute, streamingExecute
-
-
-
-
Constructor Detail
-
AvroComputeRequestBuilderV3
public AvroComputeRequestBuilderV3(AvroGenericReadComputeStoreClient storeClient, SchemaReader schemaReader)
-
-
Method Detail
-
getResultSchema
protected SchemaAndToString getResultSchema()
- Overrides:
getResultSchema
in classAbstractAvroComputeRequestBuilder<K>
-
getComputeRequestOperations
protected java.util.List<ComputeOperation> getComputeRequestOperations()
Description copied from class:AbstractAvroComputeRequestBuilder
Generate compute operations for projections, dot-product and cosine-similarity.- Overrides:
getComputeRequestOperations
in classAbstractAvroComputeRequestBuilder<K>
- Returns:
- a list of existing compute operations
-
count
public ComputeRequestBuilder<K> count(java.lang.String inputFieldName, java.lang.String resultFieldName)
Description copied from interface:ComputeRequestBuilder
Set up compute operation. It would return the number of records for array/map field.- Parameters:
inputFieldName
- : top-level field in the value record as the input of count operationresultFieldName
- : result field name in the response record- Returns:
-
executeWithFilter
public void executeWithFilter(Predicate predicate, StreamingCallback<org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord> callback)
Description copied from interface:ComputeRequestBuilder
Streaming interface that sends compute request to Venice, which will be executed on values whose keys satisfy the given predicate. This can be used to execute partial key lookups. If predicate is null, the compute request will be executed on all values. You can find more info inStreamingCallback
. This experimental feature is subject to backwards-incompatible changes in the future.- Parameters:
predicate
- : predicate which specifies some required leading top-level key fieldscallback
- : streaming callback which stores the result from the compute request
-
-