我开始使用谷歌云数据流进行批处理和流处理。正在开发的作业主要用于从不同来源(MySQL、Kafka和文件系统)获取数据、清理数据、进行流式处理和bath聚合,以及写回Google云存储
对于这些任务,有没有建议使用JavaSDK或Python SDK来编写作业?它们之间在性能和功能方面有什么明显的差异吗
例如,我注意到对于JavaSDK,内置的I/OPTransform
JdbcIO是可用的。这个PTransform
读取和写入JDBC上的数据,而这在Python SDK中是不可用的(到目前为止)。是否可以只使用Java SDK创建从MySQL数据库读取数据并写入Google云存储的管道,而其他管道使用不同的SDK(例如Python)
提前感谢您的时间
我一直在使用Python SDK进行开发。虽然Java SDK中有内置的
PTransform
JdbcIO,但也有一些社区包,例如python
可用的beam-nuggets
,可用于对MySQL
进行读取和写入。这就是我用来开发ETL的方法包的链接:https://pypi.org/project/beam-nuggets/
总的来说,JavaSDK中有更多的特性
如果您对
python
更熟悉,那么您肯定可以在java
中编写一些需要使用某些独特功能的管道,其余的则在python
中编写我将继续使用
java
SDK,因为特性和外部连接器更多地使用java。但是python
SDK也在迎头赶上当我们向数据流提交一个beam作业时,就性能考虑而言,作业步骤将在一个API调用中发送到googlecloud数据流。因此,就数据流而言,我认为在性能上没有显著差异
相关问题 更多 >
编程相关推荐