airbnb / omniduct

A toolkit providing a uniform interface for connecting to and extracting data from a wide variety of (potentially remote) data stores (including HDFS, Hive, Presto, MySQL, etc).
MIT License
255 stars 46 forks source link

Some issues for cassandra protocol #69

Open kination opened 6 years ago

kination commented 6 years ago

Hello. I'm trying to update protocol to support Cassandra DB. While working on, I have question for this.

from cassandra.cluster import Cluster

cluster = Cluster(['127.0.0.1'])
session = cluster.connect('testks')

Cassandra requires List of IPs of cluster which compose database, and currently Duct receives string value for host. Which will be the good way to adapt this?

Thanks.

naoyak commented 6 years ago

@djKooks it still seems an open question (https://github.com/airbnb/omniduct/pull/63#issuecomment-417552640 https://github.com/airbnb/omniduct/pull/59 https://github.com/airbnb/omniduct/issues/19) how we would implement support for NoSQL DBs - if you want to come up with an implementation it would be great, as it would help us think through whether to standardize the API across different NoSQL backends.

matthewwardrop commented 6 years ago

@djKooks Actually, omniduct does support a list of host names, but what happens at runtime is that one host of these is randomly selected for use, based upon availability. I'll look into this a bit more for you, and add a new class of Ducts for NoSQL databases.

kination commented 6 years ago

@matthewwardrop @naoyak thanks!