Amazon Dynamodb is the NoSQL database & I think there is no way to connect it to Tableau. In Tableau we can connect it with Amazon RDS & Amazon Redshift. These days I am learning AWS but there are lots of things to learn for me . I have one solution is that you can copy your Dynamodb database to Amazon Redshift. This method will help you in many things like you can perform complex data analysis queries on that data, including joins with other tables in your Amazon Redshift cluster. Your queries does not affect your dynamodb as it will affect the copy of your dynamobb database.
I think you know that how to copy dynamodb data to Amazon Redshift but I am explaining few steps here:-
First create an Amazon Redshift table to serve as the destination for the data. Always remember that you are copying the data from NoSQL database to SQL database.
Here is the command to copy the data from Amazon Redshift SQL:-
copy mytableau from 'dynamodb://my-tableau-data-table'
In this example, the source table in Amazon DynamoDB is my-tableau-data-table. The target table in Amazon Redshift is mytableau. The readratio 50 clause regulates the percentage of provisioned throughput that is consumed; in this case, the COPY command will use no more than 50 percent of the read capacity units provisioned for my-tableau-data-table.
Few things which you have to understand before doing this:-
- Amazon DynamoDB table names can contain up to 255 characters, including '.' (dot) and '-' (dash) characters, and are case-sensitive. Amazon Redshift table names are limited to 127 characters, cannot contain dots or dashes and are not case-sensitive. In addition, table names cannot conflict with any Amazon Redshift reserved words.
- Amazon DynamoDB does not support the SQL concept of NULL. You need to specify how Amazon Redshift interprets empty or blank attribute values in Amazon DynamoDB, treating them either as NULLs or as empty fields.
- Amazon DynamoDB data types do not correspond directly with those of Amazon Redshift. You need to ensure that each column in the Amazon Redshift table is of the correct data type and size to accommodate the data from Amazon DynamoDB.
After getting your data to Amazon Redshift you can easily connect with tableau & here is the explanation: - Amazon Redshift
If anyone from community or Tableau is having some other good solution please let me know as I am new on AWS & I have never tried to connect Dynamodb to Tableau. Is there any direct process or any plugin?
I know this is a long process but this reply is for my own learning too.
Does anyone know if this has changed at all?
Any idea if this has changed with the release of version 10?
Hey! Is there a change? Can anyone explain how to use the Plugin?
There are several options for connecting DynamoDB to Tableau that I'm aware of.
- ODBC/JDBC drivers for DynamoDB from vendors like Simba that rely on DynamoDB to serve queries
- Using a SQL layer between Dynamo and Tableau - S3/Athena, Redshift, EMR/Hive, MySQL
- Using something like Rockset that provides a built-in sync to DynamoDB while serving SQL queries to dashboards like Tableau
An overview of various options for analytics on DynamoDB: https://rockset.com/blog/analytics-on-dynamodb-athena-spark-elastic/