我一直试图让写到BigTable,但似乎存在一个问题。
当我运行gradle run时,终端上没有失败或确认错误。
我的管道如下:
Pub/Sub stream of messages -> direct-runner -> BigTable
目前使用的是org.apache.beam.sdk.io.gcp.bigtable.BigtableIO适配器,这是不工作的,否则我做错了什么。
还有另一个I/O适配器com.google.cloud.bigtable.beam.CloudBigtableIO,我不知道该选择哪一个。
一些问题:
System.out.println语句,就很难查看管道。$GOOGLE_APPLICATION_CREDENTIALS env变量&使用这些凭据?会很乐意给出更多细节。
编辑:
发布于 2022-05-27 14:52:16
来验证正在发生的事情:
1.添加main() BasicConfigurator.configure();
2.添加pom.xml
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.32</version>
</dependency>3.添加此log4j.properities
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n用直接转轮 1在bigtable上用pom.xml编写
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-runners-direct-java</artifactId>
<version>${beam.version}</version>
<scope>runtime</scope>
</dependency>2.管道选项的接口,用于使用run配置命令进行配置:
public interface RequestsOptions extends PipelineOptions {
@Description("File path")
@Validation.Required
String getInput();
void setInput(String value);
@Description("Output")
@Validation.Required
String getOutput();
void setOutput(String value);
}3.在run配置命令中:
--project=PROJECT_ID
--dataset=DATASET_NAME
--inputFile=INPUT_FILE_NAME
--region=REGION_TO_RUN //if dataflow runner
--runner=YOUR_SELECTED_RUNNER
--tempLocation=GOOGLE_STORAGE_LOCATION(to save temp files)https://stackoverflow.com/questions/72286185
复制相似问题