このトピックでは、clickhouse-clientを使用してApsaraDB for ClickHouseにデータをインポートする方法の例を示します。 この例では、On Timeデータセットはclickhouse_demoデータベースの分散テーブルontime_local_distributedにインポートされます。
前提条件
入門に記載されている次の手順が完了しました。
- 説明
clickhouse-clientがインストールされているサーバーのIPアドレスをApsaraDB for ClickHouseクラスターのホワイトリストに追加する必要があります。
clickhouse- ApsaraDB for ClickHouseクラスターのバージョンに対応するクライアントがインストールされています。 詳細については、「clickhouse-client」をご参照ください。
手順
[On Time Data] をクリックして、On Timeデータセットをダウンロードします。
ダウンロードしたOn Timeデータセットパッケージを解凍します。
unzip ontime-data(1).zip
に接続します。Connect to theApsaraDB 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
下表に、各パラメーターを説明します。
パラメーター
説明
ホスト
パブリックエンドポイントまたは仮想プライベートクラウド (VPC) エンドポイント。 [クラスター情報] ページで、パブリックエンドポイントまたはVPCエンドポイントを表示できます。
clickhouse-clientがインストールされているサーバーがApsaraDB for ClickHouseクラスターと同じVPCにデプロイされている場合は、VPCエンドポイントを使用します。 サーバーとクラスターが異なるVPCにデプロイされている場合は、パブリックエンドポイントを使用します。
ポート
TCPポート番号。 [クラスター情報] ページでTCPポート番号を確認できます。
ユーザー
データベースアカウント。 ApsaraDB for ClickHouseコンソールでデータベースアカウントを作成できます。
パスワード
データベースアカウントのパスワードを設定します。
ClickHouse_テーブル
データをインポートする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