Apache Beam:从单个文件读取和转换多种数据类型

Apache beam: Reading and transforming multiple data types from single file

有没有办法通过 PCollection 从 CSV 文件中读取每种数据类型?
默认情况下,PCollection 读取的一行中的所有值都转换为字符串列表,但是有没有一种方法可以将整数视为整数,将浮点数视为浮点数,将双精度视为双精度,并将字符串视为字符串等.
因此,可以轻松地分别对行的每个值执行 PTransformations。
还是必须使用 ParDo 函数在外部完成?

问题的根源在于 CSV 文件仅包含字符串,因此有必要将字符串解析为您知道该列包含的任何类型。

一种方便的方法是使用 Beam 的 pandas-compatible 数据框 API 来读取您的 CSV 文件,如:

pipeline | read_csv(...)

这将使用 pandas 对 CSV 文件进行采样并猜测每列的类型。

您可以在 https://beam.apache.org/documentation/dsls/dataframes/overview/#using-dataframes

查看更多示例和说明