ClickHouse与HDFS交互

ClickHouse与Hadoop的兼容性不好,数据交互还是依靠将数据导出为固定格式的文件,然后将文件导入到ClickHouse中。
ClickHouse与HDFS交互_第1张图片

从HDFS读取数据

从HDFS上读取数据类似于将HDFS作为外部存储,然后去拉取HDFS上的数据。

需要用到一个新的引擎HDFS:

CREATE TABLE hdfs_student_csv(
	id Int8,
	name String
)
Engine=HDFS('hdfs://hadoop01:9000/student.csv','csv');

但是数据实际上还是在HDFS上,如果关掉HDFS,他就会报错。

从HDFS导入数据

我们想要将读取到的数据保存到本地,只需要将读取数据的表导入其他的本地表。

创建一张表结构和hdfs_student_csv完全一致,但是表引擎无所谓。

CREATE TABLE student_local(
	id Int8,
	name String
)
Engine=TinyLog;

insert into student_local select * from hdfs_student_csv;

你可能感兴趣的:(ClickHouse与HDFS交互)