Generate LDBC SNB BI datasets directly from DuckDB
Installing and Loading
INSTALL ldbc_data_gen FROM community;
LOAD ldbc_data_gen;
Example
INSTALL ldbc_data_gen FROM community;
LOAD ldbc_data_gen;
-- Generate the LDBC SNB BI dataset as DuckDB tables.
CALL ldbcgen(sf := 0.003, schema := 'ldbc');
-- Inspect generated relation counts.
FROM ldbcgen(sf := 0.003, schema := 'ldbc_counts');
-- Generate Spark-compatible BI Parquet files.
CALL ldbcgen(
sf := 0.003,
target := 'files',
output_dir := 'out/sf0.003',
format := 'parquet',
overwrite := true
);
-- Inspect the generated schema metadata.
FROM ldbcgen_schema(format := 'parquet')
LIMIT 10;
-- Run one bundled LDBC BI query against generated tables.
PRAGMA ldbc_bi(1, schema = 'ldbc');
About ldbc_data_gen
The ldbc_data_gen extension generates deterministic LDBC Social Network Benchmark Business Intelligence (SNB BI) datasets directly inside DuckDB. It can materialize the generated graph as DuckDB tables or write Spark-compatible BI files in the composite-merged-fk layout, including the initial snapshot, inserts, and deletes. Parquet and CSV file output are supported.
The extension also includes helpers for inspecting the generated schema, configuration values, deterministic Java-compatible random sequences, and bundled LDBC BI query execution through PRAGMA ldbc_bi.
The generator is designed for reproducible benchmark data generation and local validation workflows without requiring Spark.
Added Functions
| function_name | function_type | description | comment | examples |
|---|---|---|---|---|
| ldbc_bi | pragma | NULL | NULL | |
| ldbc_bi_queries | table | NULL | NULL | |
| ldbc_email_base | scalar | NULL | NULL | |
| ldbc_java_random | table | NULL | NULL | |
| ldbcgen | table | NULL | NULL | |
| ldbcgen_config | table | NULL | NULL | |
| ldbcgen_person_core | table | NULL | NULL | |
| ldbcgen_schema | table | NULL | NULL |
Overloaded Functions
This extension does not add any function overloads.
Added Types
This extension does not add any types.
Added Settings
This extension does not add any settings.