
io.github.cloudchacho.RuntimeOptions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hedwig-firehose-dataflow Show documentation
Show all versions of hedwig-firehose-dataflow Show documentation
A firehose implementation using Dataflow for Hedwig
// Copyright 2018 Google Inc.
//
// 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 io.github.cloudchacho;
import org.apache.beam.runners.dataflow.options.DataflowPipelineOptions;
import org.apache.beam.sdk.options.Default;
import org.apache.beam.sdk.options.Description;
import org.apache.beam.sdk.options.Validation;
import org.apache.beam.sdk.options.ValueProvider;
import java.util.List;
public interface RuntimeOptions extends DataflowPipelineOptions {
@Description("The Cloud Pub/Sub subscriptions to read from. Must be a list of subscription names (e.g. " +
"hedwig-firehose-dev-user-created-v1). All subscriptions must live in the current project.")
@Default.InstanceFactory(EmptyStringListFactory.class)
List getInputSubscriptions();
void setInputSubscriptions(List value);
@Description("The Cloud Pub/Sub cross-project subscriptions to read from. Must be a list of subscription names " +
"and project id joined by ; (e.g. hedwig-firehose-myproject-dev-user-created-v1;myproject). All " +
"subscriptions must live in the current project.")
@Default.InstanceFactory(EmptyStringListFactory.class)
List getInputSubscriptionsCrossProject();
void setInputSubscriptionsCrossProject(List value);
@Description("The FileDescriptorSet for the schema, stored on GCS")
ValueProvider getSchemaFileDescriptorSetFile();
void setSchemaFileDescriptorSetFile(ValueProvider value);
@Description("The directory to output files to. Must end with a slash.")
@Validation.Required
ValueProvider getOutputDirectory();
void setOutputDirectory(ValueProvider value);
@Description("The directory to output temporary files to. Must end with a slash.")
ValueProvider getUserTempLocation();
void setUserTempLocation(ValueProvider value);
@Description("The filename prefix of the files to write to.")
@Default.String("output")
@Validation.Required
ValueProvider getOutputFilenamePrefix();
void setOutputFilenamePrefix(ValueProvider value);
@Description("The maximum number of output shards produced when writing.")
@Default.Integer(1)
Integer getNumShards();
void setNumShards(Integer value);
@Description("The window duration in which data will be written. Defaults to 5m. "
+ "Allowed formats are: "
+ "Ns (for seconds, example: 5s), "
+ "Nm (for minutes, example: 12m), "
+ "Nh (for hours, example: 2h).")
@Default.String("5m")
String getWindowDuration();
void setWindowDuration(String value);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy