Подключение 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 Cloud с Azure Databricks
При использовании Azure Databricks в качестве источника данных в Tableau Cloud можно создавать источники данных Tableau из таблиц или схем непосредственно из пользовательского интерфейса Databricks.
Требования
- Данные должны находиться в каталоге Unity, а вычислительные ресурсы (кластер) должны быть включены в каталог Unity. Хранилище метаданных Hive в настоящее время не поддерживается.
Публикация таблиц Azure Databricks в Tableau Cloud
- Войдите в рабочую область Databricks и щелкните
"Каталог " на боковой панели, чтобы открыть обозреватель каталогов.
- Выберите вычислительный ресурс в раскрывающемся списке в правом верхнем углу.
- Откройте каталог и выберите схему или таблицы для публикации. Не выбирайте из хранилища метаданных hive или каталога примеров.
- В правом верхнем углу щелкните "Использовать с инструментами бизнес-аналитики" для схемы или "Открыть на панели мониторинга " для таблицы.
- Выберите Обзор в Tableau Cloud.
- Убедитесь, что нужны вычислений и опубликовать данных, а затем нажмите кнопку Исследовать в Tableau Cloud.
- Через 10–20 секунд на новой вкладке появится запрос на вход в учетную запись Tableau Cloud.
- После входа на страницу Tableau появится запрос на вход в Azure Databricks.
- После входа в Azure Databricks можно начать создание панели мониторинга на странице редактора книги.
- Вы также можете нажать кнопку Открыть в Tableau Cloud, чтобы открыть рабочую книгу в облаке Tableau.
Функции и заметки
- Можно опубликовать таблицу или схему. При публикации схемы необходимо выбрать таблицу на панели источника данных Tableau.
- Databricks применяет OAuth в качестве режима проверки подлинности при публикации в Tableau Cloud.
- Опубликованный источник данных находится в режиме черновика и не сохраняется нигде, необходимо сохранить его из Tableau Cloud, чтобы сделать его доступным для других пользователей.
- Ссылка перенаправления, возвращаемая Tableau, истекает примерно через 5 минут.
Требования к подключению Tableau и Azure Databricks
Сведения о подключении для вычислительного ресурса или хранилища SQL, в частности значения имени узла сервера и значениях пути HTTP.
Tableau Desktop 2019.3 или более поздней версии.
Драйвер ODBC для Databricks 2.6.15 или более поздней версии.
маркер маркера Microsoft Entra ID (ранее Azure Active Directory), личного маркера доступа Azure Databricks или учетные данные учетной записи идентификатора Microsoft Entra.Примечание.
В качестве рекомендации по обеспечению безопасности при проверке подлинности с помощью автоматизированных средств, систем, сценариев и приложений Databricks рекомендуется использовать личные маркеры доступа, принадлежащие субъектам-службам, а не пользователям рабочей области. Сведения о создании маркеров для субъектов-служб см. в разделе "Управление маркерами" для субъекта-службы.
Необходимо назначить одну из следующих ролей идентификатора Microsoft Entra ID:
Если настроен рабочий процесс предоставления согласия администратора, пользователи, не являющиеся администраторами, могут запросить доступ к Tableau при входе.
Подключение Azure Databricks к Tableau Desktop с помощью Partner Connect
Вы можете использовать Partner Connect для подключения вычислительного ресурса или хранилища SQL к Tableau Desktop всего за несколько щелчков мыши.
- Убедитесь, что учетная запись Azure Databricks, рабочая область и пользователь, выполнивший вход, соответствуют требованиям для Partner Connect.
- На боковой панели щелкните значок
Marketplace.
- В разделе интеграции Partner Connectщелкните Просмотреть все.
- Щелкните плитку Tableau.
- В диалоговом окне Подключение к партнеру для параметра Вычислительная среда выберите имя вычислительного ресурса Azure Databricks, который требуется подключить.
- Выберите Скачать файл подключения.
- Откройте скачанный файл подключения, который запустит Tableau Desktop.
- В Tableau Desktop введите учетные данные проверки подлинности и нажмите кнопку Войти:
- Чтобы использовать маркер идентификатора Microsoft Entra, введите маркер имени пользователя и маркер идентификатора Microsoft Entra для пароля.
- Чтобы использовать личный маркер доступа Azure Databricks, введите маркер имени пользователя и личный маркер доступа для пароля.
- Чтобы использовать учетные данные идентификатора Microsoft Entra ID, щелкните
изменить подключения, дважды щелкните базу данных на вкладке данныхи выберите идентификатор Microsoft Entra ID в списке проверки подлинностипроверки подлинности. Для 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. После того как администратор облачного приложения или администратор приложений утвердит запрос, повторите вход.
- Если вы не используете идентификатор Microsoft Entra (ранее Azure Active Directory) гостевую учетную запись B2B или Azure Databricks в Azure для государственных организаций, можно просто ввести
Подключение Desktop Tableau к Azure Databricks
Следуйте этим инструкциям, чтобы подключиться из Tableau Desktop к вычислительному ресурсу или хранилищу SQL.
Примечание.
Чтобы ускорить подключение к Tableau Desktop, используйте Partner Connect.
Запустите Tableau Desktop.
Выберите Файл > Создать.
На вкладке Данные щелкните Подключиться к данным.
В списке коннекторов щелкните Databricks.
Введите имя узла сервера и путь HTTP.
Для проверки подлинностивыберите метод, введите свои учетные данные и щелкните войти в систему.
Чтобы использовать токен Microsoft Entra ID, выберите персональный токен доступа и введите токен Microsoft Entra ID в качестве пароля.
Чтобы использовать персональный токен доступа Azure Databricks, выберите Персональный токен доступа и введите персональный токен доступа для Пароль.
Чтобы использовать ваши учетные данные Microsoft Entra ID, выберите Microsoft Entra ID.
Для 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>
. Чтобы изменить каталог по умолчанию, на вкладке Initial 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.
- Извлеките данные книги из Tableau Desktop: в Tableau Desktop с помощью книги, которую вы хотите опубликовать, щелкните ">
- В диалоговом окне Извлечение данных нажмите кнопку Извлечь.
- Перейдите в местоположение на локальном компьютере, где вы хотите сохранить извлеченные данные, а затем щелкните Сохранить.
- Опубликуйте источник данных книги в Tableau Cloud: в Tableau Desktop щелкните "Сервер > опубликовать источник >
<data-source-name>
данных". - Если откроется диалоговое окно входа в Tableau Server, щелкните ссылку Tableau Cloud и следуйте инструкциям на экране, чтобы войти в Tableau Cloud.
- В диалоговом окне Публикация источника данных в Tableau Cloud рядом с Обновление не включенонажмите ссылку Изменить.
- Во всплывающем окне, отображаемом для проверки подлинностиизмените обновление не разрешено на разрешить доступ к обновлению.
- Щелкните в любом месте за пределами этого всплывающего окна, чтобы скрыть его.
- Выберите «Обновить книгу» , чтобы использовать опубликованный источник данных.
- Нажмите кнопку Опубликовать. Источник данных отображается в Tableau Cloud.
- В Tableau Cloud в диалоговом окне "Завершение публикации" нажмите кнопку "Расписание" и следуйте инструкциям на экране.
- Опубликуйте книгу в Tableau Cloud: в Tableau Desktop с книгой, которую вы хотите опубликовать, щелкните > сервера".
- В диалоговом окне "Публикация книги в Tableau Cloud " нажмите кнопку "Опубликовать". Книга отображается в Tableau Cloud.
Tableau Cloud проверяет изменения источника данных в соответствии с заданным расписанием и обновляет опубликованную книгу при обнаружении изменений.
Дополнительные сведения см. на веб-сайте Tableau:
- Публикация источника данных
- Подробные инструкции по публикации книги
- Планирование обновления извлечения при публикации книги
Рекомендации и устранение неполадок
Ниже приведены два основных действия по оптимизации запросов Tableau:
- Сократите число записей, запрашиваемых и отображаемых на одной диаграмме или панели мониторинга.
- Сократите число запросов, отправляемых 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.
Настройка
По умолчанию параметры из URL-адреса подключения имеют приоритет над параметрами в DBS Simba ODBC. Настроить конфигурацию ODBC из Tableau можно двумя способами.
Файл
.tds
для одного источника данных:- С помощью инструкций в разделе Сохранение источников данных экспортируйте файл
.tds
для источника данных. - Найдите строку свойства
odbc-connect-string-extras=''
в файле.tds
и задайте параметры. Например, чтобы включить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 всех разработчиков, чтобы он применялся при совместном использовании панелей мониторинга.
- Если файл
Оптимизация диаграмм (листов)
Существует ряд тактических оптимизаций диаграмм, которые помогут повысить производительность листов 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, чтобы щелкнуть отметку (например, состояние на карте) и отправиться на другую панель мониторинга, которая фильтруется на основе выбранного состояния. Использование _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 предлагает два уровня моделирования: логический слой и физический уровень. См . модель данных Tableau. Последствия этой двухуровневой модели данных для ограничений Azure Databricks, которые распознаются как связи в Tableau, рассматриваются ниже.
Подключение Azure Databricks к Tableau
При подключении Azure Databricks к Tableau, Tableau пытается установить связи на физическом уровне между таблицами на основе существующих ограничений ключей и совпадающих полей. Tableau автоматически пытается обнаружить и создать связи на физическом уровне на основе ограничений первичного и внешнего ключа, определенных в Azure Databricks. Если ограничения ключей не определены, Tableau использует соответствующие имена столбцов для автоматического создания соединений. На логическом уровне для определения связи используются только совпадения названий одного столбца. На физическом уровне это сопоставление имен столбцов обнаруживает как простые (одноколоночные), так и составные (многоколонные) связи.
Если Tableau не может определить соответствующие поля, необходимо вручную указать связь соединения между двумя таблицами на физическом уровне, указав столбцы, условие и тип ограничения. Чтобы перейти от логического слоя в пользовательском интерфейсе к физическому уровню, дважды щелкните таблицу в логическом слое.