插入本地文件
您可以使用 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
的详细信息。