1. Bridging Enterprise Data Lakehouses to AI
Apache Iceberg has emerged as the open table format standard for modern data lakehouses, enabling ACID transactions, time travel, and schema evolution over massive petabyte-scale Parquet datasets stored in S3 or HDFS.
However, bridging table data into Retrieval-Augmented Generation (RAG) and vector search pipelines has historically required custom Spark or Flink jobs. With the oc-iceberg-repository-connector, OpenCrawling connects directly to your Iceberg catalogs, scans Parquet data files concurrently, and converts records into standard RepositoryDocument streams with zero intermediate data copies.
Supported Catalogs: Full native support for REST Catalog, Hive Metastore Catalog, Hadoop Catalog, AWS Glue Catalog, and In-Memory Catalogs.
2. Architecture & Concurrent Scanning
The connector implements the standard RepositoryConnector interface. During a scan, it plans FileScanTasks over the target table schema and forks task execution across Java 25 Virtual Threads managed by StructuredTaskScope:
REST / Hive / Glue → IcebergRepositoryConnector
Java 25 Virtual Threads → Kafka Topic
opencrawling-ingestion → IngestionConsumer
Token Chunker → EmbeddingConsumer
Ollama / OpenAI → PGVector
vector_store_1024
3. Configuration & Constructor Parameters
The IcebergRepositoryConnector can be configured via Java properties or Spring environment settings:
// Example Java initialization connecting to a REST Catalog
IcebergRepositoryConnector connector = new IcebergRepositoryConnector(
"rest", // catalogType: rest, hive, hadoop, glue, in-memory
"http://iceberg-rest:8181", // catalogUri
"s3://warehouse-bucket/iceberg", // warehouse location
"id" // idColumn (optional primary key column)
);
Catalog Support Matrix
| Catalog Type | Catalog URI Example | Description |
|---|---|---|
rest |
http://iceberg-rest:8181 |
Apache Iceberg REST Catalog server endpoint |
hive |
thrift://hive-metastore:9083 |
Apache Hive Metastore Catalog connector |
hadoop |
hdfs://namenode:8020/warehouse |
HDFS / File-system based Hadoop catalog |
glue |
aws:glue:us-east-1 |
AWS Glue Data Catalog integration |
in-memory |
N/A |
Local test catalog for mock unit testing |
4. Document Identifiers & URI Scheme
Each table record is serialized into a RepositoryDocument carrying a uniform URI identifier format:
iceberg://<table-identifier>/<document-id>
Document IDs are deterministically resolved in the following priority order:
- Explicit primary key column value passed via
idColumn. - Composite keys constructed from Iceberg schema
identifierFieldNames(). - SHA-256 fingerprint hash generated automatically from record JSON payload bytes.
Source Code: Check out the source code module on GitHub under oc-iceberg-repository-connector.
Ready to Connect Your Data Lakehouse?
Explore the source code, configure your Iceberg catalog endpoint, and start streaming structured records directly to vector databases.