> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Move data from cloud object storage to ClickHouse Cloud

> Moving data from object storage to ClickHouse Cloud

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

<Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/sWsbrb2bBAr-0f9w/images/integrations/migration/object-storage-01.webp?fit=max&auto=format&n=sWsbrb2bBAr-0f9w&q=85&s=c71f66fb24330917634951e8c44097e1" size="md" alt="Migrating Self-managed ClickHouse" width="666" height="431" data-path="images/integrations/migration/object-storage-01.webp" />

If you use a Cloud Object Storage as a data lake and wish to import this data into ClickHouse Cloud,
or if your current database system is able to directly offload data into a Cloud Object Storage, then you can use one of the
table functions for migrating data stored in Cloud Object Storage into a ClickHouse Cloud table:

* [s3](/reference/functions/table-functions/s3) or [s3Cluster](/reference/functions/table-functions/s3Cluster)
* [gcs](/reference/functions/table-functions/gcs)
* [azureBlobStorage](/reference/functions/table-functions/azureBlobStorage)

If your current database system isn't able to directly offload data into a Cloud Object Storage, you could use a [third-party ETL/ELT tool](/get-started/migrate/other-methods/etl-tool-to-clickhouse) or [clickhouse-local](/get-started/migrate/other-methods/clickhouse-local-etl) for moving data
from you current database system to Cloud Object Storage, in order to migrate that data in a second step into a ClickHouse Cloud table.

Although this is a two steps process (offload data into a Cloud Object Storage, then load into ClickHouse), the advantage is that this
scales to petabytes thanks to a [solid ClickHouse Cloud](https://clickhouse.com/blog/getting-data-into-clickhouse-part-3-s3) support of highly-parallel reads from Cloud Object Storage.
Also you can leverage sophisticated and compressed formats like [Parquet](/reference/formats/Parquet/Parquet).

There is a [blog article](https://clickhouse.com/blog/getting-data-into-clickhouse-part-3-s3) with concrete code examples showing how you can get data into ClickHouse Cloud using S3.
