このトピックでは、clickhouse-client を使用して ApsaraDB for ClickHouse にデータをインポートする方法の例を示します。この例では、On Time データセットが clickhouse_demo データベースの ontime_local_distributed 分散テーブルにインポートされます。
前提条件
「はじめに」に記載されている次の手順が完了していること。
- 説明
clickhouse-client がインストールされているサーバーの IP アドレスを ApsaraDB for ClickHouse クラスターのホワイトリストに追加する必要があります。
ApsaraDB for ClickHouse クラスターのバージョンに対応する clickhouse-client がインストールされていること。詳細については、「clickhouse-client」をご参照ください。
手順
On Time データ をクリックして、On Time データセットをダウンロードします。
ダウンロードした On Time データセットパッケージを解凍します。
unzip ontime-data(1).zip
ApsaraDB for ClickHouse クラスターに接続し、ApsaraDB for ClickHouse にデータをインポートします。
clickhouse-client がインストールされているディレクトリで、次のコマンドを実行します。
./clickhouse-client --host=<host> --port=<port> --user=<user> --password=<password> --query="INSERT INTO <ClickHouse_table> FORMAT CSVWithNames" < ontime-data.csv
次の表でパラメーターについて説明します。
パラメーター
説明
host
パブリックエンドポイントまたは VPC エンドポイント。[クラスター情報] ページでパブリックエンドポイントまたは VPC エンドポイントを確認できます。
clickhouse-client がインストールされているサーバーが ApsaraDB for ClickHouse クラスターと同じ VPC にデプロイされている場合は、VPC エンドポイントを使用します。サーバーとクラスターが異なる VPC にデプロイされている場合は、パブリックエンドポイントを使用します。
port
TCP ポート番号。[クラスター情報] ページで TCP ポート番号を確認できます。
user
データベースアカウント。ApsaraDB for ClickHouse コンソールでデータベースアカウントを作成できます。
password
データベースアカウントのパスワード。
ClickHouse_table
データをインポートする ApsaraDB for ClickHouse のテーブル。
次のサンプル文が提供されています。
./clickhouse-client --host=cc-bp16qwvp7hy8i****.public.clickhouse.ads.aliyuncs.com --port=3306 --user=test --password=123456Aa --query="INSERT INTO clickhouse_demo.ontime_local_distributed FORMAT CSVWithNames" < ontime-data.csv
データをクエリして、データがインポートされたかどうかを確認します。
SELECT OriginCityName, count(*) AS flights FROM ontime_local_distributed GROUP BY OriginCityName ORDER BY flights DESC LIMIT 10;
次のクエリ結果が返されます。
OriginCityName │ flights ──────────────────────│──────── Chicago, IL │ 24114 Atlanta, GA │ 22001 Dallas/Fort Worth, TX │ 17340 Los Angeles, CA │ 14494 Denver, CO │ 14170 New York, NY │ 14075 Washington, DC │ 11985 Houston, TX │ 11483 San Francisco, CA │ 11259 St. Louis, MO │ 10721