How to Connect Mongodb to tableau - mongodb

We are still in the development phase.
Our req is parse the XML to JSON and store them as flat files in Mongodb
Then for the analysis we want to use tableau.
Part 1 of the req is done...now i need to connect to tableau.
Versions we have are
Mongo 3.2
Tableau 9.1
I have googled and couldn't find any steps to integrate tableau with mongodb.
I also saw Mongodb has released a connector but there is no Windows BI connector.
Now do we need to migrate to Enterprise version for tableau connectivity.
Many thanks for the inputs

Detailed Instructions (for Windows), using localhost server of mongoDB:
1) Installation: Install Tableau, MongoDB, and MongoDB BI Connector for Tableau.
2) From the command prompt, you will want to serve your mongoDB instance as well as the mongoDB_sql server needed to connect to Tableau MongoDB BI Connector. Add mongoDB and mongoDB BI Connector bin's to your system path, for example: C:\Program Files\MongoDB\Server\3.6\bin\ and 2) C:\Program Files\MongoDB\Connector for BI\2.3\bin\.
3) Serve your local mongoDB server. Example command: mongod. (Let's assume it is served on localhost:27017.
4) Create a schema of the database you want Tableau to integrate with. Command to do this: mongodrdl --out <path_that_you_want_to_save_schema_to> /db:<name_of_database>
5) Validate the schema, and serve your local server of mongoDB as an SQL server (Tableau expects this server to be running). Command to do this: mongosqld --schema <path_to_schema> (** this will typically serve to localhost:3307)
6) You can now go to Tableau, under connectors, click on the MongoDB BI Connector, and enter localhost for the server, and 3307 for the port. (assuming in step 5 you have validated that the sql server is running on localhost with port 3307).
I hope this helps, these exact steps worked well for me.

The mongo biconnector is implemented as a multicorn (python) based Foreign Data Wrapper imbedded in the supplied postgresql server. Tools are provided to set up the postgresql "biuser" user, to create the collection to table mappings from data sampling, and to import the resultant schema into postgresql. The postgresql database contains non-materialized views corresponding to the (flattened) mongo collections. Access is through the postgresql server using standard postgresql jdbc/odbc drivers.

I think run mongodb bi connector in docker ubuntu/centos is a choice if the connector does not support windows, and tableau does not support linux, that's a question.
There is an example of create bi connection in www.mongodb.com/tableau with mongosqld
Hope this would work well for your issue

