将字符串列转换为Apache Beam中的整数列?

时间:2018-08-02 08:04:12

标签: python google-cloud-dataflow apache-beam

我正在尝试将一个填充有空值和一些作为字符串存储的数字的字符串列转换为Google DataFlow中的一个整数列。有人可以帮我用Python代码做到这一点吗?

1 个答案:

答案 0 :(得分:1)

看起来像这样坐在这里已经有一段时间了。如果您可以张贴一些示例文本/代码,这可能会很有帮助,到目前为止,您已经尝试过什么或数据看起来像什么。这是我在有限的信息下所能做的最好的事情:

    with beam.Pipeline(options=PipelineOptions()) as p:
        #this reads in the data
        your_data = p | 'Your_Data' >> beam.io.ReadFromText('/path/to/data.csv')
        #each line is read in as a String '11139422, null, null, 60.75'
        #so we split each row of the PCollection into it's own String of values
        # '11139422', '', '', '60.75'
        split_your_data = your_data | 'split' >> beam.FlatMap(lambda x: x.split(","))
        #We then have to convert everything to int values
        your_data_to_int = split_your_data | 'String_to_Int' >> beam.Map(lambda w: int(w))