Discover this year's submissions to the Dataiku Frontrunner Awards and give kudos to your favorite use cases and success stories!READ MORE

Connection issues when using Tableau Hyper Export in DataIku

ck2803
Level 1
Connection issues when using Tableau Hyper Export in DataIku

Hi

When I try to connect and export my dataset into a Tableau Server, I hit the following error of "failed to establish a new connection"

- File "/dataiku/design/code-envs/python/plugin_tableau-hyper-export_managed_14/lib/python3.6/site-packages/urllib3/connectionpool.py", line 727, in urlopen method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]

- File "/dataiku/design/code-envs/python/plugin_tableau-hyper-export_managed_14/lib/python3.6/site-packages/urllib3/util/retry.py", line 446, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause))

- urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='mytableauserver.com', port=443): Max retries exceeded with url: /api/2.3/auth/signin (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f63c667de48>: Failed to establish a new connection: [Errno 110] Connection timed out',))

--------------------------------------------------------

I did a double-check to ensure the credentials and the tableau site (host) is correct. My IT kept insisting that a whitelisting has been established for my tableau site and my DataIku link (e.g. dataiku.mycompany.com).

Will appreciate any advise on the areas that I can check. I somehow suspect that there might be some whitelisting required for the Python environment in my DataIku environment. If yes, how do I check? 

 

Thanks!

0 Kudos
1 Reply
sergeyd
Dataiker
Dataiker

Hi @ck2803

This is urllib3 clearly responds that it cannot establish the connection:

Failed to establish a new connection: [Errno 110] Connection timed out

So there is either firewall or a network issue here. You can try a similar code outside of DSS but using requests: 

import requests

URL='<TABLEAU_HOST_HERE>'
try:
    r=requests.get(url=URL)
    print(r.status_code)
    print(r.content)
except requests.exceptions.RequestException as e:
    print(e.message)

to test the connection. 

0 Kudos