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

# Вставка данных в ClickHouse Cloud с помощью clickhouse-client

> Узнайте, как с помощью clickhouse-client вставлять данные из локальных файлов CSV и Parquet в сервис ClickHouse Cloud через командную строку.

<a href="/ru/get-started/quickstarts/home"><Badge size="lg" color="gray" icon="arrow-left">Все руководства из раздела «Быстрый старт»</Badge></a>

<div className="mt-2 flex flex-wrap gap-2">
  <Badge size="lg" color="blue">Real-time аналитика</Badge>
  <Badge size="lg" color="blue">Хранилище данных</Badge>
  <Badge size="lg" color="blue">Обсервабилити</Badge>
  <Badge size="lg" color="blue">AI/ML</Badge>
  <Badge size="lg" color="orange">Cloud</Badge>
</div>

<div id="prerequisites">
  ## Предварительные требования
</div>

Вам также следует пройти следующие руководства из раздела «Быстрый старт»:

* [Создайте свой первый сервис ClickHouse Cloud](/ru/get-started/quickstarts/create-your-first-service-on-cloud) - вам понадобится работающий сервис ClickHouse Cloud, в который можно выполнять вставку данных
* [Получите сведения о подключении к Cloud](/ru/get-started/quickstarts/obtain-your-cloud-connection-details) - для подключения вам понадобятся имя хоста, имя пользователя и пароль

<div id="what-youll-build">
  ## Что вы создадите
</div>

В этом руководстве из раздела «Быстрый старт» вы будете использовать **clickhouse-client** — официальный клиент ClickHouse для командной строки — чтобы загрузить данные из локального CSV-файла в сервис ClickHouse Cloud.
Вы установите clickhouse-client, подготовите пример набора данных, подключитесь к своему сервису ClickHouse Cloud, создадите таблицу и выполните вставку данных с локальной машины.
В итоге вы узнаете, как с помощью clickhouse-client загружать локальные файлы в ClickHouse Cloud — этот способ работает с CSV, Parquet, JSON и многими другими форматами.

