Connection issues when using Tableau Hyper Export in DataIku

ck2803
ck2803 Registered Posts: 1 ✭✭✭

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!

Answers

  • Sergey
    Sergey Dataiker, Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS Core Concepts Posts: 365 Dataiker
    edited July 2024

    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.

Setup Info
    Tags
      Help me…