Подключение Tableau и Azure Databricks

В этой статье показано, как использовать Partner Connect для подключения из Azure Databricks к Tableau Desktop и из Tableau Desktop или Tableau Cloud в Azure Databricks. В этой статье также содержатся сведения о Tableau Server в Linux.

Примечание.

Сведения о настройке входа Azure Databricks из Tableau Server см. в статье Настройка входа Azure Databricks из Tableau Server.

Применение Azure Databricks в качестве источника данных в сочетании Tableau позволяет реализовать эффективные интерактивные аналитические средства, которые помогут вашим бизнес-аналитикам воспользоваться результатами работы специалистов по обработке, анализу и проектированию данных путем масштабирования до объемных наборов.

Требования к подключению Tableau и Azure Databricks

Подключение Azure Databricks к Tableau Desktop с помощью Partner Connect

Вы можете использовать Partner Connect для подключения вычислительного ресурса или хранилища SQL к Tableau Desktop всего за несколько щелчков мыши.

  1. Убедитесь, что учетная запись Azure Databricks, рабочая область и пользователь, выполнивший вход, соответствуют требованиям для Partner Connect.
  2. На боковой панели нажмите кнопку Кнопка Partner Connect.
  3. Щелкните плитку Tableau.
  4. В диалоговом окне Подключение к партнеру для параметра Вычислительная среда выберите имя вычислительного ресурса Azure Databricks, который требуется подключить.
  5. Выберите Скачать файл подключения.
  6. Откройте скачанный файл подключения, который запустит Tableau Desktop.
  7. В Tableau Desktop введите учетные данные проверки подлинности и нажмите кнопку "Войти".
    • Чтобы использовать маркер идентификатора Microsoft Entra, введите маркер имени пользователя и маркер идентификатора Microsoft Entra для пароля.
    • Чтобы использовать личный маркер доступа Azure Databricks, введите маркер имени пользователя и личный маркер доступа для пароля.
    • Чтобы использовать учетные данные идентификатора Microsoft Entra, щелкните "Изменить подключение", дважды щелкните базу данных на вкладке "Данные " и выберите идентификатор Microsoft Entra в списке проверки подлинности .
      • Для Tableau Desktop 2021.1 и более поздних версий:

        1. Если вы не используете идентификатор Microsoft Entra (ранее Azure Active Directory) гостевую учетную запись B2B или Azure Databricks в Azure для государственных организаций, можно просто ввести https://login.microsoftonline.com/common в качестве конечной точки OAuth.

        Настройка проверки подлинности

        1. Если вы используете гостевую учетную запись Microsoft Entra ID B2B или Azure Databricks в Azure для государственных организаций, обратитесь к администратору, чтобы получить выделенное хранилище идентификаторов Microsoft Entra ID.

        Примечание.

        Если вы не являетесь администратором, отобразится ошибка Требуется утверждение администратора. Попросите администратора облачных приложений или администратора приложения предоставить вам разрешения на подключение к Tableau, а затем повторите вход.

        Если у вашей учетной записи идентификатора Microsoft Entra id включен рабочий процесс согласия администратора, Tableau Desktop предложит запросить доступ к Tableau. После того как администратор облачных приложений или администратор приложения утвердит запрос, повторите вход.

Подключение Desktop Tableau к Azure Databricks

Следуйте этим инструкциям, чтобы подключиться из Tableau Desktop к вычислительному ресурсу или хранилищу SQL.

Примечание.

Чтобы ускорить подключение к Tableau Desktop, используйте Partner Connect.

  1. Запустите Tableau Desktop.

  2. Выберите Файл > Создать.

  3. На вкладке Данные щелкните Подключиться к данным.

  4. В списке соединителей щелкните Databricks.

  5. Введите имя узла сервера и путь HTTP.

  6. Для проверки подлинности выберите метод проверки подлинности, введите учетные данные проверки подлинности и нажмите кнопку "Войти".

    • Чтобы использовать маркер идентификатора Microsoft Entra, выберите личный маркер доступа и введите маркер идентификатора Microsoft Entra для пароля.

    • Чтобы использовать личный маркер доступа Azure Databricks, выберите личный маркер доступа и введите личный маркер доступа для пароля.

    • Чтобы использовать учетные данные идентификатора Microsoft Entra, выберите идентификатор Microsoft Entra.

      Для Tableau Desktop 2021.1 и более поздних версий:

      • Если вы не используете идентификатор Microsoft Entra (ранее Azure Active Directory) гостевую учетную запись B2B или Azure Databricks в Azure для государственных организаций, можно просто ввести https://login.microsoftonline.com/common в качестве конечной точки OAuth.

        Настройка проверки подлинности

        • Если вы используете гостевую учетную запись Microsoft Entra ID B2B или Azure Databricks в Azure для государственных организаций, обратитесь к администратору, чтобы получить выделенное хранилище идентификаторов Microsoft Entra ID.

      Примечание.

      Если вы не являетесь администратором, отобразится ошибка Требуется утверждение администратора. Попросите администратора облачных приложений или администратора приложения предоставить вам разрешения на подключение к Tableau, а затем повторите вход.

      Если у вашей учетной записи идентификатора Microsoft Entra id включен рабочий процесс согласия администратора, Tableau Desktop предложит запросить доступ к Tableau. После того как администратор облачных приложений или администратор приложения утвердит запрос, повторите вход.

    Если для рабочей области включен каталог Unity, дополнительно задайте каталог по умолчанию. На вкладке Дополнительно в свойствах подключения добавьте Catalog=<catalog-name>. Чтобы изменить каталог по умолчанию, на вкладке Исходный SQL введите USE CATALOG <catalog-name>.

Подключение Tableau Cloud к Azure Databricks

Следуйте этим инструкциям, чтобы подключиться к вычислительному ресурсу или хранилищу SQL из Tableau Cloud.

  • Создание книги
  • В строке меню нажмите кнопку "Создать источник> данных".
  • На странице "Подключение к данным" щелкните Connectors Databricks>.
  • На странице Azure Databricks введите значения имени узла сервера и ПУТИ HTTP.
  • Выберите метод проверки подлинности и введите запрошенные сведения (если таковые есть).
  • Щелкните Sign In (Войти).

Tableau Server в Linux

Отредактируйте /etc/odbcinst.ini и введите следующее:

[Simba Spark ODBC Driver 64-bit]
Description=Simba Spark ODBC Driver (64-bit)
Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so

Примечание.

Для Tableau Server в Linux рекомендуется использовать 64-разрядную архитектуру обработки.

Публикация и обновление книги в Tableau Cloud из Tableau Desktop

В этой статье показано, как публиковать книгу из Tableau Desktop в Tableau Cloud и обновлять ее при изменении источника данных. Вам нужна книга в Tableau Desktop и учетной записи Tableau Cloud.

  1. Извлеките данные книги из Tableau Desktop: в Tableau Desktop с помощью книги, которую вы хотите опубликовать, щелкните "Извлечь данные".> <data-source-name> >
  2. В диалоговом окне Извлечение данных нажмите кнопку Извлечь.
  3. Перейдите к расположению на локальном компьютере, куда необходимо сохранить извлеченные данные, и нажмите кнопку Сохранить.
  4. Опубликуйте источник данных книги в Tableau Cloud: в Tableau Desktop щелкните "Сервер > опубликовать источник > <data-source-name>данных".
  5. Если откроется диалоговое окно входа в Tableau Server, щелкните ссылку Tableau Cloud и следуйте инструкциям на экране, чтобы войти в Tableau Cloud.
  6. В диалоговом окне "Публикация источника данных в Tableau Cloud" рядом с параметром "Обновить не включено", щелкните ссылку "Изменить".
  7. Во появившемся всплывающем окне в поле проверки подлинности вместо Обновление не включено выберите Разрешить доступ для обновления.
  8. Щелкните в любом месте за пределами этого всплывающего окна, чтобы скрыть его.
  9. Выберите Обновить книгу и использовать опубликованный источник данных.
  10. Нажмите кнопку Опубликовать. Источник данных отображается в Tableau Cloud.
  11. В Tableau Cloud в диалоговом окне "Завершение публикации" нажмите кнопку "Расписание" и следуйте инструкциям на экране.
  12. Опубликуйте книгу в Tableau Cloud: в Tableau Desktop с книгой, которую вы хотите опубликовать, щелкните "Опубликовать книгу сервера>".
  13. В диалоговом окне "Публикация книги в Tableau Cloud " нажмите кнопку "Опубликовать". Книга отображается в Tableau Cloud.

Tableau Cloud проверяет изменения источника данных в соответствии с заданным расписанием и обновляет опубликованную книгу при обнаружении изменений.

Дополнительные сведения см. на веб-сайте Tableau:

Рекомендации и устранение неполадок

Ниже описаны два фундаментальных действия для оптимизации запросов Tableau.

  • Сократите число записей, запрашиваемых и отображаемых на одной диаграмме или панели мониторинга.
  • Сократите число запросов, отправляемых Tableau на одной диаграмме или на панели мониторинга.

Выбор способа зависит от панели мониторинга. Если у вас несколько разных диаграмм для разных пользователей на одной панели мониторинга, скорее всего, Tableau отправляет в Azure Databricks слишком много запросов. Если у вас лишь пара диаграмм, но загрузка все равно занимает много времени, вероятно, количество возвращаемых в Azure Databricks записей слишком велико.

Функция записи производительности Tableau, доступная как в Tableau Desktop, так и в Tableau Server, поможет вам понять, где находятся узкие места с точки зрения производительности, определив процессы, вызывающие задержку при выполнении определенного рабочего процесса или панели мониторинга.

Включение записи производительности для отладки проблем Tableau

Например, если проблема возникнет при выполнении запроса, вы будете знать, что она связана с процессом подсистемы обработки данных или с источником данных, к которому выполняется запрос. Если задержка возникает в работе визуального макета, следует понимает, что проблема связана с VizQL.

Если запись производительности указывает, что задержка возникает при выполнении запроса, то, скорее всего, возврат результатов службой Azure Databricks или обработка данных в SQL для VizQL наложением ODBC/соединителя занимает слишком много времени. В этом случае следует проанализировать возвращаемые результаты и попытаться изменить аналитические алгоритмы таким образом, чтобы каждой группе, сегменту или позиции соответствовала отдельная панель мониторинга, а не пытаться собрать все в одну панель и использовать на ней быстрые фильтры.

Если низкая производительность вызвана сортировкой или визуальным макетом, то проблема может заключаться в количестве меток, которые пытается вернуть панель мониторинга. Azure Databricks позволяет быстро вернуть миллион записей, но у Tableau может не быть возможности обработать макет и отсортировать результаты. Если проблема заключается именно в этом, выполните статистическое вычисление запроса и детализацию до нижних уровней. Вы также можете попробовать увеличить мощность компьютера, так как работоспособность системы Tableau ограничена только физическими ресурсами машины, на которой она работает.

Подробное руководство по средству записи производительности см. в разделе Создание записи производительности.

Производительность Tableau Server и Tableau Desktop

Как правило, рабочий процесс, работающий в Tableau Desktop, не быстрее работает на сервере Tableau. Панель мониторинга, которая не выполняется в Tableau Desktop, не будет выполняться на сервере Tableau.

Использование desktop является гораздо лучшей методикой устранения неполадок, так как Tableau Server имеет больше процессов, которые следует учитывать при устранении неполадок. Если вещи работают в Tableau Desktop, но не в Tableau Server, вы можете безопасно сузить проблему до процессов в Tableau Server, которые не указаны в Tableau Desktop.

Настройка

По умолчанию параметры из URL-адреса соединения имеют приоритет над параметрами DSN для Simba ODBC. Настроить конфигурацию ODBC из Tableau можно двумя способами.

  • Файл .tds для одного источника данных:

    1. С помощью инструкций в разделе Сохранение источников данных экспортируйте файл .tds для источника данных.
    2. Найдите строку свойств odbc-connect-string-extras='' в файле .tds и задайте параметры. Например, чтобы включить AutoReconnect и UseNativeQuery, можно изменить строку на odbc-connect-string-extras='AutoReconnect=1,UseNativeQuery=1'.
    3. Перезагрузите файл .tds, повторно установив соединение.

    Вычислительный ресурс оптимизирован таким образом, чтобы использовать меньше памяти из кучи для получения большего объема результатов, поэтому он способен обрабатывать больше строк на один блок извлечения, чем значение по умолчанию в Simba ODBC. Добавьте RowsFetchedPerBlock=100000' к значению свойства odbc-connect-string-extras.

  • Файл .tdc для всех источников данных:

    1. Если файл .tdc еще не создан, можно добавить файл TableauTdcExample.tdc в папку Document/My Tableau Repository/Datasources.
    2. Добавьте файл в установленные экземпляры Tableau Desktop всех разработчиков, чтобы он применялся при совместном использовании панелей мониторинга.

Оптимизация диаграмм (листов)

Существует ряд тактических оптимизаций диаграмм, которые помогут повысить производительность листов Tableau.

В качестве фильтров, которые меняются не слишком часто и не являются интерактивными, используйте фильтры контекста, которые сокращают время выполнения. Еще одно хорошее правило — использовать в запросах инструкции if/else вместо инструкций case/when.

Tableau может отправлять фильтры в источники данных, что может повысить скорость запросов. Дополнительные сведения о фильтрах отправки источников данных см. в разделах Фильтрация по нескольким источникам данных с помощью параметра и Фильтрация данных по нескольким источникам.

Старайтесь избежать вычислений таблиц, так как они сканируют полный набор данных. Дополнительные сведения о табличных вычислениях см. в разделе Преобразование значений с помощью табличных вычислений.

Оптимизация панелей мониторинга

Ниже приведены некоторые советы и упражнения по устранению неполадок, которые можно применить для повышения производительности панели мониторинга Tableau.

С помощью панелей мониторинга Tableau, подключенных к Azure Databricks, быстрые фильтры на отдельных панелях мониторинга, обслуживающих ряд различных пользователей, функций или сегментов, могут быть общим источником проблем. Вы можете подключить быстрые фильтры ко всем диаграммам на панели мониторинга. Один быстрый фильтр на панели мониторинга с пятью диаграммами приводит к отправке не менее 10 запросов в Azure Databricks. Это может увеличиться до большего числа при добавлении дополнительных фильтров, и это может привести к проблемам с производительностью, так как Spark не создается для обработки множества одновременных запросов, начиная с одного и того же момента. Это становится более проблематичным, если кластер Azure Databricks или хранилище SQL, который вы используете, недостаточно велик для обработки большого объема запросов.

Для начала рекомендуется включить запись производительности Tableau для поиска потенциальной причины проблемы.

Если низкая производительность вызвана сортировкой или визуальным макетом, то проблема может заключаться в количестве меток, которые пытается вернуть панель мониторинга. Azure Databricks позволяет быстро вернуть миллион записей, но у Tableau может не быть возможности обработать макет и отсортировать результаты. Если проблема заключается именно в этом, выполните статистическое вычисление запроса и детализацию до нижних уровней. Вы также можете попробовать увеличить мощность компьютера, так как работоспособность системы Tableau ограничена только физическими ресурсами машины, на которой она работает.

Сведения о детализации в Tableau см. в разделе Подробная детализация.

Отслеживание большого количества детальных меток часто является неудачным способом анализа, так как не предоставляет необходимых полезных сведений. Детализация с более высоких уровней статистической обработки более обоснованна, позволяя сократить число записей, требующих обработки и визуализации.

Использование действий для оптимизации панелей мониторинга

