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
This class is used to build a
ComputeRequestWrapper
object according to the specification,
and this class will invoke AbstractAvroStoreClient
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
ConstructorDescriptionAvroComputeRequestBuilderV3
(AvroGenericReadComputeStoreClient storeClient, SchemaReader schemaReader) -
Method Summary
Modifier and TypeMethodDescriptionSet 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 List<ComputeOperation>
Generate compute operations for projections, dot-product and cosine-similarity.protected SchemaAndToString
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 Details
-
AvroComputeRequestBuilderV3
public AvroComputeRequestBuilderV3(AvroGenericReadComputeStoreClient storeClient, SchemaReader schemaReader)
-
-
Method Details
-
getResultSchema
- Overrides:
getResultSchema
in classAbstractAvroComputeRequestBuilder<K>
-
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
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
-