public class DbSink
extends java.lang.Object
This is open source software released under the Apache 2.0 License
| Modifier and Type | Class | Description |
|---|---|---|
private class |
DbSink.ColumnAdapter<R,C> |
A convenience base class for building an adapter that maps DataFrame content to a SQL column of a well defined type
|
private class |
DbSink.RowKeyAdapter<R,C> |
A ColumnAdapter implementation that applies a row key from a DataFrameRow to the INSERT PreparedStatement
|
private class |
DbSink.ValueAdapter<R,C> |
A ColumnAdapter implementation that applies a value extracted from a DataFrameRow to the INSERT PreparedStatement
|
| Modifier and Type | Field | Description |
|---|---|---|
private static java.util.Map<java.lang.Class<?>,com.d3x.morpheus.util.sql.SQLType> |
sqlTypeMap |
| Constructor | Description |
|---|---|
DbSink() |
Constructor
|
| Modifier and Type | Method | Description |
|---|---|---|
private <R,C> void |
createTable(com.d3x.morpheus.frame.DataFrame<R,C> frame,
DbSinkOptions<R,C> options) |
Creates the target table if it does not already exist in the database
|
private <R,C> java.util.List<DbSink.ColumnAdapter> |
getColumnAdapters(com.d3x.morpheus.frame.DataFrame<R,C> frame,
DbSinkOptions<R,C> options) |
Returns a apply of column type info for the target table
|
private <R,C> java.lang.String |
getCreateTableSql(com.d3x.morpheus.frame.DataFrame<R,C> frame,
DbSinkOptions<R,C> options) |
Returns the SQL DDL statement to create a table for the DataFrame specified
|
private <R,C> java.lang.String |
getInsertSql(java.util.List<DbSink.ColumnAdapter> columnList,
DbSinkOptions<R,C> options) |
Constructs the SQL insert statement for the column list specified
|
private java.lang.String |
getSqlTypeString(java.lang.Class<?> sqlClass) |
Returns the SQL type string for a CREATE TABLE statement
|
private <R,C> void |
insertData(com.d3x.morpheus.frame.DataFrame<R,C> frame,
DbSinkOptions<R,C> options) |
Called to insert data from the DataFrame to the target table
|
<R,C> void |
write(com.d3x.morpheus.frame.DataFrame<R,C> frame,
java.util.function.Consumer<DbSinkOptions<R,C>> configurator) |
private static final java.util.Map<java.lang.Class<?>,com.d3x.morpheus.util.sql.SQLType> sqlTypeMap
public <R,C> void write(com.d3x.morpheus.frame.DataFrame<R,C> frame,
java.util.function.Consumer<DbSinkOptions<R,C>> configurator)
private <R,C> void createTable(com.d3x.morpheus.frame.DataFrame<R,C> frame,
DbSinkOptions<R,C> options)
frame - the DataFrame to create a table foroptions - the sink optionscom.d3x.morpheus.frame.DataFrameException - if this operation failsprivate <R,C> void insertData(com.d3x.morpheus.frame.DataFrame<R,C> frame,
DbSinkOptions<R,C> options)
frame - the DataFrame to load data fromoptions - the sink optionscom.d3x.morpheus.frame.DataFrameException - if this operation failsprivate <R,C> java.lang.String getInsertSql(java.util.List<DbSink.ColumnAdapter> columnList, DbSinkOptions<R,C> options)
columnList - the column listoptions - the DB sink optionsprivate <R,C> java.util.List<DbSink.ColumnAdapter> getColumnAdapters(com.d3x.morpheus.frame.DataFrame<R,C> frame, DbSinkOptions<R,C> options)
frame - the DataFrame referenceprivate <R,C> java.lang.String getCreateTableSql(com.d3x.morpheus.frame.DataFrame<R,C> frame,
DbSinkOptions<R,C> options)
frame - the frame instanceoptions - the sink optionsprivate java.lang.String getSqlTypeString(java.lang.Class<?> sqlClass)
sqlClass - the SQL classCopyright 2014-2018, D3X Systems