ClickHouse与HDFS交互

    技术2022-07-20  65

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

    从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;
    Processed: 0.015, SQL: 9