我正在运行一个管道,其中使用ParDo功能逐行处理来自BQ的表。 CreateColForSampleFn生成一个数据框,包含我想传递给WriteToText的标题和值(形状:1x164)。 请参阅以下内容:
ExploreData = (p | "Extract the rows from dataframe" >> beam.io.Read(beam.io.BigQuerySource('archs4.Debug_annotation'))
| "create more columns" >> beam.ParDo(CreateColForSampleFn(colListSubset,outputPath)))
(ExploreData | 'writing to CSV files' >> beam.io.WriteToText('gs://archs4/output/dataExploration.txt',num_shards=1))
我的问题与返回的DF和WriteToText有关: 1.当我将DF从CreateColForSampleFn传递到WriteToText时,我只得到标题:
Sample_contact_phone
Sample_extract_protocol_ch1
Sample_platform_id
Sick
Sample_title
index
Sample_last_update_date
Sample_contact_country
Sample_channel_count
Sample_library_source
Sample_taxid_ch1
当我在列表[df]中返回df时,我得到每行的以下txt(包括维度)
Sample_contact_phone Sample_extract_protocol_ch1 Sample_platform_id Sick 0库构建协议:四个tota ... GPL11154无 [1行x 168列]
我想生成一个包含以下内容的文本文件: - 一个标题(如果需要,我将在管道完成后添加它) - 处理和生成DF的每一行的所有值 - 完整单元格值,中间没有......
我错过了什么?有什么建议吗?
谢谢, eilalan