> ## 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-client を使って ClickHouse Cloud にデータを挿入する

> コマンドラインから、ローカルの CSV ファイルや Parquet ファイルのデータを clickhouse-client を使って ClickHouse Cloud サービスに挿入する方法を学びます。

<a href="/ja/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">リアルタイム分析</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>

次のクイックスタートも完了しておく必要があります。

* [最初の Cloud サービスを作成する](/ja/get-started/quickstarts/create-your-first-service-on-cloud) - データを挿入するには、稼働中の ClickHouse Cloud サービスが必要です
* [Cloud 接続情報を取得する](/ja/get-started/quickstarts/obtain-your-cloud-connection-details) - 接続するには、ホスト名、ユーザー名、パスワードが必要です

<div id="what-youll-build">
  ## 作成するもの
</div>

このクイックスタートでは、公式の ClickHouse CLI クライアントである **clickhouse-client** を使用して、ローカルの CSV ファイルから ClickHouse Cloud サービス にデータを挿入します。
clickhouse-client をインストールし、サンプルデータセットを準備して、Cloud サービス に接続し、テーブルを作成して、ローカルマシンからデータを挿入します。
最後には、clickhouse-client を使ってローカルファイルを ClickHouse Cloud に読み込む方法を理解できるようになります。このワークフローは、CSV、Parquet、JSON、その他多くのフォーマットに対応しています。

<Steps titleSize="h3">
  <Step>
    ### clickhouse-client をインストールする

    `clickhouse-client` は、ClickHouse に接続するための公式 CLI です。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>
    ### Cloud サービスに接続する

    以下のコマンドは、[Cloud 接続の詳細を取得する](/ja/get-started/quickstarts/obtain-your-cloud-connection-details) quickstart で説明されているとおり、`CLICKHOUSE_HOST`、`CLICKHOUSE_USER`、`CLICKHOUSE_PASSWORD` を環境変数として export 済みであることを前提としています。まだ設定していない場合は、これらを実際の値に直接置き換えることもできます。

    Cloud サービスに対して簡単なクエリを実行し、接続を確認します。

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

    接続に成功すると、ターミナルに `1` と表示されます。接続エラーが発生した場合は、Cloud Console でサービスが稼働中であることと、ホスト名およびパスワードが正しいことを確認してください。

    <Note>
      ポート `9440` は、ClickHouse Cloud のセキュアなネイティブプロトコル用ポートです。`--secure` フラグを指定すると、TLS 暗号化が有効になります。これらはすべての Cloud 接続で必須です。
    </Note>
  </Step>

  <Step>
    ### ターゲットテーブルを作成してデータを挿入する

    まず、データの受け取り先となるテーブルを 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` は標準入力からファイルを読み取り、リモートサービスにストリーミングします。

    ```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 ファイルの内容を Cloud サービスに直接送信します。`CSVWithNames` フォーマットは、先頭行にカラムヘッダーが含まれていることを ClickHouse に伝えます。
  </Step>

  <Step>
    ### データが挿入されたことを確認する

    行が取り込まれていることを確認するため、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、そのほか多くの[対応フォーマット](/ja/reference/formats)でも同様に使えます。`FORMAT` 句を変更し、適切なファイルをパイプで渡すだけです。
  </Step>
</Steps>

## 次のステップ

このクイックスタートでは、`clickhouse-client` をインストールし、ClickHouse Cloud サービスに接続して、ローカルのCSVファイルからCloudへデータをストリーミングしました。この方法は、Parquet、JSON、そのほか多数のフォーマットでも同様に使用できます。

次に、以下のクイックスタートをご覧ください。

* [最初のMergeTreeテーブルを作成する](/ja/get-started/quickstarts/create-your-first-mergetree-table)

または、リファレンスドキュメントでさらに詳しく確認できます。

* [clickhouse-client リファレンス](/ja/concepts/features/interfaces/cli)
* [サポートされている入力/出力フォーマット](/ja/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="/ja/get-started/quickstarts/home"><Badge size="lg" color="gray" icon="arrow-left">すべてのクイックスタート</Badge></a>
</div>
