插入本地文件
您可以使用 clickhouse-client
将本地文件流式传输到您的 ClickHouse 服务中。这使您能够使用 ClickHouse 的许多强大而便捷的函数来预处理数据。让我们看一个例子...
- 假设我们有一个名为
comments.tsv
的 TSV 文件,包含一些 Hacker News 评论,并且标题行包含列名。插入数据时,您需要指定一个 输入格式,在我们的例子中是TabSeparatedWithNames
:
- 让我们为我们的 Hacker News 数据创建表:
- 我们想将
author
列转换为小写,这可以通过lower
function 容易地做到。我们还想将comment
字符串拆分为标记并将结果存储在tokens
列中,这可以使用extractAll
function 来完成。您将在一个clickhouse-client
命令中完成所有这些操作 - 注意comments.tsv
文件是如何通过<
操作符被传输给clickhouse-client
的:
备注
input
函数在这里非常有用,因为它允许我们在将数据插入 hackernews
表时进行转换。input
的参数是输入原始数据的格式,您将在许多其他表函数中看到这一点(您为输入数据指定模式)。
- 就这样!数据已上传到 ClickHouse:
结果是:
- 另一个选择是使用像
cat
这样的工具将文件流式传输到clickhouse-client
。例如,以下命令与使用<
操作符的结果相同:
访问 关于 clickhouse-client
的文档页面以获取关于如何在本地操作系统上安装 clickhouse-client
的详细信息。