I have described our way connecting to data in MongoDB Community Edition to Tableau. First creat an API to your DB, then Web Data Connector to Tableau (it's HTML and JS files), after you can use WDC Connector in Tableau to connect to your URL.
Here is the detailed description how we did it: https://medium.com/#katya.neulinger/tableau-web-data-connector-to-mongodb-c1477d7d5ac9

Related

MongoDB connection with Power BI

I have this mongoDB (a SaSS in IBM Cloud) and on this cloud i also have an instance of another noSQL DB, cloudant db.
We were able to connect the cloudant DB on Power BI using only an URL such as "https://8869f932-05f0-4f48-b697-XXXXXXXXXXXX-bluemix.cloudantnosqldb.appdomain.cloud/<DATABASE_NAME>/_design/<DESIGN_DOC_NAME>/_view/<VIEW_NAME>" and "WEB" connection option on PowerBI.
My question is, and i didn't find any info or documentation related to this matter: on MongoDB, there is a way to achieve this kind of connection, using only a uri to a specific view rather than the ODBC connection?
If not, is there any other alternative to connect with this resource on IBM instead of ODBC?
Install mongosqld from : https://docs.mongodb.com/bi-connector/current/installation/
Run mongosqld
Now you can connect to the mongodb instance with read access using mysql/mariadb client or drivers.
NOTE: As mentioned this only has read access, so you can execute all the select queries.
I don't think so if PowerBI doesn't support it already. The MongoDB BI Connector isn't installed in IBM Cloud Databases for MongoDB.

How to connect Mongo DB through Oracle DB?

I need to access data in Mongo DB through Oracle DB. Can you guys help me to create a link between Mongo & Oracle?
First you need to install an MongoDB ODBC driver. You can install the ODBC driver from Mongo: https://github.com/mongodb/mongo-odbc-driver
However, this ODBC driver works only for Mongo Atlas, i.e. MongoDB Cloud service, see MongoDB ODBC Driver. If you have a local MongoDB then you cannot use it. In this case you have to go for one of the commercial third party Mongo ODBC drivers:
Progress: https://www.progress.com/odbc/mongodb
CData: https://www.cdata.com/drivers/mongodb/odbc/
devart: https://www.devart.com/odbc/mongodb/
EasySoft: https://www.easysoft.com/products/data_access/odbc-mongodb-driver/index.html
Simba: https://www.simba.com/drivers/mongodb-odbc-jdbc/
Then you can use the Oracle Database Gateway for ODBC for the connection.
As far as I understand the "Oracle Database Gateway for ODBC" is one of the possible Heterogeneous Service Agents of the "Database Heterogeneous Connectivity" mentioned by Justin Cave.

Azure CosmosDB Mongo API with Tableau

I'm attempting to connect Tableau desktop to our CosmosDB using the MongoDB API. Looks like the Azure Cosmos ODBC driver only supports CosmosDB using the SQL API, not using the MongoDB API. Are there any other ODBC drivers that will work with Cosmos DB Mongo API to get data into Tableau?
We've tried a third party driver by Cdata and this seems to work but we would like to use something free and officially supported by Microsoft.
Thanks,
Chris
Yes, the ODBC driver only supports SQL API. There is a driver for this, MongoDB Connector for BI. I would try this.
Was able to get the MongoDB Bi Connector to work.
Instructions:
Connecting to Tableau requires the installation of "MongoDB BI connector" suite and starting the mongosqld daemon.
The set of instructions to install and configure mongosqld deamon are described at https://www.mongodb.com/tableau?jmp=tbl.
To connect mongosqld to a CosmosDB account, use the following command line instead of the one mentioned in the above documentation
mongosqld.exe /mongo-uri:"mongodb://.documents.azure.com:10255" /mongo-username: /mongo-password:"" /mongo-ssl /mongo-sslAllowInvalidCertificates /mongo-minimumTLSVersion:TLS1_2 /auth /mongo-authenticationMechanism:PLAIN /sslPEMKeyFile:https://www.mongodb.com/tableau?jmp=tbl> /sslMode:requireSSL /defaultAuthMechanism:PLAIN
All the variables marked as <> (with the exception of sslPEMKeyFile) are listed in the Connection String page for your account in the Azure Portal
Once the MongoSQLD instance is started, start your Tableau client, select "MongoDB BI connector" and configure the USERNAME/PASSWORD as follows:
[1]: https://i.stack.imgur.com/lpyPK.png
(replace the location to ca.crt as generated using the key_cert_gen.sh script in https://www.mongodb.com/tableau?jmp=tbl )
Click on OK and "Sign In" and you should be able to access your MongoDB collections.

Mongo DB BI Connector with Tableau not working with sharded instance

I've been trying to follow these instructions https://onlinehelp.tableau.com/current/pro/desktop/en-us/examples_mongodb.html#make_cx
to get the tableau desktop to connect to my mongo db server. looking at the data source example in the link above they only have 1 server listed where I have a replica set, which I think might be an issue.
i was wondering if anyone has an example connecting tableau to mongo where mongo is on a replica set?
It should work. When you setup the Mongo BI Connector, you can specify a standard Mongo URI connection string with multiple replicas. However, when connecting from Tableau, you specify the hostname of the server where the Mongo BI Connector service is running. It will use the uri connection string you defined.
See: https://docs.mongodb.com/bi-connector/master/reference/mongosqld/#cmdoption-mongosqld-mongo-uri

how to connect redshift cluster using tableau 8.0 desktop

I have downloaded Tabeleau 8.0.1 desktop version. I am able to connect my local postgres database through tableau.
But when I try to connect to the redshift cluster, I am getting an error - invlaid userid /password. I already have passed userid and password correctly. FYI, I am able to connect redshift through sqlworkbench/j, command line prompt (psql) & pgadmin III. And I already have downlaoded the redshift driver as per http://www.tableausoftware.com/support/drivers.
However I am not able to connect redshift cluster through tableau.
Amazon Redshift has a direct connect with Tableau. When you start Tableau, please use the Connect to Data option and then choose Amazon Redshift on the left. You'll see the following log-in screen. You shouldn't need to worry about drivers. Also, the Tableau trial version is the full version, so there is no limiting of features.
You can read more here, and watch a video. Also technical details are here. You may want to try version 8.1, which is the most recent version (also has 64 bit)