【问题标题】:Use csv-data in clickhouse table在 clickhouse 表中使用 csv 数据
【发布时间】:2020-08-05 20:56:56
【问题描述】:

我想在我创建的表中使用 csv 文件中的数据时遇到问题。我创建的数据库称为“test”,创建的表如下:

CREATE TABLE testing
(
    `year` Int16, 
    `amount` Int16, 
    `rate` Float32, 
    `number` Int16
)
ENGINE = Log

Ok.

0 rows in set. Elapsed: 0.033 sec. 

我创建了所有这些列,以便能够覆盖 csv 文件中的所有数据。我已经阅读了 clickhouse 文档,但不知道如何将数据导入我的数据库。

我测试过这样做:

$ cat test.csv | clickhouse-client \ >-- database =test\ >--query='INSERT test FORMAT CSV'

Code: 62. DB::Exception: Syntax error: failed at position 1 (line 1, col 1): 2010,646,1.00,13
2010,2486,1.00,19
2010,8178,1.00,10
2010,15707,1.00,4
2010,15708,1.00,10
2010,15718,1.00,4
2010,16951,1.00,8
2010,17615,1.00,13
2010. Unrecognized token

链接:https://yadi.sk/d/ijJlmnBjsjBVc

【问题讨论】:

  • 欢迎来到 Stack Overflow!我不确定您的链接指向什么,但是...所有相关信息都应包含在您的问题本身中,而不需要有人访问其他网站。
  • 您可能是对的,该链接指向我正在使用的 csv 文件。只是来自 yandex 的一些测试数据。
  • 我建议在您的问题中包含一个小样本(为了说明目的,当然不需要多于几条记录)
  • 现在我有一个例子! :)
  • 看起来您对clickhouse-client 的命令行调用有错误。 --database =test --query='INSERT test FORMAT CSV' INTO" 我假设其他字符(例如所有 \ >)是您如何将它们输入到 shell 中的一些人工制品?

标签: clickhouse


【解决方案1】:
cat test.csv |clickhouse-client -d test -q 'INSERT into testing FORMAT CSV'

SELECT *
FROM test.testing

┌─year─┬─amount─┬─rate─┬─number─┐
│ 2010 │    646 │    1 │     13 │
│ 2010 │   2486 │    1 │     19 │
│ 2010 │   8178 │    1 │     10 │
│ 2010 │  15707 │    1 │      4 │
│ 2010 │  15708 │    1 │     10 │
│ 2010 │  15718 │    1 │      4 │
│ 2010 │  16951 │    1 │      8 │
│ 2010 │  17615 │    1 │     13 │
│ 2010 │  17616 │    1 │      4 │
│ 2010 │  17617 │    1 │      8 │
│ 2010 │  17618 │    1 │      9 │

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-13
    • 2020-03-13
    • 2022-10-20
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 2023-01-23
    • 2021-05-07
    相关资源
    最近更新 更多