场景:纪录遇到的一些问题与解决方案,持续更新。
文章目录
- Code: 62. DB::Exception: Syntax error (Multi-statements are not allowed)
- Code: 117. DB::Exception: Unknown field found while parsing JSONEachRow format
Code: 62. DB::Exception: Syntax error (Multi-statements are not allowed)
-
场景:将
json
文件导入到ClickHouse
-
命令:
clickhouse-client --query="SET input_format_skip_unknown_fields=1; INSERT INTO event_data FORMAT JSONEachRow;"
-
错误信息
Code: 62. DB::Exception: Syntax error (Multi-statements are not allowed): failed at position 48 (end of query): ; INSERT INTO bigquery_analytics_events FORMAT JSONEachRow;. . (SYNTAX_ERROR)
-
解决方案:这个是因为我这里的 --query 里有多条语句导致的,执行多条语句时,需要加多一个参数:
-n
,即改成以下就可以了:clickhouse-client -n --query="SET input_format_skip_unknown_fields=1; INSERT INTO event_data FORMAT JSONEachRow;"
Code: 117. DB::Exception: Unknown field found while parsing JSONEachRow format
其场景命令同上,产生这个的原因是因为有未字段。最新的 ClickHouse 版本(v1.1.54023)
支持input_format_skip_unknown_fields
用户选项,该选项可以跳过 JSONEachRow
和 TSKV
格式的未知字段。
解决方案:
clickhouse-client -n --query="SET input_format_skip_unknown_fields=1; INSERT INTO event_data FORMAT JSONEachRow;"