I have insert to s3 6bil rows table:
```
INSERT INTO FUNCTION
s3('https://s3.us-east-1.amazonaws.com/my-bucket/data.csv', 'DFGHJ', 'FGHJIJH, 'CSVWithNames', 'time DateTime, exchangeId UInt16, pairId UInt16, id String, price Decimal(38, 18), volume Decimal(38, 18)')
SELECT * FROM trade;
```
but it fails trying to upload part 10001 while aws s3 upload [supports](https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html) only 10k parts.

I had to export this select into CSV 600GB file on the disk and then perform successful `aws s3 cp data.csv s3://my-bucket/data.csv`

I expected Clickhouse would do it on his own successfully. 

┌─version()─┐
│ 22.1.3.7  │
└───────────┘

bool checkUniqueId(const String & id) const override;
    
    void onFreeze(const String & path) override;
    void applyNewSettings(const Poco::Util::AbstractConfiguration & config, ContextPtr context, const String &, const DisksMap &) override;
private:
    void createFileOperationObject(const String & operation_name, UInt64 revision, const ObjectMetadata & metadata);
    
    static String revisionToString(UInt64 revision);
    bool checkObjectExists(const String & source_bucket, const String & prefix) const;
    void findLastRevision();
    int readSchemaVersion(const String & source_bucket, const String & source_path);
    void saveSchemaVersion(const int & version);
    void updateObjectMetadata(const String & key, const ObjectMetadata & metadata);
    void migrateFileToRestorableSchema(const String & path);
    void migrateToRestorableSchemaRecursive(const String & path, Futures & results);
    void migrateToRestorableSchema();
    Aws::S3::Model::HeadObjectResult headObject(const String & source_bucket, const String & key) const;
    void listObjects(const String & source_bucket, const String & source_path, std::function<bool(const Aws::S3::Model::ListObjectsV2Result &)> callback) const;
    void copyObject(const String & src_bucket, const String & src_key, const String & dst_bucket, const String & dst_key,
        std::optional<Aws::S3::Model::HeadObjectResult> head = std::nullopt) const;
    void copyObjectImpl(const String & src_bucket, const String & src_key, const String & dst_bucket, const String & dst_key,
        std::optional<Aws::S3::Model::HeadObjectResult> head = std::nullopt,
        std::optional<std::reference_wrapper<const ObjectMetadata>> metadata = std::nullopt) const;
    void copyObjectMultipartImpl(const String & src_bucket, const String & src_key, const String & dst_bucket, const String & dst_key,
        std::optional<Aws::S3::Model::HeadObjectResult> head = std::nullopt,
        std::optional<std::reference_wrapper<const ObjectMetadata>> metadata = std::nullopt) const;
    
    void restore();
    void readRestoreInformation(RestoreInformation & restore_information);
    void restoreFiles(const RestoreInformation & restore_information);