Max Charas created BEAM-6820:
--------------------------------

             Summary: Custom Row-Object mapper implementation for CassandraIO
                 Key: BEAM-6820
                 URL: https://issues.apache.org/jira/browse/BEAM-6820
             Project: Beam
          Issue Type: Improvement
          Components: io-java-cassandra
            Reporter: Max Charas


The current Cassandra source sink is tightly coupled to the Datastax Object 
Mapper. [This requires 
users|https://docs.datastax.com/en/developer/java-driver/3.1/manual/object_mapper/]
 of the sink to provide a POJO describing  the table in Cassandra. Although the 
POJO is a easy and powerful way to describe the table it does requires users to 
always recompile the pipeline for each change in the table definition. 

I suggest adding a abstraction layer that allows users to inject their own 
mapper implementation. One example use would be a mapper that works with a 
generic 
[Row|https://beam.apache.org/releases/javadoc/2.4.0/org/apache/beam/sdk/values/Row.html]
 implementation rather than a compile-time POJO. 

This abstraction layer could be implemented by simply supplying a MapperFactory 
through the Sink/Source builder. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to