这篇说说如何把本地文件的数据导入到云数据仓库 TCHouse-C 。
一、前提条件
1. 已经安装 clickhouse-client。(尚未安装的可参考快速入门 > 连接集群,进行下载和安装)
2. 支持导入到云数据仓库 TCHouse-C 的常见文件格式为 TabSeparated、TabSeparatedRaw、TabSeparatedWithNames、TabSeparatedWithNamesAndTypes、Template、CSV和CSVWithNames 等。更多支持的文件格式,请参见文件格式及说明。
3. 确保 clickhouse-client 所在的本地服务器和云数据仓库 ClickHous 集群处于同一 VPC 下。
二、操作步骤
以下以本地文件 test.csv 为例说明整个数据导入的过程。
1. 准备本地文件 test.csv,并写入数据如下。
$ cat /test.csv 1,2,3 3,2,1 78,43,45
2. 目标表创建。
·如果你的集群是单副本版:
CREATE TABLE test.test on cluster default_cluster( `column1` UInt32, `column2` UInt32, `column3` UInt32)engine = MergeTree()order by column1;
·如果你的集群是双副本版:
create table test.test on cluster default_cluster( `column1` UInt32, `column2` UInt32, `column3` UInt32)engine = ReplicatedMergeTree('/clickhouse/tables/test/test/{shard}', '{replica}')order by column1;
·创建分布式表:
create table test.test_dis on cluster defaultAS test.testengine = Distributed('default_cluster', 'test', 'test', rand());
3. 向目标表写入数据。
cat data.csv | clickhouse-client –query="INSERT INTO test FORMAT CSV"
4. 查询。
select * from test;