> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# clickhouse-client を使って ClickHouse Cloud にデータを挿入する

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

export const e_1 = undefined

export const e_0 = undefined

<a href="/docs/get-started/quickstarts/home" onClick={(e_0) => { e_0.preventDefault(); window.location.href = (window.location.pathname.startsWith('/docs') ? '/docs' : '') + '/get-started/quickstarts/home'; }} className="inline-flex items-center gap-1.5 text-sm text-gray-500 dark:text-zinc-500 hover:text-gray-900 dark:hover:text-[#fdff75] transition-colors font-normal no-underline"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="shrink-0"><path d="M19 12H5" /><path d="M12 19l-7-7 7-7" /></svg>All quickstarts</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>

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

* [ClickHouse Cloud クイックスタート](/docs/ja/get-started/setup/cloud) - データを挿入するには、稼働中の ClickHouse Cloud サービスが必要です
* [Cloud 接続情報を取得する](/docs/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 title="clickhouse-client をインストールする" id="install-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 title="サンプルのCSVファイルを準備する" id="prepare-a-sample-csv-file">
    このクイックスタートだけで完了できるよう、小さなサンプルの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 title="Cloud サービスに接続する" id="connect-to-your-cloud-service">
    以下のコマンドは、[Cloud 接続の詳細を取得する](/docs/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 title="ターゲットテーブルを作成してデータを挿入する" id="create-a-target-table-and-insert-data">
    まず、データの受け取り先となるテーブルを 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 title="データが挿入されたことを確認する" id="verify-the-data-was-inserted">
    行が取り込まれていることを確認するため、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、そのほか多くの[対応フォーマット](/docs/ja/reference/formats/index)でも同様に使えます。`FORMAT` 句を変更し、適切なファイルをパイプで渡すだけです。
  </Step>
</Steps>

<div id="next-steps">
  ## 次のステップ
</div>

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

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

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

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

* [clickhouse-client リファレンス](/docs/ja/concepts/features/interfaces/client)
* [サポートされている入力/出力フォーマット](/docs/ja/reference/formats/index)

<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/EDr8ydtGBgFPOQea/images/academy.webp?fit=max&auto=format&n=EDr8ydtGBgFPOQea&q=85&s=27e92fc656183cc2f176211907a7aa49" alt="ClickHouse Academy — Master ClickHouse with expert-designed training for every skill level" width="560" noZoom data-path="images/academy.webp" />
  </a>
</Frame>

<div className="mt-8">
  <a href="/docs/get-started/quickstarts/home" onClick={(e_1) => { e_1.preventDefault(); window.location.href = (window.location.pathname.startsWith('/docs') ? '/docs' : '') + '/get-started/quickstarts/home'; }} className="inline-flex items-center gap-1.5 text-sm text-gray-500 dark:text-zinc-500 hover:text-gray-900 dark:hover:text-[#fdff75] transition-colors font-normal no-underline"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="shrink-0"><path d="M19 12H5" /><path d="M12 19l-7-7 7-7" /></svg>All quickstarts</a>
</div>
