Ser*_*eca 5 dataflow apache-beam
我正在阅读有关 Apache BEAM 中的SCHEMAS 的文档,但我无法理解它的目的是什么、如何、为什么或在哪些情况下我应该使用它们。使用模式或使用扩展 Serialized 接口的类有什么区别?
该文档有一个示例:
@DefaultSchema(JavaFieldSchema.class)
public class TransactionPojo {
public String bank;
public double purchaseAmount;
}
Run Code Online (Sandbox Code Playgroud)
PCollection<TransactionPojos> transactionPojos = readTransactionsAsPojo();
Run Code Online (Sandbox Code Playgroud)
但它没有解释readTransactionsAsPojo函数是如何构建的。我认为对此有很多遗漏的解释。
小智 1
使用 Beam Schema 有多种原因,其中一些原因如下:
Coder为具有模式的对象指定一个;JavaBean在您的示例中),那么 Beam Schema 将允许对这些对象的 sPojo使用相同的 Schema ;PTransformPCollectionPCollection,编写连接变得更加容易,因为它需要更少的代码样板;PCollection它,您需要有一个 Beam Schema。例如,您可以读取具有自动转换为 Beam Schema 的架构的 Avro 文件,然后对这些 Avro 记录应用 Beam SQL 转换。另外,我建议观看2019 年 Beam Summit 上有关架构感知 PCollection 和 Beam SQL 的演讲。
| 归档时间: |
|
| 查看次数: |
1589 次 |
| 最近记录: |