6 Replies Latest reply on Jul 31, 2019 2:46 PM by Kevin Leong

    dynamodb plugin

    Michael McCarthy


      I'm just wondering if its possible to connect Tableau to Dynamodb?




        • 1. Re: dynamodb plugin
          Prashant Sharma

          Hi Michael,


          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'

          credentials 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>'

          readratio 50;

          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.


          Warm Regards,

          Prashant Sharma - India | LinkedIn

          • 2. Re: dynamodb plugin
            david henington

            Does anyone know if this has changed at all?




            • 3. Re: dynamodb plugin
              Matt Brown

              Any idea if this has changed with the release of version 10?




              • 4. Re: dynamodb plugin
                Timo Tautenhahn

                Here you go with a link which is showing how to connect Tableau to DynamoDB via an ODBC driver:

                Visualize DynamoDB Data in Tableau

                • 5. Re: dynamodb plugin
                  efrat amir

                  Hey! Is there a change? Can anyone explain how to use the Plugin?

                  • 6. Re: dynamodb plugin
                    Kevin Leong

                    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/