我们使用气流来调度作业,并调用Apache作为ETL步骤。数据源是非结构化文件(批处理),在将它们转换为PCollections之前需要对其进行分析。在我看来,现有的两个最佳选择是:
。
哪种选择更适合Beam最佳实践?
发布于 2021-10-20 17:02:12
如果您以后需要将这些文件重用到其他管道中,并且解析这些非结构化文件需要大量时间,我会投赞成票。
另一方面,如果解析这些文件可以并行运行,并且不需要等待所有文件准备就绪,那么我将选择2)。
无论如何,我认为这将是一个权衡,取决于您的需要和输入数据。
发布于 2021-10-20 23:26:15
在我看来,ETL最重要的部分不是当它完美工作时做什么;而是如何处理拒绝(错误、不完整的数据等)。
如果您可以重用代码,那么#1可以工作,但我打赌是#2,因为处理ETL的所有代码都在一起。
如果您不想编写customIO,但希望执行一些外部应用程序来解析数据,则可以为数据流作业使用自定义的对接器容器。
https://stackoverflow.com/questions/69638310
复制相似问题