marketing-analytics/predicting/ml-data-windowing-pipeline/DataVisualizationPipelineOptions.java (48 lines of code) (raw):

// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package com.google.corp.gtech.ads.datacatalyst.components.mldatawindowingpipeline; import org.apache.beam.sdk.options.Default; import org.apache.beam.sdk.options.Description; import org.apache.beam.sdk.options.PipelineOptions; import org.apache.beam.sdk.options.Validation; import org.apache.beam.sdk.options.ValueProvider; /** * The options used to setup a UserSessionPipeline. */ public interface DataVisualizationPipelineOptions extends PipelineOptions { @Description("Location of the input user Sessions in AVRO format.") @Validation.Required ValueProvider<String> getInputAvroSessionsLocation(); void setInputAvroSessionsLocation(ValueProvider<String> inputAvroSessionsLocation); @Description("Date of the first snapshot in dd/mm/yyyy format.") @Validation.Required ValueProvider<String> getSnapshotStartDate(); void setSnapshotStartDate(ValueProvider<String> snapshotStartDate); @Description("Date of the last possible snapshot (inclusive) in dd/mm/yyyy format.") @Validation.Required ValueProvider<String> getSnapshotEndDate(); void setSnapshotEndDate (ValueProvider<String> snapshotEndDate); @Description("Slide Length (seconds)") @Default.Long(86400L) @Validation.Required ValueProvider<Long> getSlideTimeInSeconds(); void setSlideTimeInSeconds(ValueProvider<Long> slideTimeInSeconds); @Description("Minimum lookahead time (seconds)") @Default.Long(86400L) @Validation.Required ValueProvider<Long> getMinimumLookaheadTimeInSeconds(); void setMinimumLookaheadTimeInSeconds(ValueProvider<Long> minimumLookaheadTimeInSeconds); @Description("Maximum lookahead time (seconds)") @Default.Long(604800L) @Validation.Required ValueProvider<Long> getMaximumLookaheadTimeInSeconds(); void setMaximumLookaheadTimeInSeconds(ValueProvider<Long> maximumLookaheadTimeInSeconds); @Description("Set true to stop window generation after the first positive label per user.") @Default.Boolean(true) @Validation.Required ValueProvider<Boolean> getStopOnFirstPositiveLabel(); void setStopOnFirstPositiveLabel(ValueProvider<Boolean> stopOnFirstPositiveLabel); @Description("Location to write the BigQuery Facts table.") @Validation.Required ValueProvider<String> getOutputBigQueryFactsTable(); void setOutputBigQueryFactsTable(ValueProvider<String> outputBigQueryFactsTable); @Description("Location to write the BigQuery UserActivity table.") @Validation.Required ValueProvider<String> getOutputBigQueryUserActivityTable(); void setOutputBigQueryUserActivityTable(ValueProvider<String> outputBigQueryUserActivityTable); }