从parDo返回数据框并打印其值

时间:2018-06-15 21:10:58

标签: apache-beam apache-beam-io

我正在运行一个管道,其中使用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
  1. 当我在列表[df]中返回df时,我得到每行的以下txt(包括维度)

    Sample_contact_phone Sample_extract_protocol_ch1 Sample_platform_id Sick 0库构建协议:四个tota ... GPL11154无 [1行x 168列]

  2. 我想生成一个包含以下内容的文本文件: - 一个标题(如果需要,我将在管道完成后添加它) - 处理和生成DF的每一行的所有值 - 完整单元格值,中间没有......

    我错过了什么?有什么建议吗?

    谢谢, eilalan

0 个答案:

没有答案