跳到主要内容
跳到主要内容

插入本地文件

您可以使用 clickhouse-client 将本地文件流式传输到您的 ClickHouse 服务中。这使您能够使用 ClickHouse 的许多强大而便捷的函数来预处理数据。让我们看一个例子...

  1. 假设我们有一个名为 comments.tsv 的 TSV 文件,包含一些 Hacker News 评论,并且标题行包含列名。插入数据时,您需要指定一个 输入格式,在我们的例子中是 TabSeparatedWithNames
  1. 让我们为我们的 Hacker News 数据创建表:
  1. 我们想将 author 列转换为小写,这可以通过 lower function 容易地做到。我们还想将 comment 字符串拆分为标记并将结果存储在 tokens 列中,这可以使用 extractAll function 来完成。您将在一个 clickhouse-client 命令中完成所有这些操作 - 注意 comments.tsv 文件是如何通过 < 操作符被传输给 clickhouse-client 的:
备注

input 函数在这里非常有用,因为它允许我们在将数据插入 hackernews 表时进行转换。input 的参数是输入原始数据的格式,您将在许多其他表函数中看到这一点(您为输入数据指定模式)。

  1. 就这样!数据已上传到 ClickHouse:

结果是:

  1. 另一个选择是使用像 cat 这样的工具将文件流式传输到 clickhouse-client。例如,以下命令与使用 < 操作符的结果相同:

访问 关于 clickhouse-client 的文档页面以获取关于如何在本地操作系统上安装 clickhouse-client 的详细信息。