<Steps titleSize="h3">
  <Step>
    ### Установите clickhouse-client

    `clickhouse-client` — официальный CLI для подключения к ClickHouse. Он входит в состав бинарного файла ClickHouse.

    Установите его с помощью универсального установщика:

    ```bash theme={null}
    curl https://clickhouse.com/ | sh
    ```

    Это скачает последний бинарный файл `clickhouse` в текущий каталог. Проверьте установку:

    ```bash theme={null}
    ./clickhouse client --version
    ```

    Вы должны увидеть вывод с номером версии ClickHouse, подтверждающий, что `clickhouse-client` готов к работе.
  </Step>

  <Step>
    ### Подготовьте небольшой CSV-файл для примера

    Создайте небольшой CSV-файл, чтобы это руководство по быстрому запуску было самодостаточным. Выполните в терминале следующее:

    ```bash theme={null}
    cat <<'EOF' > sample_data.csv
    timestamp,event_type,user_id,duration_ms,status
    2024-01-15 10:30:00,page_view,1001,120,success
    2024-01-15 10:31:15,click,1002,45,success
    2024-01-15 10:32:00,page_view,1003,200,success
    2024-01-15 10:33:30,purchase,1001,1500,success
    2024-01-15 10:34:00,click,1004,60,error
    2024-01-15 10:35:45,page_view,1002,95,success
    2024-01-15 10:36:10,purchase,1005,2200,success
    2024-01-15 10:37:00,click,1003,30,success
    2024-01-15 10:38:20,page_view,1004,150,error
    2024-01-15 10:39:00,purchase,1002,1800,success
    EOF
    ```
  </Step>

  <Step>
    ### Подключитесь к своему сервису ClickHouse Cloud

    Команды ниже предполагают, что вы экспортировали `CLICKHOUSE_HOST`, `CLICKHOUSE_USER` и `CLICKHOUSE_PASSWORD` в виде переменных окружения, как описано в руководстве быстрого старта [Получение сведений о подключении к Cloud](/ru/get-started/quickstarts/obtain-your-cloud-connection-details). Если нет, вы можете напрямую подставить свои значения.

    Проверьте подключение, выполнив простой запрос к своему сервису ClickHouse Cloud:

    ```bash theme={null}
    ./clickhouse client \
      --host $CLICKHOUSE_HOST \
      --port 9440 \
      --user $CLICKHOUSE_USER \
      --password $CLICKHOUSE_PASSWORD \
      --secure \
      -q "SELECT 1"
    ```

    Если подключение прошло успешно, в терминале будет выведено `1`. Если возникает ошибка подключения, проверьте, что ваш сервис запущен в консоли Cloud, а имя хоста и пароль указаны верно.

    <Note>
      Порт `9440` — это защищённый порт собственного протокола для ClickHouse Cloud. Флаг `--secure` включает шифрование TLS. Это требуется для всех подключений к Cloud.
    </Note>
  </Step>

  <Step>
    ### Создайте целевую таблицу и вставьте данные

    Сначала создайте таблицу в вашем сервисе ClickHouse Cloud для приема данных:

    ```bash theme={null}
    ./clickhouse client \
      --host $CLICKHOUSE_HOST \
      --port 9440 \
      --user $CLICKHOUSE_USER \
      --password $CLICKHOUSE_PASSWORD \
      --secure \
      -q "
        CREATE TABLE IF NOT EXISTS events (
          timestamp DateTime,
          event_type LowCardinality(String),
          user_id UInt32,
          duration_ms UInt32,
          status LowCardinality(String)
        )
        ENGINE = MergeTree
        ORDER BY (event_type, timestamp)
      "
    ```

    Теперь выполните вставку данных из локального CSV-файла. Это ключевой шаг — `clickhouse-client` читает файл из stdin и потоково передает его в удаленный сервис:

    ```bash theme={null}
    ./clickhouse client \
      --host $CLICKHOUSE_HOST \
      --port 9440 \
      --user $CLICKHOUSE_USER \
      --password $CLICKHOUSE_PASSWORD \
      --secure \
      -q "INSERT INTO events FORMAT CSVWithNames" < sample_data.csv
    ```

    `clickhouse-client` напрямую отправляет содержимое CSV-файла в ваш сервис ClickHouse Cloud. Формат `CSVWithNames` указывает ClickHouse, что первая строка содержит заголовки столбцов.
  </Step>

  <Step>
    ### Проверьте, что данные были вставлены

    Выполните запрос к своему сервису ClickHouse Cloud, чтобы убедиться, что строки были вставлены:

    ```bash theme={null}
    ./clickhouse client \
      --host $CLICKHOUSE_HOST \
      --port 9440 \
      --user $CLICKHOUSE_USER \
      --password $CLICKHOUSE_PASSWORD \
      --secure \
      -q "SELECT count() FROM events"
    ```

    Вы увидите `10` — это количество строк в примере CSV-файла.

    Просмотрите данные:

    ```bash theme={null}
    ./clickhouse client \
      --host $CLICKHOUSE_HOST \
      --port 9440 \
      --user $CLICKHOUSE_USER \
      --password $CLICKHOUSE_PASSWORD \
      --secure \
      -q "SELECT * FROM events ORDER BY timestamp LIMIT 5"
    ```

    Этот же процесс работает с Parquet, TSV, JSON, Avro, ORC и многими другими [поддерживаемыми форматами](/ru/reference/formats) — просто измените предложение `FORMAT` и передайте на вход соответствующий файл.
  </Step>
</Steps>

## Следующие шаги

В этом руководстве из раздела «Быстрый старт» вы установили `clickhouse-client`, подключили его к сервису ClickHouse Cloud и с его помощью передали данные из локального CSV-файла в ClickHouse Cloud. Этот же подход подходит для Parquet, JSON и десятков других форматов.

Далее ознакомьтесь со следующими руководствами из раздела «Быстрый старт»:

* [Создайте свою первую таблицу MergeTree](/ru/get-started/quickstarts/create-your-first-mergetree-table)

Или перейдите к справочной документации:

* [Справка по clickhouse-client](/ru/concepts/features/interfaces/cli)
* [Поддерживаемые форматы ввода/вывода](/ru/reference/formats)

<Frame caption="Check out the ClickHouse academy for on-demand and live training">
  <a href="https://learn.clickhouse.com/" target="_blank">
    <img src="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/Y9kcWM6RbYppspJn/images/academy.png?fit=max&auto=format&n=Y9kcWM6RbYppspJn&q=85&s=d842bc871e006c08da3026a8a09e1d61" alt="ClickHouse Academy — Master ClickHouse with expert-designed training for every skill level" width="560" noZoom data-path="images/academy.png" />
  </a>
</Frame>

<div className="mt-8">
  <a href="/ru/get-started/quickstarts/home"><Badge size="lg" color="gray" icon="arrow-left">Все руководства из раздела «Быстрый старт»</Badge></a>
</div>
