Google cloud dataflow 如何在运行时使用ValueProviders为SpanRio分配表和列?
我有一个用例,在这个用例中,我必须从一个扳手表中选择数据并转储到BigQuery 这里的问题是,对于批处理作业,只有在运行时才能知道要选择的表和列的名称 数据流的Google cloud dataflow 如何在运行时使用ValueProviders为SpanRio分配表和列?,google-cloud-dataflow,apache-beam,google-cloud-spanner,Google Cloud Dataflow,Apache Beam,Google Cloud Spanner,我有一个用例,在这个用例中,我必须从一个扳手表中选择数据并转储到BigQuery 这里的问题是,对于批处理作业,只有在运行时才能知道要选择的表和列的名称 数据流的span似乎在运行时不接受表和列。请参考以下代码以更好地理解: p.apply(SpannerIO.read().withSpannerConfig(spannerConfig) .withTable("tablename") .withColumns(list or ar
span
似乎在运行时不接受表和列。请参考以下代码以更好地理解:
p.apply(SpannerIO.read().withSpannerConfig(spannerConfig)
.withTable("tablename")
.withColumns(list or array of columns))
它只接受字符串,不接受
ValueProviders
。如何进行此操作?是的,span.Read的withColumn和withTable方法默认情况下不接受值提供程序
是否可以在函数外部编写代码以获取表名和列名,然后在运行时将它们作为字符串列表传递到withTable和withColumn中
如果它们可以作为命令行参数传递,请考虑使用.< /P>
这是一个简单的例子。可以从Cloud Paner中找到更多关于使用数据流连接器的文档。是的,SpanRio的withColumn和withTable方法。默认情况下,Read不接受ValueProvider 是否可以在函数外部编写代码以获取表名和列名,然后在运行时将它们作为字符串列表传递到withTable和withColumn中
如果它们可以作为命令行参数传递,请考虑使用.< /P>
这是一个简单的例子。可以找到更多关于使用Cloud Panner中的数据流连接器的文档。要访问运行时值,您需要在上一步中使用
ReadAll
转换并构建ReadOperation
的实例
请参见示例。要访问运行时值,您需要在上一步中使用
ReadAll
转换并构建ReadOperation
的实例
参见示例。我使用了Mairbek建议的读取操作
p.apply(创建.ofProvider(options.getMyParamValueProvider(),StringUtf8Coder.of())
.apply(MapElements.via)(新的SimpleFunction(){
@凌驾
公共读取操作应用(字符串值){
返回ReadOperation.create()
.withTable(“TableName”)。withColumns(值);
}
}))
.apply(spanrio.readAll().withSpannerConfig(span配置));
我使用了Mairbek建议的读取操作
p.apply(创建.ofProvider(options.getMyParamValueProvider(),StringUtf8Coder.of())
.apply(MapElements.via)(新的SimpleFunction(){
@凌驾
公共读取操作应用(字符串值){
返回ReadOperation.create()
.withTable(“TableName”)。withColumns(值);
}
}))
.apply(spanrio.readAll().withSpannerConfig(span配置));
否,我将无法执行此操作,因为我将创建代码模板,并且无法将运行时值直接用作字符串。是否尝试将表名和列名作为运行时参数传递给模板?下面是一个导出扳手数据库的示例模板:这将把提供的数据库中的所有表作为Avro文件导出到GCS。正如我在问题陈述中所述,我需要选择“选定数据”甚至不是在运行时给出名称的整个表,也不能将数据转储到BigQuery而不是文件。不,我将无法这样做,因为我将创建代码模板,并且无法将运行时值直接用作字符串。是否尝试将表名和列名作为运行时参数传递到模板?下面是一个导出扳手数据库的示例模板:这将把提供的数据库中的所有表作为Avro文件导出到GCS。正如我在问题陈述中所述,我需要提取“选定数据”,甚至是在运行时提供名称的整个表,并将该数据转储到BigQuery而不是文件。