Исходный код вики 01. Данные, таблицы и дашборды
Версия 55.1 от Ирина Сафонова на 31.10.2023, 16:11
Последние авторы
author | version | line-number | content |
---|---|---|---|
1 | {{box cssClass="floatinginfobox" title="**Содержание**"}} | ||
2 | {{toc/}} | ||
3 | {{/box}} | ||
4 | |||
5 | (% data-xwiki-non-generated-content="java.util.List" %) | ||
6 | ((( | ||
7 | = Можно ли получить доступ к нескольким таблицам одновременно? = | ||
8 | ))) | ||
9 | |||
10 | ---- | ||
11 | |||
12 | **Ответ:** можно, но только не в режиме поиска данных или интерфейсе визуализации. [[Лаборатория SQL>>https://wiki.dfcloud.ru/bin/view/Big%20Data/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/I.%20SQL%20%20-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80/]] позволяет получить доступ только к одной таблице или представлению. | ||
13 | |||
14 | Материализуйте таблицу с помощью регулярного запланированного процесса пакетной обработки данных. Таблица при этом должна содержать все необходимые для анализа данных поля. | ||
15 | |||
16 | **Представление (View)** — простой логический уровень, абстрагирующий несколько SQL-запросов виртуальной таблицей. Представление объединяет несколько таблиц в одну единую и преобразовывает данные с использованием произвольных [[SQL-запросов>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/I.%20SQL%20%20-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80/I1.%20%D0%9B%D0%B0%D0%B1%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D1%8F%20SQL/]]. Ограничением является производительность базы данных (БД), поскольку сервис эффективно запускает запрос поверх запроса к представлению. Хорошая практика в этом случае — ограничение соединения основной большой таблицы только к одной или к нескольким небольшим таблицам. Старайтесь избегать | ||
17 | |||
18 | (% id="cke_bm_24744S" style="display:none" %) (%%)оператор {{code language="none"}}GROUP BY{{/code}} , поскольку Cloud BI выполняет свою реализацию запроса {{code language="none"}}GROUP BY{{/code}}. Двукратное выполнение запроса снижает производительность. | ||
19 | |||
20 | При использовании таблицы или представления важным фактором является то, достаточно ли быстро работает БД, из которой забираются данные. Быстрая работа необходима для обслуживания БД в интерактивном режиме для обеспечения взаимодействия между СУБД и Cloud BI. | ||
21 | |||
22 | {{info}} | ||
23 | Используйте СУБД с "горячим" доступом в качестве организации "горячего" слоя для Cloud BI. Пример СУБД — [[Clickhouse>>https://wiki.dfcloud.ru/bin/view/Big%20Data/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/A.%20%D0%A1%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%81%20%D0%B1%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85/ClickHouse/]]. | ||
24 | {{/info}} | ||
25 | |||
26 | При использовании Лаборатории SQL такого ограничения нет. Вы можете [[написать SQL-запрос>>https://wiki.dfcloud.ru/bin/view/Big%20Data/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/I.%20SQL%20%20-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80/I1.%20%D0%9B%D0%B0%D0%B1%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D1%8F%20SQL/]] для объединения нескольких таблиц. Функционал объединения работает, если учетная запись БД, через которую подключается Cloud BI, получает доступ к таблицам. | ||
27 | |||
28 | = Насколько большими могут быть данные? = | ||
29 | |||
30 | ---- | ||
31 | |||
32 | **Ответ:** большого размера. Cloud BI работает как тонкий клиент над БД или средством обработки данных. Основной критерий скорости работы и объема обрабатываемых данных — скорость работы БД, используемой в качестве хранилища данных и являющейся слоем данных для Cloud BI. Многие распределенные СУБД выполняют запросы, работающие с терабайтами данных в интерактивном режиме. | ||
33 | |||
34 | = Как добавить динамические фильтры в дашборд? = | ||
35 | |||
36 | ---- | ||
37 | |||
38 | **Ответ:** виджет **Filter Box** определяет запрос для заполнения раскрывающихся списков, которые можно использовать для фильтрации. Чтобы создать список различных значений, запустите запрос и отсортируйте результат по убыванию. | ||
39 | |||
40 | Флажок **Date Filter **включает фильтрацию по времени на панели инструментов. После установки флажка и обновления ознакомьтесь с раскрывающимся списком **от** и **до**. По умолчанию фильтрация применяется ко всем срезам, построенным поверх [[источника данных>>https://wiki.dfcloud.ru/bin/view/Big%20Data/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/K.%20%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85/]]. Источник имеет то же имя столбца, на котором основан фильтр. Также необходимо, чтобы этот столбец был отмечен как фильтруемый на вкладке столбца редактора таблицы. | ||
41 | |||
42 | Если нет необходимости в фильтрации определенных виджетов на панели инструментов, отредактируйте дашборд в поле метаданных JSON. Это ключ{{code language="none"}}filter_immune_slices{{/code}}, который получает массив идентификаторов {{code language="none"}}sliceId{{/code}}. На это массив не влияет фильтрация на уровне [[дашборда>>https://wiki.dfcloud.ru/bin/view/Big%20Data/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/B.%20%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%20%D0%B8%20%D0%B4%D0%B0%D1%88%D0%B1%D0%BE%D0%B0%D1%80%D0%B4%D0%BE%D0%B2/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%20%D0%B8%20%D0%B4%D0%B0%D1%88%D0%B1%D0%BE%D0%B0%D1%80%D0%B4%D0%BE%D0%B2/]]. | ||
43 | |||
44 | {{code language="none"}} | ||
45 | { | ||
46 | "filter_immune_slices": [324, 65, 92], | ||
47 | "expanded_slices": {}, | ||
48 | "filter_immune_slice_fields": { | ||
49 | "177": ["country_name", "__time_range"], | ||
50 | "32": ["__time_range"] | ||
51 | }, | ||
52 | "timed_refresh_immune_slices": [324] | ||
53 | } | ||
54 | {{/code}} | ||
55 | |||
56 | JSON-объект из примера содержит срезы 324, 65 и 92, которые не затрагиваются фильтрацией на уровне дашборда. | ||
57 | |||
58 | Обратите внимание на ключ {{code language="none"}}filter_immune_slice_fields{{/code}}. Он определяет, какие поля фильтра следует игнорировать для конкретного {{code language="none"}}slice_id{{/code}}. Ключ {{code language="none"}}time_range{{/code}} зарезервирован для работы с упомянутой выше фильтрацией временных границ. Если имя столбца является общим — фильтр применяется. | ||
59 | |||
60 | = Как ограничить запланированное обновление дашборда? = | ||
61 | |||
62 | ---- | ||
63 | |||
64 | **Ответ:** по умолчанию функция обновления дашборда по времени автоматически повторно запрашивает каждый фрагмент дашборда в соответствии с установленным расписанием. Однако иногда нет необходимости обновлять все срезы, особенно если некоторые данные перемещаются медленно или выполняются тяжелые запросы. Чтобы исключить определенные фрагменты из процесса синхронизированного обновления, добавьте ключ {{code language="none"}}timed_refresh_immune_slices{{/code}} в поле метаданных JSON дашборда: | ||
65 | |||
66 | {{code language="none"}} | ||
67 | { | ||
68 | "filter_immune_slices": [], | ||
69 | "expanded_slices": {}, | ||
70 | "filter_immune_slice_fields": {}, | ||
71 | "timed_refresh_immune_slices": [324] | ||
72 | } | ||
73 | {{/code}} | ||
74 | |||
75 | В приведенном выше примере, если для дашборда задано обновление по времени, каждый срез, кроме 324, автоматически повторно запрашивается по расписанию. Обновление фрагмента происходит в течение указанного периода. При необходимости отключите это смещение, установив для {{code language="none"}}stagger_refresh{{/code}} значение// false//, и измените период сдвига, указав для {{code language="none"}}stagger_time{{/code}} значение в миллисекундах в поле метаданных JSON: | ||
76 | |||
77 | {{code language="none"}} | ||
78 | { | ||
79 | "stagger_refresh": false, | ||
80 | "stagger_time": 2500 | ||
81 | } | ||
82 | {{/code}} | ||
83 | |||
84 | В примере дашборд обновляется сразу, если периодическое обновление включено. | ||
85 | |||
86 | {{warning}} | ||
87 | Время смещения 2,5 секунды **игнорируется**. | ||
88 | {{/warning}} | ||
89 | |||
90 | = Что произойдет при изменении схемы таблиц? = | ||
91 | |||
92 | ---- | ||
93 | |||
94 | **Ответ:** Cloud BI отражает изменение схем таблиц. В жизненном цикле дашборда периодически необходимо добавить новое измерение или показатель. Для настройки обнаружения новых столбцов: | ||
95 | |||
96 | ~1. Перейдите в **Данные** -> **Наборы данных.** | ||
97 | 2. Щелкните значок редактирования рядом с набором данных, схема которого изменилась, и нажмите **Синхронизировать столбцы** из источника на вкладке **Столбцы**. В результате столбцы объединяются. | ||
98 | 3. При необходимости повторно отредактируйте таблицу, установите соответствующие флажки и снова сохраните данные. | ||
99 | |||
100 | = Как задать стандартный фильтр на дашборде? = | ||
101 | |||
102 | ---- | ||
103 | |||
104 | **Ответ:** можно применить фильтр и сохранить дашборд, пока фильтр активен. | ||
105 | |||
106 | **[[В начало>>doc:Big Data.Сервис Cloud BI.WebHome]] **🡱 | ||
107 | **[[К следующему разделу>>doc:Big Data.Сервис Cloud BI.4\. Частые вопросы по сервису.03\. Визуализация.WebHome]] **🡲 | ||
108 | **[[К предыдущему раздел>>doc:Big Data.Сервис Cloud BI.4\. Частые вопросы по сервису.WebHome]]у 🡰** |