首页 > 解决方案 > Clickhouse:从镶木地板文件中插入缺少列的数据

问题描述

我有数百个不同的镶木地板文件,我想将它们添加到 Clickhouse 数据库的单个表中。它们都包含相同类型的数据,但其中一些缺少一些列。

是否还有一种方法可以使用查询直接从这些镶木地板文件中添加数据,例如

cat {file_path} | clickhouse-client --query="INSERT INTO table FORMAT Parquet"?

如果我尝试这样做,我会收到这样的错误:

Code: 8. DB::Exception: Column "column_name" is not presented in input data: data for INSERT was parsed from stdin

创建表时,我尝试向缺少的列添加 NULL 或 DEFAULT 值,但我仍然得到相同的结果,并且异常导致未从相关 parquet 文件中添加任何数据。

有没有一种简单的方法可以用 Clickhouse 做到这一点,或者我只需要修复我的 parquet 文件,或者预处理我的数据并使用另一种不使用 parquet 的查询格式插入它?

标签: parquetclickhouse

解决方案


推荐阅读