【发布时间】:2017-12-03 22:42:09
【问题描述】:
我试图将 Spark ETL 应用程序转换为 Beam 应用程序。
在 Spark 应用程序中,我有一个空 RDD。
sc.emptyRDD()
其中sc 是SparkContext。
如果我很好理解,PCollection 就像 Spark RDD。那么,有没有办法创建一个空的PCollection?
【问题讨论】:
我试图将 Spark ETL 应用程序转换为 Beam 应用程序。
在 Spark 应用程序中,我有一个空 RDD。
sc.emptyRDD()
其中sc 是SparkContext。
如果我很好理解,PCollection 就像 Spark RDD。那么,有没有办法创建一个空的PCollection?
【问题讨论】:
使用Create.empty()。由于PCollections 是类型化的并且需要编码器,因此您还需要指定编码器或类型描述符(即使集合为空),例如PCollection<String> emptyStrings = Create.of(StringUtf8Coder.of()).
【讨论】:
对我有用的是:
PCollection<String> output = p.apply(Create.empty(StringUtf8Coder.of()));
【讨论】: