Snowflake

En este artículo se describe cómo conectar Tableau a un almacén de datos de Snowflake y cómo configurar la fuente de datos.

Antes de empezar

Antes de empezar, recopile esta información de conexión:

  • Nombre del servidor al que desea conectarse
  • Método de autenticación:
    • OAuth: utilice este método si desea habilitar la federación desde un IDP.
    • SAML IDP: utilice este método si desea insertar las credenciales de IDP en la conexión.
    • Nombre de usuario y contraseña: utilice este método si desea almacenar las credenciales de usuario en Snowflake.
  • Las credenciales de inicio de sesión dependen del método de autenticación que elija.
  • (Opcional) Ejecutar instrucción SQL inicial cada vez que Tableau se conecta

Controlador necesario

Este conector necesita un controlador para comunicarse con la base de datos. Es posible que ya tenga el controlador necesario instalado en el equipo. Si el controlador no está instalado en el equipo, Tableau muestra un mensaje en el cuadro de diálogo de conexión con un enlace a la página Descarga de controladores(El enlace se abre en una ventana nueva), donde podrá encontrar enlaces de controladores e instrucciones de instalación.

Nota: Para permitir el uso de OAuth con Snowflake, debe instalar el controlador ODBC más reciente de Snowflake (actualmente, versión 2.25.4).

Establecer la conexión y configurar la fuente de datos

Después de seleccionar Snowflake como su conexión, aparece un menú EMERGENTE con 3 pestañas. Utilice la pestaña General para la autenticación. Puede usar también SQL inicial para ejecutar un comando SQL al principio de cada conexión. Para obtener más información, consulte Ejecutar SQL inicial. Puede usar la pestaña Avanzado para agregar conexiones de clientes con parámetros.

Conectar Tableau a sus datos

  1. Inicie Tableau y, en Conectar, seleccione Snowflake.
  2. Escriba el nombre del servidor al que desee conectarse.
  3. Seleccione el método de autenticación: nombre de usuario y contraseña, Nombre de usuario y contraseña de Okta o inicio de sesión con OAuth.
  4. Seleccione uno de los métodos de autenticación y complete los pasos de inicio de sesión.
    Nombre de usuario y contraseña de Okta:
    1. Introduzca el Nombre de usuario y la Contraseña.
    2. En el campo Okta, introduzca la URL del servidor de Okta.
    Iniciar sesión con OAuth
    1. (Opcional) Seleccione SQL inicial si desea ejecutar un comando SQL al principio de cada conexión. Para obtener más información, consulte Ejecutar SQL inicial.
    2. Seleccione Iniciar sesión.
    3. En la página web que se abre, inicie sesión en Snowflake introduciendo su nombre de usuario y contraseña, y seleccionando Iniciar sesión. O seleccione Inicio de sesión único si Snowflake está configurado para admitir SSO.
    4. Haga clic en Aceptar para confirmar la autorización para acceder a sus datos de Snowflake.
    5. Cierre la ventana del navegador y vuelva a Tableau.
    6. Vaya a la sección siguiente, "Configurar la fuente de datos".
  5. Seleccione Iniciar sesión.
  6. Si Tableau no puede establecer la conexión, compruebe que las credenciales sean correctas. Si sigue sin poder conectar, su equipo tiene problemas para encontrar el servidor. Póngase en contacto con el administrador de red o con el administrador de la base de datos.

Tiempo de espera del token de acceso: validar siempre el TDC del token de acceso

El token de acceso de Snowflake caduca pasados 10 minutos. En determinados procesos de actualización de extracción, se establecen nuevas conexiones en un momento posterior del trabajo en el que el token de acceso ha caducado. Para solucionar este problema, agregamos una nueva capacidad, que está habilitada de forma predeterminada a partir de Tableau 2024.2. Para habilitar esta funcionalidad en versiones anteriores, puede utilizar el siguiente TDC.

<connection-customization class='snowflake' enabled='true' version='10.0'>
    <vendor name='snowflake' />
    <driver name='snowflake' />
    <customizations>
        <customization name='CAP_OAUTH_VALIDATE_ALWAYS' value='yes'/>
    </customizations>
</connection-customization>

Si utiliza Tableau Cloud, puede publicar desde Tableau Desktop con el TDC instalado en la carpeta de fuentes de datos del repositorio de Tableau. De esta forma, se insertará el TDC en el libro de trabajo o la fuente de datos al publicarlos.

El TDC insertado se aplica siempre independientemente del estado del indicador habilitado, a condición de que no haya otro TDC instalado en el lado del servidor. Además, nunca se instala el TDC en Tableau Cloud (solo se inserta).

Nota: Los TDC insertados no son compatibles con los flujos.

Personalizar la conexión utilizando los parámetros del controlador

Puede modificar la conexión realizada mediante el conector de Snowflake añadiendo parámetros de controlador a la cadena de conexión en la pestaña Avanzado:

Nota: No puede cambiar los parámetros del controlador que genera Tableau; solo puede añadir parámetros.

Por ejemplo, esta sintaxis especifica el servidor proxy que se usará cuando los valores de no_proxy no se cumplan e indica qué nombres de host pueden omitir el servidor proxy:

Proxy=http://proxyserver.company:80;no_proxy=.trustedserver.com;

Para otro ejemplo de parámetros de controlador personalizados, consulte Utilice un proxy para Snowflake.

 

Nota: Si desea personalizarlo sin insertarlo en la fuente de datos, puede configurar los parámetros en el registro en Windows (solo están disponibles los parámetros que están marcados como "Parámetros de configuración"). Para obtener más información sobre los parámetros de los controladores, consulte Parámetros de conexión y configuración de ODBC en el sitio web de Snowflake.

Configurar la fuente de datos

En la página de la fuente de datos, haga lo siguiente:

  1. (Opcional) Seleccione el nombre predeterminado de la fuente de datos en la parte superior de la página y luego escriba un nombre único para su uso en Tableau. Por ejemplo, utilice una nomenclatura de fuente de datos que ayude a que los demás usuarios de la fuente de datos puedan deducir a qué fuente de datos deben conectarse.

  2. En la lista desplegable Almacén, seleccione el almacén o utilice el cuadro de texto para buscar un almacén por el nombre.

    Nota: Si deja esto en blanco y no selecciona un almacén, Tableau utiliza el almacén virtual de Snowflake predeterminado.

    Para obtener más información, consulte Almacenes virtuales predeterminados en Snowflake.

  3. En la lista desplegable Base de datos, seleccione una base de datos o use el cuadro de texto para buscar una base de datos por el nombre.
  4. En la lista desplegable Esquema, seleccione un esquema o use el cuadro de texto para buscar un esquema por el nombre.
  5. En Tabla, seleccione una tabla o use el cuadro de texto para buscar una tabla por el nombre.
  6. Arrastre una tabla al lienzo y, a continuación, seleccione la pestaña de la hoja para iniciar el análisis. Use SQL personalizado para conectarse a una consulta específica, en lugar de conectarse a toda la fuente de datos. Para obtener más información, consulte Conectarse a una consulta de SQL personalizada.

Iniciar sesión en un equipo Mac

Al usar Tableau Desktop en un Mac, cuando especifique el nombre de servidor para conectarse, use un nombre de dominio completamente calificado, como por ejemplo, mydb.test.ourdomain.lan, en lugar de un nombre de dominio relativo, como por ejemplo, mydb o mydb.test.

Como alternativa, puede añadir el dominio a la lista de dominios de búsqueda del equipo Mac para que, cuando se conecte, solo tenga que proporcionar el nombre del servidor. Para actualizar la lista de dominios de búsqueda, vaya a Preferencias del sistema > Red > Avanzada y, a continuación, abra la pestaña DNS.

Almacenes virtuales predeterminados en Snowflake

Al crear una fuente de datos de Snowflake, crea un almacén de Snowflake (para recursos informáticos) y bases de datos de Snowflake (para recursos de datos). Tanto los almacenes como las bases de datos requieren permisos para acceder a ellos. Puede usar almacenes diferentes para acceder a la misma base de datos, dependiendo de la potencia de cálculo que necesite, suponiendo que tenga permisos para cada almacén y base de datos.

Cuando crea una fuente de datos, tiene la opción de elegir un almacén de una lista desplegable. Si lo deja en blanco y no selecciona un almacén, Tableau usará su almacén virtual Snowflake predeterminado. Si posteriormente publica esa fuente de datos o libro de trabajo, cuando un usuario se conecta, Tableau utilizará el almacén virtual de Snowflake predeterminado de esa persona.

A cada usuario se le debe asignar un almacén predeterminado para que Tableau pueda usarlo de forma predeterminada para abrir un libro de trabajo desde una fuente de datos de Snowflake.

Configurar el soporte del servidor de Snowflake para OAuth

