如何将 PostgreSQL 数据导出为 Parquet、CSV 或 JSON
clickhouse-local 很容易做到这一点:
- 使用
postgresql表函数 读取数据 - 使用
INTO OUTFILE _filename_ FORMAT子句,并指定所需的输出格式
clickhouse-local,它是 ClickHouse 二进制程序的一部分。请按以下方式下载:
将 PostgreSQL 导出为 Parquet
postgresql 表函数允许对存储在远程 PostgreSQL 服务器上的数据执行 SELECT (以及 INSERT) 查询。例如,要查看 PostgreSQL 中某张表的全部内容:
INTO OUTFILE 将此查询的输出写入文件。使用 FORMAT 指定要创建的文件格式。我们来获取 PostgreSQL 表的全部内容,并将其写入一个 Parquet 文件:
由于输出文件名带有
.parquet 扩展名,ClickHouse 会默认我们要使用 Parquet 格式,因此这里省略了 FORMAT Parquet 子句。将 PostgreSQL 导出为 CSV
.csv 扩展名,将数据输出为逗号分隔格式。除此之外,该命令与上面的命令完全相同。
将 PostgreSQL 导出为 JSON
你不必止步于此——还可以使用
clickhouse-local 从 PostgreSQL 拉取数据,并将其输出为各种输出格式。如果 ClickHouse 无法通过文件扩展名确定输出类型,或者你想显式指定格式,请添加 FOMRAT 子句:将 PostgreSQL 的输出流式传给另一个进程
INTO OUTFILE,而是将表函数的结果流式传给另一个进程。下面用一个简单示例演示这种语法——我们使用 Linux 的 wc -l 命令来统计行数: