I'm trying to determine if I'm specifying type information properly when
doing an INSERT using
the JDBCAppendTableSink API. Specifically, how do I specify timestamp and
date types? It looks like
I need to use Type.SQL_TIMESTAMP for a timestamp but BasicTypeInfo for types
like varchar, etc?
I am having trouble finding complete examples. I got this to work below but
I wanted to confirm I'm
doing things the correct way?
This is for an append-only into a Derby Database table.
My DDL
# simple table with a timestamp, varchar, bigint
create table mydb.pageview_counts
(window_end timestamp not null,
username varchar(40) not null,
viewcount bigint not null);
My Insert Statement
// Write Result Table to Sink
// Configure Sink
JDBCAppendTableSink pageViewSink = JDBCAppendTableSink.builder()
.setDrivername("org.apache.derby.jdbc.ClientDriver")
.setDBUrl("jdbc:myhost://captain:1527/mydb")
.setUsername("foo")
.setPassword("bar")
.setBatchSize(1)
.setQuery("INSERT INTO mydb.pageview_counts
(window_end,username,viewcount)
VALUES (?,?,?)")
.setParameterTypes(Types.SQL_TIMESTAMP,BasicTypeInfo.STRING_TYPE_INFO,BasicTypeInfo.LONG_TYPE_INFO)
.build();
--
Sent from: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/