Ingesting Events into Dockerized IBM DB2 (JDBC) with Apache NiFi

Tim Spann
Cloudera
Published in
3 min readJun 22, 2023

DDL

db2 "CREATE TABLE traveladvisory (
title VARCHAR(250),
pubdate VARCHAR(250),
link VARCHAR(250),
guid VARCHAR(250),
advisoryId VARCHAR(250),
domain VARCHAR(250),
category VARCHAR(4096),
description VARCHAR(4096),
uuid VARCHAR(250) NOT NULL,
ts BIGINT NOT NULL,
PRIMARY KEY (uuid)
);"



db2 list tables;

db2 describe table traveladvisory;

Data type Column
Column name schema Data type name Length Scale Nulls
------------------------------- --------- ------------------- ---------- ----- ------
TITLE SYSIBM VARCHAR 250 0 Yes
PUBDATE SYSIBM VARCHAR 250 0 Yes
LINK SYSIBM VARCHAR 250 0 Yes
GUID SYSIBM VARCHAR 250 0 Yes
ADVISORYID SYSIBM VARCHAR 250 0 Yes
DOMAIN SYSIBM VARCHAR 250 0 Yes
CATEGORY SYSIBM VARCHAR 4096 0 Yes
DESCRIPTION SYSIBM VARCHAR 4096 0 Yes
UUID SYSIBM VARCHAR 250 0 No
TS SYSIBM BIGINT 8 0 No

10 record(s) selected.

db2 "select * from traveladvisory"

PutDatabaseRecord

PutDatabaseRecord

Use PutDatabaseRecord for INSERTs for any JSON record comes in and insert into DB2INST1 schema table TRAVELADVISORY.

This uses a connection to an IBM DB2 server on Docker.

References

Cat Data

--

--

Tim Spann
Cloudera

Principal Developer Advocate, Zilliz. Milvus, Attu, Towhee, GenAI, Big Data, IoT, Deep Learning, Streaming, Machine Learning. https://www.datainmotion.dev/