7 of 7 people found this helpful
The answer to your first query is Yes it does send out the query to the database and the database does the computation and pulls back the data required for the visualization. Hence the flow of execution of this process would be:
Tableau -> ODBC Driver -> Database
Here the ODBC driver understands the database language and interprets the request coming from Tableau and pushes it into the database.
The answer to your 2nd question would be:
"Cassandra has no native support for joins. You can pull all your data from Cassandra into Spark and then do joins in Spark, but then you are using Spark not Cassandra. DSE makes that integration easier, but DSE is not Apache Cassandra." - I read this in the comment section of the link https://stackoverflow.com/questions/16790297/inner-join-in-cassandra-cql
If you wish to connect two tables but you have Cassandra as the DBMS platform then let the application handle the joins.
CASE #1:One option perform separate queries and then have your application join the data itself. This makes sense if the data is relatively small and you only have to perform a small number of queries. Based on the example you gave above, this would probably be a good solution for you.
CASE #2: For more complicated joins, the usual strategy is to denormalize the data and store a materialized view of the join.
You can read more about Cassandra in the following link: http://https://stackoverflow.com/questions/17248232/how-to-do-a-join-queries-with-2-or-more-tables-in-cassandra-cql
4 of 4 people found this helpful
Thanks Subhankar for your response,
what I understand is, Joins are not possible in cassandra, but using DSE ODBC driver we can apply join in tableau..
this link will say this( How to do Joins in Apache Cassandra™ and DataStax Enterprise | DataStax )
so as you say driver understand the query language and push the query to database where it perform the query and sends back the output
the question again is where this join happen?
case 1:- At cassandra:- but cassandra doesn't support join
case 2:- At ODBC:- does odbc takes data of all required table and join and then send joined output to tableau?
case 2:- At tableau: does this mean it takes all the data from cassandra table and perform join in tableau..
5 of 5 people found this helpful
What I would say after reading the post is, the join happens in the ODBC Driver.
In your case since you have incorporated DSE ODBC driver to connect to Cassandra Data Source, the data is extraced from Cassandra and then Apache Spark combines the tables into the required dataset for Tableau visualization and then dumps it into Tableau Engine for Visualization rendering.
2 of 2 people found this helpful
When you connect your Tableau with any data source it actually capture your data in a view like manner. Tableau just take an image of data and then you can easily
perform any operation on it.
In NoSQL Join's are not possible but when you attach your Tableau Desktop to Cassandra like NoSQL DB then , Tableau captures all the data as like a view in DB and then you can easily perform Join Operations on it .
Mohammad Mossdiq Hasan
6 of 6 people found this helpful
Your second statement is correct. Tableau captures the data from the source data base and loads a part of if live or full if an extract is created into the RAM of the machine in use and then you can perform all sorts of join operation.
Perfect , Cheers Man