Подключение 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
Сведения о подключении для вычислительного ресурса или хранилища SQL, в частности имя узла сервера
и пути HTTP . - Сведения о подключении Get для вычислительного ресурса Azure Databricks.
Tableau Desktop 2019.3 или более поздней версии.
Драйвер ODBC для Databricks 2.6.15 или более поздней версии.
токен Microsoft Entra ID (ранее Azure Active Directory) (рекомендуется), персональный токен доступа Azure Databricksили credentialsучетная запись Microsoft Entra ID.
Примечание.
В качестве рекомендации по обеспечению безопасности при проверке подлинности с помощью автоматизированных средств, систем, сценариев и приложений Databricks рекомендуется использовать личные маркеры доступа, принадлежащие субъектам-службам, а не пользователям рабочей области. Сведения о создании маркеров для субъектов-служб см. в разделе "Управление маркерами" для субъекта-службы.
Необходимо назначить одну из следующих ролей идентификатора Microsoft Entra ID:
Если настроен рабочий процесс предоставления согласия администратора, пользователи, не являющиеся администраторами, могут запросить доступ к Tableau при входе.
Подключение Azure Databricks к Tableau Desktop с помощью Partner Connect
Вы можете использовать Partner Connect для подключения вычислительного ресурса или хранилища SQL к Tableau Desktop всего за несколько щелчков мыши.
- Убедитесь, что учетная запись Azure Databricks, рабочая область и пользователь, выполнивший вход, соответствуют требованиям для Partner Connect.
- На боковой панели нажмите кнопку Partner Connect.
- Щелкните плитку Tableau.
- В диалоговом окне Подключение к партнеру для параметра Вычислительная среда выберите имя вычислительного ресурса Azure Databricks, который требуется подключить.
- Выберите Скачать файл подключения.
- Откройте скачанный файл подключения, который запустит Tableau Desktop.
- В Tableau Desktop введите данные для аутентификации credentials, а затем щелкните Войти:
- Чтобы использовать маркер идентификатора Microsoft Entra, введите маркер имени пользователя и маркер идентификатора Microsoft Entra для пароля.
- Чтобы использовать личный маркер доступа Azure Databricks, введите маркер имени пользователя и личный маркер доступа для пароля.
- Чтобы использовать Microsoft Entra ID credentials, нажмите Редактировать подключение, дважды щелкните по базе данных на вкладке Данные, затем selectMicrosoft Entra ID в Аутентификацияlist.
Для 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.
Примечание.
Если вы не являетесь администратором, отобразится ошибка Требуется утверждение администратора. Попросите администратора облачных приложений или администратора приложений grant разрешение на подключение к Tableau, а затем повторите вход.
Если у учетной записи Microsoft Entra ID включен рабочий процесс согласования администратора, Tableau Desktop предложит вам запросить доступ к Tableau. После того как администратор облачного приложения или администратор приложений утвердит запрос, повторите вход.
- Если вы не используете идентификатор Microsoft Entra (ранее Azure Active Directory) гостевую учетную запись B2B или Azure Databricks в Azure для государственных организаций, можно просто ввести
Подключение Desktop Tableau к Azure Databricks
Следуйте этим инструкциям, чтобы подключиться из Tableau Desktop к вычислительному ресурсу или хранилищу SQL.
Примечание.
Чтобы ускорить подключение к Tableau Desktop, используйте Partner Connect.
Запустите Tableau Desktop.
Выберите Файл > Создать.
На вкладке Данные щелкните Подключиться к данным.
В list соединителей щелкните Databricks.
Введите имя узла сервера и путь HTTP.
Для проверки подлинностивыберите метод проверки подлинности, введите данные для credentials, а затем щелкните Войти.
Чтобы использовать маркер идентификатора Microsoft Entra, введите selectЛичный маркер доступа и маркер идентификатора Microsoft Entra для пароля.
Чтобы использовать персональный токен доступа Azure Databricks, selectперсональный токен доступа и введите ваш персональный токен доступа в поле Пароль.
Чтобы использовать ваш Microsoft Entra ID credentials, select,и.
Для 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.
Примечание.
Если вы не являетесь администратором, отобразится ошибка Требуется утверждение администратора. Попросите администратора облачных приложений или администратора приложения grant разрешения на подключение к Tableau, а затем повторите вход.
Если у вашей учетной записи идентификатора Microsoft Entra id включен рабочий процесс согласия администратора, Tableau Desktop предложит запросить доступ к Tableau. После того как администратор облачных приложений или администратор приложения утвердит запрос, повторите вход.
Если для рабочей области включена Unity Catalog, дополнительно set значение catalogпо умолчанию. На вкладке Дополнительно в свойствах подключения добавьте
Catalog=<catalog-name>
. Чтобы изменить catalogпо умолчанию, на вкладке Initial SQL введитеUSE CATALOG <catalog-name>
.
Подключение Tableau Cloud к Azure Databricks
Следуйте этим инструкциям, чтобы подключиться к вычислительному ресурсу или хранилищу SQL из Tableau Cloud.
- Создание книги
- В строке меню нажмите кнопку "Создать источник> данных".
- На странице "Подключение к данным" щелкните Connectors Databricks>.
- На странице Azure Databricks введите имя узла сервера и путь HTTPvalues.
- Select введите ваш метод проверки подлинности и запрошенные сведения (если таковые есть).
- Щелкните 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-разрядную архитектуру обработки.
Опубликовать и refresh рабочую книгу в Tableau Cloud из Tableau Desktop
В этой статье показано, как публиковать книгу из Tableau Desktop в Tableau Cloud и обновлять ее при изменении источника данных. Вам нужна книга в Tableau Desktop и учетной записи Tableau Cloud.
- Извлеките данные книги из Tableau Desktop: в Tableau Desktop с помощью книги, которую вы хотите опубликовать, щелкните ">
- В диалоговом окне Извлечение данных нажмите кнопку Извлечь.
- Перейдите к расположению на локальном компьютере, where хотите сохранить извлеченные данные, а затем нажмите кнопку Сохранить.
- Опубликуйте источник данных книги в Tableau Cloud: в Tableau Desktop щелкните "Сервер > опубликовать источник >
<data-source-name>
данных". - Если откроется диалоговое окно входа в Tableau Server, щелкните ссылку Tableau Cloud и следуйте инструкциям на экране, чтобы войти в Tableau Cloud.
- В диалоговом окне Публикация источника данных в Tableau Cloud рядом с Refresh Не включенонажмите ссылку «Изменить».
- Во всплывающем окне, отображаемом для проверки подлинности, измените Refresh не активировано на Разрешить refresh доступ.
- Щелкните в любом месте за пределами этого всплывающего окна, чтобы скрыть его.
- Select Update книгу для использования опубликованного источника данных.
- Нажмите кнопку Опубликовать. Источник данных отображается в Tableau Cloud.
- В Tableau Cloud в диалоговом окне "Завершение публикации" нажмите кнопку "Расписание" и следуйте инструкциям на экране.
- Опубликуйте книгу в Tableau Cloud: в Tableau Desktop с книгой, которую вы хотите опубликовать, щелкните > сервера".
- В диалоговом окне "Публикация книги в Tableau Cloud " нажмите кнопку "Опубликовать". Книга отображается в Tableau Cloud.
Tableau Cloud проверяет изменения источника данных в соответствии с расписанием setи обновляет опубликованную рабочую книгу при обнаружении изменений.
Дополнительные сведения см. на веб-сайте Tableau:
- Публикация источника данных
- Подробные инструкции по публикации книги
- Планирование обновления извлечения при публикации книги
Рекомендации и устранение неполадок
Два основных действия в запросах Tableau optimize:
- Сократите число записей, запрашиваемых и отображаемых на одной диаграмме или панели мониторинга.
- Сократите число запросов, отправляемых Tableau на одной диаграмме или на панели мониторинга.
Выбор способа зависит от панели мониторинга. Если у вас несколько разных диаграмм для разных пользователей на одной панели мониторинга, скорее всего, Tableau отправляет в Azure Databricks слишком много запросов. Если у вас лишь пара диаграмм, но загрузка все равно занимает много времени, вероятно, количество возвращаемых в Azure Databricks записей слишком велико.
Запись производительности Tableau, доступная как в Tableau Desktop, так и на сервере Tableau, помогает определить узкие места производительности, определив процессы, которые вызывают задержку при выполнении определенного рабочего процесса или панели мониторинга.
Включение записи производительности для отладки проблем Tableau
Например, если проблема возникнет при выполнении запроса, вы будете знать, что она связана с процессом подсистемы обработки данных или с источником данных, к которому выполняется запрос. Если задержка возникает в работе визуального макета, следует понимает, что проблема связана с VizQL.
Если запись производительности указывает на то, что задержка происходит в выполняемом запросе, скорее всего, слишком много времени уходит на возврат результатов Azure Databricks или на обработку данных коннектором ODBC в SQL для VizQL. В этом случае следует проанализировать возвращаемые результаты и попытаться изменить аналитические алгоритмы таким образом, чтобы каждой группе, сегменту или позиции соответствовала отдельная панель мониторинга, а не пытаться собрать все в одну панель и использовать на ней быстрые фильтры.
Если низкая производительность вызвана сортировкой или визуальным макетом, то проблема может заключаться в количестве меток, которые пытается вернуть панель мониторинга. 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.
Настройка
По умолчанию параметры parameters из URL-адреса подключения переопределяют параметры в DSN Simba ODBC. Настроить конфигурацию ODBC из Tableau можно двумя способами.
Файл
.tds
для одного источника данных:- С помощью инструкций в разделе Сохранение источников данных экспортируйте файл
.tds
для источника данных. - Найдите строку свойства
odbc-connect-string-extras=''
в файле.tds
и setparameters. Например, чтобы включитьAutoReconnect
иUseNativeQuery
, можно изменить строку наodbc-connect-string-extras='AutoReconnect=1,UseNativeQuery=1'
. - Перезагрузите файл
.tds
, повторно установив соединение.
Вычислительный ресурс оптимизирован таким образом, чтобы использовать меньше памяти из кучи для получения большего объема результатов, поэтому он способен обрабатывать больше строк на один блок извлечения, чем значение по умолчанию в Simba ODBC. Добавьте
RowsFetchedPerBlock=100000'
к значению свойстваodbc-connect-string-extras
.- С помощью инструкций в разделе Сохранение источников данных экспортируйте файл
Файл
.tdc
для всех источников данных:- Если файл
.tdc
еще не создан, можно добавить файл TableauTdcExample.tdc в папкуDocument/My Tableau Repository/Datasources
. - Добавьте файл в установленные экземпляры Tableau Desktop всех разработчиков, чтобы он применялся при совместном использовании панелей мониторинга.
- Если файл
Optimize диаграммы (рабочие листы)
Существует ряд тактических оптимизаций диаграмм, которые помогут повысить производительность листов Tableau.
В качестве фильтров, которые меняются не слишком часто и не являются интерактивными, используйте фильтры контекста, которые сокращают время выполнения.
Еще одно хорошее правило — использовать в запросах инструкции if/else
вместо инструкций case/when
.
Tableau может отправлять фильтры в источники данных, что может повысить скорость запросов. Дополнительные сведения о фильтрации с выталкиванием по нескольким источникам данных см. в статьях Фильтрация по нескольким источникам данных с помощью параметра и Фильтрация данных по нескольким источникам данных.
Старайтесь избегать вычислений table, так как они просматривают весь набор данных. Для получения дополнительной информации о вычислениях table см. преобразование Values с вычислениями Table.
панели мониторинга Optimize
Ниже приведены некоторые советы и упражнения по устранению неполадок, которые можно применить для повышения производительности панели мониторинга Tableau.
С помощью панелей мониторинга Tableau, подключенных к Azure Databricks, быстрые фильтры на отдельных панелях мониторинга, обслуживающих ряд различных пользователей, функций или сегментов, могут быть общим источником проблем. Вы можете подключить быстрые фильтры ко всем диаграммам на панели мониторинга. Один быстрый фильтр на панели мониторинга с пятью диаграммами приводит к отправке не менее 10 запросов в Azure Databricks. Это может увеличиться до большего числа при добавлении дополнительных фильтров, и это может привести к проблемам с производительностью, так как Spark не создается для обработки множества одновременных запросов, начиная с одного и того же момента. Это становится более проблематичным, если кластер Azure Databricks или хранилище SQL, который вы используете, недостаточно велик для обработки большого объема запросов.
Для начала рекомендуется включить запись производительности Tableau для поиска потенциальной причины проблемы.
Если низкая производительность вызвана сортировкой или визуального макета, проблема может заключаться в количестве меток, которые панель мониторинга пытается вернуть. Azure Databricks позволяет быстро вернуть миллион записей, но у Tableau может не быть возможности обработать макет и отсортировать результаты. Если проблема заключается именно в этом, выполните статистическое вычисление запроса и детализацию до нижних уровней. Вы также можете попробовать больший компьютер, так как Tableau ограничен только физическими ресурсами на компьютере, на котором он работает.
Сведения о детализации в Tableau см. в разделе Подробная детализация.
Если вы видите много детализированных меток, это часто плохой аналитический шаблон, так как он не предоставляет аналитических сведений. Детализация с более высоких уровней агрегирования более логична и уменьшает количество записей, которые необходимо обработать и визуализировать.
Использование действий для optimize панелей мониторинга
Используйте tableau _actions, чтобы щелкнуть отметку (например, состояние на карте) и отправиться на другую панель мониторинга, которая фильтруется на основе выбранного состояния. Использование _actions снижает потребность в нескольких фильтрах на одной панели мониторинга и количестве записей, которые необходимо создать. (Вы задаете действие для неgenerate записей, пока он не получит предикат для фильтрации.
Дополнительные сведения см. в статьях Действия и Шесть советов по повышению производительности панелей мониторинга.
Кэширование
Кэширование данных — это хороший способ повысить производительность листов и панелей мониторинга.
Кэширование в Tableau
Tableau использует четыре уровня кэширования, прежде чем обращаться к текущим данным (из динамического соединения или ранее извлеченного набора):
- тайлы: если кто-то загружает ту же самую панель мониторинга и ничего не меняется, Tableau пытается повторно использовать те же тайлы для диаграмм. Это аналогично плиткам Google Карт.
- модель: если кэш плиток нельзя использовать, кэш модели математических вычислений используется для визуализаций generate. Сервер Tableau Server пытается использовать те же модели.
- Выдержка: результаты статистической обработки запросов также сохраняются. Это третий уровень "защиты". Если запрос возвращает сумму продаж, чисто заказов и сумму затрат, а следующему запросу нужна только сумма затрат, Tableau извлекает результат и использует его.
- собственный кэш: если запрос совпадает с другим, Tableau использует те же результаты. Это последний уровень кэширования. Если это не удается, Tableau переходит к данным.
Частота кэширования в Tableau
Tableau имеет административные параметры для кэширования более или менее часто. Если сервер set до Refresh работает реже, Tableau хранит данные в кэше до 12 часов. Если сервер переходит с set на Refresh чаще, Tableau возвращает данные на каждой странице refresh.
Клиенты, которые неоднократно используют одну и ту же панель мониторинга, например "Отчеты конвейера понедельника утром", должны находиться на сервере set, чтобы Refresh менее часто, чтобы панели мониторинга использовали один и тот же кэш.
Потепление кэша в Tableau
В Tableau можно прогреть кэш, настроив подписку для панели мониторинга, которую нужно отправить перед просмотром панели мониторинга. Для изображения электронной почты подписки, панель мониторинга должна отображаться на generate. См. Предварительная подготовка кэша сервера Tableau с помощью подписок.
Tableau Desktop: ошибка The drivers... are not properly installed
проблема. При попытке подключить Tableau Desktop к Databricks Tableau отображает сообщение об ошибке в диалоговом окне подключения со ссылкой на страницу загрузки драйвера. where вы можете найти ссылки на драйверы и инструкции по установке.
Причина: в вашем экземпляре Tableau Desktop не запущен поддерживаемый драйвер.
Решение: скачайте драйвер ODBC для Databricks версии 2.6.15 или более поздней.
См. также: ошибка "Драйверы... не установлены должным образом" на веб-сайте Tableau.
Ограничения первичного и внешнего ключа
Для распространения ограничений первичного ключа (PK) и внешнего ключа (FK) из Azure Databricks в Tableau необходимо понимать возможности и ограничения обоих платформ в отношении ограничений.
Общие сведения о ограничениях Azure Databricks
Azure Databricks поддерживает ограничения первичных и внешних ключей, начиная с Databricks Runtime 15.2. Эти ограничения являются информационными и не применяются по умолчанию, то есть они не предотвращают нарушения целостности данных, но могут использоваться для optimize запросов и предоставления метаданных о связях данных. См. раздел "Объявление первичных ключей" и связей внешнего ключа.
Понимание Tableau использует ограничения для создания отношений table.
Tableau не применяет ограничения первичного и внешнего ключа напрямую. Вместо этого Tableau использует связи для моделирования данных connections. Чтобы работать с ограничениями в Tableau, необходимо понимать, что модель данных Tableau предлагает два уровня моделирования: логический слой и физический уровень. См . модель данных Tableau. Последствия этой двухуровневой модели данных для ограничений Azure Databricks, которые распознаются как связи в Tableau, рассматриваются ниже.
Подключение Azure Databricks к Tableau
При подключении Azure Databricks к Tableau, Tableau пытается установить отношения на физическом уровне на основе существующих ограничений ключей и соответствующих полей между tables. Tableau автоматически пытается обнаружить и создать связи на физическом уровне на основе ограничений первичного и внешнего ключа, определенных в Azure Databricks. Если ограничения ключей не определены, Tableau использует соответствующие имена column для автоматического соединенияgenerate. На логическом уровне для определения связи используются только совпадения имен с одним номеромcolumn. На физическом уровне это column сопоставление имен обнаруживает как простые (одно-column), так и составные (много-column) связи ключей.
Если Tableau не может определить соответствующие поля, необходимо вручную указать связь join между двумя tables на физическом уровне, задав columns, условие и тип constraint. Чтобы перейти от логического слоя в пользовательском интерфейсе к физическому уровню, дважды щелкните table на логическом уровне.