本文介绍了如何解决APACHE-BEAM中的波束干扰告警的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
首先生成简单数据后在Google云平台BigQuery表中存储数据的代码。导入了阿帕奇-光束库并使用了它。Runner使用了Google Cloud Platform Dataflow。
此处是代码。
from apache_beam.options.pipeline_options import PipelineOptions
import apache_beam as beam
pipeline_options = PipelineOptions(
project='project-id',
runner='runner',
temp_location='bucket-location'
)
def pardo_dofn_methods(test=None):
import apache_beam as beam
class testFunction(beam.DoFn):
def process(self, element):
result = element.split(',')
testing = {'test_column': result[0], 'test_column2': result[1], 'test_column3': result[2],
'test_column4': result[3]}
return [testing]
def finish(self):
print('finish')
with beam.Pipeline(options=pipeline_options) as pipeline:
results = (
pipeline
| 'Generating data' >> beam.Create([
'test1,test2,test3,test4'
'test5,test6,test7,test8'
])
| beam.ParDo(testFunction())
| beam.io.WriteToBigQuery(
'project-id:bigQuery-dataset.table-name',
schema='test_column:STRING, test_column2:STRING, test_column3:STRING, test_column4:STRING',
create_disposition=beam.io.BigQueryDisposition.CREATE_IF_NEEDED,
write_disposition=beam.io.BigQueryDisposition.WRITE_TRUNCATE
)
)
pardo_dofn_Methods()
运行时运行良好。但是,有两个警告:
BeamDeprecationWarning: options is deprecated since First stable release. References to <pipeline>.options will not be supported
experiments = p.options.view_as(DebugOptions).experiments or []
BeamDeprecationWarning: BigQuerySink is deprecated since 2.11.0. Use WriteToBigQuery instead.
kms_key=self.kms_key))
我不知道为什么会有警告。谢谢。
推荐答案
从2.11.0开始,不建议使用BigQuerySink。请改用WriteToBigQuery。当我使用apache-beam==2.31.0
和RunnersDataflowRunner和DirectRunner测试WriteToBigQuery()时,不再显示";。因此,在使用版本2.31.0及更高版本时不应显示此信息。
options
(请参见github reference)以向用户提供警告,仍会显示。 这篇关于如何解决APACHE-BEAM中的波束干扰告警的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!