跳到主要内容

导出 NDJSON

导出 NDJSON

语法:

COPY INTO { internalStage | externalStage | externalLocation }
FROM { [<database_name>.]<table_name> | ( <query> ) }
FILE_FORMAT = (
TYPE = NDJSON,
COMPRESSION = gzip,
OUTPUT_HEADER = true
)
[MAX_FILE_SIZE = <num>]
[DETAILED_OUTPUT = true | false]

教程

Step 1. 创建一个 External Stage

CREATE STAGE ndjson_unload_stage
URL = 's3://unload/ndjson/'
CONNECTION = (
ACCESS_KEY_ID = '<your-access-key-id>'
SECRET_ACCESS_KEY = '<your-secret-access-key>'
);

Step 2. 创建自定义 NDJSON 文件格式

CREATE FILE FORMAT ndjson_unload_format
TYPE = NDJSON,
COMPRESSION = gzip; -- 导出时使用 gzip 压缩

Step 3. 导出为 NDJSON 文件

COPY INTO @ndjson_unload_stage
FROM (
SELECT *
FROM generate_series(1, 100)
)
FILE_FORMAT = (FORMAT_NAME = 'ndjson_unload_format')
DETAILED_OUTPUT = true;

结果:

┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ file_name │ file_size │ row_count │
├─────────────────────────────────────────────────────────────────────┼───────────┼───────────┤
│ data_068976e5-2072-4ad8-9887-16fb9129ed80_0000_00000000.ndjson.gz │ 263 │ 100 │
└─────────────────────────────────────────────────────────────────────────────────────────────┘

Step 4. 验证导出的 NDJSON 文件

SELECT COUNT($1)
FROM @ndjson_unload_stage
(
FILE_FORMAT => 'ndjson_unload_format',
PATTERN => '.*[.]ndjson[.]gz'
);

结果:

┌───────────┐
│ count($1) │
├───────────┤
│ 100 │
└───────────┘
欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验