Используйте Tableau _actions, чтобы щелкнуть отметку (например, состояние на карте) и отправиться на другую панель мониторинга, которая фильтруется на основе выбранного состояния. Это сокращает потребность в нескольких фильтрах на одной панели мониторинга и уменьшает количество записей, которые необходимо создать. (Вы устанавливаете действие, чтобы не создавать записи, пока он не получит предикат для фильтрации.

Дополнительные сведения см. в статьях Действия и Шесть советов по повышению производительности панелей мониторинга.

Кэширование

Кэширование данных — это хороший способ повысить производительность листов и панелей мониторинга.

Кэширование в Tableau

Tableau использует четыре уровня кэширования, прежде чем обращаться к текущим данным (из динамического соединения или ранее извлеченного набора):

  • Плитки: если кто-то загружает ту же панель мониторинга и ничего не изменяет, Tableau пытается повторно использовать те же плитки для диаграмм. Это аналогично плиткам Google Карт.
  • Модель: существуют математические вычисления для создания визуализаций в случае, если использовать плитки нельзя. Сервер Tableau Server пытается использовать те же модели.
  • Выдержка: результаты статистической обработки запросов также сохраняются. Это третий уровень "защиты". Если запрос возвращает сумму продаж, чисто заказов и сумму затрат, а следующему запросу нужна только сумма затрат, Tableau извлекает результат и использует его.
  • Собственный кэш: если запрос точно совпадает с другим, Tableau использует те же результаты. Это последний уровень кэширования. Если кэширование на срабатывает, Tableau обращается к данным.

Частота кэширования в Tableau

Tableau имеет административные параметры для кэширования более или менее часто. Если для сервера настроено менее частое обновление, Tableau хранит данные в кэше до 12 часов. Если установлено более частое обновление, Tableau обращается к данным при каждом обновлении страницы.

Клиенты, которые используют одну и ту же панель мониторинга (например, "Отчеты конвейеров на утро понедельника"), должны работать с сервером, для которого настроено более редкое обновление, чтобы все панели использовали один кэш.

Потепление кэша в Tableau

В Tableau можно разогреть кэш, задав подписку для отправки панели мониторинга перед просмотром панели мониторинга. Это связано с тем, что панель мониторинга должна отображаться для создания образа для электронной почты подписки. См. раздел Прогрев кэша сервера Tableau с помощью подписок.

Tableau Desktop: отображается ошибка The drivers... are not properly installed

Вопрос: при попытке подключить Tableau Desktop к Databricks система Tableau отображает в диалоговом окне подключения сообщение об ошибке со ссылкой на страницу скачивания драйвера, где можно найти ссылки на драйверы и инструкции по установке.

Причина: в вашем экземпляре Tableau Desktop не запущен поддерживаемый драйвер.

Решение: скачайте драйвер ODBC для Databricks версии 2.6.15 или более поздней.

См. также: ошибка "Драйверы... не установлены должным образом" на веб-сайте Tableau.

Ограничения первичного и внешнего ключа

Для распространения ограничений первичного ключа (PK) и внешнего ключа (FK) из Azure Databricks в Tableau необходимо понимать возможности и ограничения обоих платформ в отношении ограничений.

Общие сведения о ограничениях Azure Databricks

Azure Databricks поддерживает ограничения первичных и внешних ключей, начиная с Databricks Runtime 15.2. Эти ограничения являются информационными и не применяются по умолчанию, то есть они не препятствуют нарушениям целостности данных, но могут использоваться для оптимизации запросов и предоставления метаданных о отношениях данных. См. раздел "Объявление первичных ключей" и связей внешнего ключа.

Общие сведения о tableau используют ограничения для создания связей таблиц

Tableau не применяет ограничения первичного и внешнего ключа напрямую, но использует связи для моделирования подключений к данным. Чтобы работать с ограничениями в Tableau, необходимо понимать, что модель данных Tableau предлагает два уровня моделирования: логический слой и физический уровень. См . модель данных Tableau. Последствия этой двухуровневой модели данных для ограничений Azure Databricks, которые распознаются как связи в Tableau, рассматриваются ниже.

Подключение Azure Databricks к Tableau

При подключении Azure Databricks к Tableau Tableau tableau пытается создать связи на физическом уровне между таблицами на основе существующих ограничений ключей и сопоставлений полей. Tableau автоматически пытается обнаружить и создать связи на физическом уровне на основе ограничений первичного и внешнего ключа, определенных в Azure Databricks. Если ограничения ключей не определены, Tableau использует соответствующие имена столбцов для автоматического создания соединений. На логическом уровне для определения связи используются только совпадения имен с одним столбцом. На физическом уровне это имя столбца обнаруживает простые (один столбец) и составные (многоколоночные) связи.

Если Tableau не может определить соответствующие поля, необходимо вручную указать связь соединения между двумя таблицами на физическом уровне, указав столбцы, условие и тип ограничения. Чтобы перейти от логического слоя в пользовательском интерфейсе к физическому уровню, дважды щелкните таблицу в логическом слое.

Дополнительные ресурсы