【问题标题】:Are S3 Kedro datasets thread-safe?S3 Kedro 数据集是线程安全的吗?
【发布时间】:2019-11-18 09:26:04
【问题描述】:

CSVS3DataSet/HDFS3DataSet/HDFS3DataSet 使用boto3,已知它不是线程安全的https://boto3.amazonaws.com/v1/documentation/api/latest/guide/resources.html?highlight=multithreading#multithreading-multiprocessing

可以将这些数据集与 ParallelRunner 一起使用吗?

【问题讨论】:

    标签: python amazon-s3 boto3 kedro


    【解决方案1】:

    Kedro 使用s3fs,它使用boto3 库来访问S3。 Boto3 确实不是线程安全的,但前提是您尝试重用相同的 Session 对象。

    所有Kedro S3 数据集都维护S3FileSystem 的单独实例,这意味着单独的boto 会话,因此很安全。

    在性能方面可能不是很好,如果您并行处理数百个 S3 数据集,或按顺序处理数千个小型 S3 数据集 - 管道可能会运行很长时间,甚至会因连接错误而失败,但您完全可以有几十个是安全的。

    【讨论】:

      猜你喜欢
      • 2012-05-07
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多