ClickHouse-常见的问题

场景:纪录遇到的一些问题与解决方案,持续更新。

文章目录

        • 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用户选项,该选项可以跳过 JSONEachRowTSKV 格式的未知字段。

解决方案:

clickhouse-client -n --query="SET input_format_skip_unknown_fields=1; INSERT INTO event_data FORMAT JSONEachRow;"

你可能感兴趣的:(数据库,clickhouse,数据库)