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

插入本地文件

您可以使用 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 的详细信息。