Para obtener información sobre cómo configurar OAuth para conexiones entre Tableau y Snowflake, consulte Configurar OAuth para conexiones de Snowflake(El enlace se abre en una ventana nueva).

Utilice un proxy para Snowflake

Puede conectarse desde Tableau a través de un proxy a Snowflake. Si usa la versión 2019.4 o una posterior, puede configurarla con el cuadro de diálogo del conector escribiendo los parámetros necesarios en la pestaña Avanzado.

Por ejemplo:

proxy=http://proxyserver.company:80

Para obtener información sobre los parámetros que debe utilizar, consulte la documentación de Snowflake(El enlace se abre en una ventana nueva).

Nota: Tableau no utiliza un DSN para conectarse a Snowflake, por lo que puede ignorar las instrucciones de la documentación de Snowflake sobre el uso de un DSN.

Si utiliza una versión de Tableau anterior a la versión 2019.4, puede configurarla introduciendo los parámetros en un archivo TDC mediante odbc-extras.

Por ejemplo:

Copiar
<connection-customization class='snowflake' enabled='true' version='19.1'>
        <vendor name='snowflake' />
            <driver name='snowflake' />
                <customizations>
                <customization name='odbc-connect-string-extras' value='proxy=http://proxyserver.company:80' />
                </customizations></connection-customization>

Para obtener más información, consulte el artículo Personalizar la cadena de conexión para un conector nativo(El enlace se abre en una ventana nueva).

Solución de problemas

Rendimiento

Utilice la siguiente información para solucionar cualquier problema de rendimiento que esté experimentando al utilizar Tableau con Snowflake.

Recuperar tamaño

Cuando se utilizan campos VARCHAR o VARBINARY ilimitados, el controlador devolverá el tamaño del campo como 16 M. Esto provoca que Tableau utilice un tamaño de recuperación reducido para mantenerse dentro de los límites de memoria, lo que se traduce en una velocidad de consulta lenta. Hay varias maneras de abordar este problema.

Cambios de esquema

Si agrega un tamaño a la definición de columna, como VARCHAR(256), Tableau podrá calcular el tamaño de recuperación óptimo.

Personalizaciones de TDC

  • Puede utilizar los parámetros del controlador default_varchar_size o default_binary_size. También puede (https://docs.snowflake.com/en/developer-guide/odbc/od

bc-parameters) para establecer un tamaño de campo máximo para los campos ilimitados.

  • Puede utilizar la interfaz de usuario avanzada o un TDC.

  • También deberá configurar una capacidad adicional CAP_ODBC_FETCH_BUFFERS_RESIZABLE.

Nota: Esta solución no funcionará para Tableau Cloud, a menos que esté usando Tableau Bridge.

  • Si utiliza Tableau Bridge, puede instalar el TDC en el host de Bridge para que se aplique a todas las conexiones que pasan por ese host. A continuación encontrará algunos ejemplos.

Cuadro de diálogo emergente Parámetros

Utilice este TDC si desea personalizar el tamaño del campo de todas las fuentes de datos utilizando la interfaz de usuario anterior.

Copiar
<connection-customization class='snowflake' enabled='true' version='10.0'>
    <vendor name='snowflake' />
    <driver name='snowflake' />
    <customizations>
        <customization name='CAP_ODBC_FETCH_BUFFERS_RESIZABLE' value='yes'/>
    </customizations>
</connection-customization>

Utilice este TDC para aplicar las personalizaciones a todas las fuentes de datos.

Copiar
<connection-customization class='snowflake' enabled='true' version='10.0'>
<vendor name='snowflake' />
<driver name='snowflake' />
<customizations>
<customization name='CAP_ODBC_FETCH_BUFFERS_RESIZABLE' value='yes'/>
<customization name='odbc-connect-string-extras' value='default_varchar_size=512;default_binary_size=512'/>
</customizations>
</connection-customization>

Preguntas frecuentes

Aquí encontrará algunos problemas comunes y los pasos para resolverlos.

Obtengo un error "Este campo XXX no existe", ¿qué debo hacer?

Este error aparece cuando usa un campo de cálculo, lo agrega a la hoja de trabajo y reemplaza la fuente de datos con los datos de Snowflake (SQL personalizado).

Utilice la función Reemplazar referencias de campo para resolver el error. Para obtener información adicional sobre cómo reemplazar referencias de campo, consulte Reemplazar referencias de campo.

 

Consulte también

¡Gracias por sus comentarios!Sus comentarios se han enviado correctamente. ¡Gracias!