private void insertWrite(Row row) {
        try {

            if(outRecords.getCount() % ROW_PRINT_FREQUENCY == 0){
                LOG.info("Receive data : {}", row);
            }

            String cql = buildSql(row);
            if (cql != null) {
                ResultSet resultSet = session.execute(cql);
                resultSet.wasApplied();
                outRecords.inc();
            }
        } catch (Exception e) {
            if(outDirtyRecords.getCount() % DIRTY_PRINT_FREQUENCY == 0){
                LOG.error("record insert failed, total dirty num:{}, current record:{}", outDirtyRecords.getCount(), row.toString());
                LOG.error("", e);
            }

            outDirtyRecords.inc();
        }
    }
Adds a record to the prepared statement.
<p>
When this method is called, the output format is guaranteed to be opened.
</p>
<p>
WARNING: this may fail when no column types specified (because a best effort approach is attempted in order to
insert a null value but it's not guaranteed that the JDBC driver handles PreparedStatement.setObject(pos, null))

@param tuple2 The records to add to the output.
@throws IOException Thrown, if the records could not be added due to an I/O problem.
@see PreparedStatement
cassandra/cassandra-sink/src/main/java/com/dtstack/flink/sql/sink/cassandra/CassandraOutputFormat.java