2015-07-01 3 views
4

Я могу подключить таблицу к моей базе данных, но размер таблицы здесь очень большой. Каждый раз, когда я пытаюсь загрузить таблицу в таблицу, она рушится, и я не могу найти работу. Размер таблицы варьируется от 10 миллионов до 400 миллионов строк. Как я должен подходить к этому вопросу к любому предложению?Как загрузить большую таблицу в таблицу для визуализации данных?

ответ

6

Я нашел простое решение для оптимизации Tableau для работы с очень большими наборами данных (1 млрд. + Строк): Google BigQuery, который по существу является управляемым хранилищем данных.

  1. Загрузить данные в BigQuery (вы можете добавить несколько файлов в одну таблицу).
  2. Ссылка, что таблицу Tableau в качестве внешнего источника данных

Tableau затем посылает команды SQL-подобный, чтобы BigQuery всякий раз, когда новый «вид» запрашивается. Запросы обрабатываются быстро на вычислительном оборудовании Google, после чего отправляется небольшое количество информации обратно в Tableau.

Этот метод позволил мне визуализировать набор данных мобильных звонков на 100 гб с ~ 1 млрд строк на MacBook.

+0

Это решение удивительно, спасибо за обмен! – python

0

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

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

Мне нравится использовать представления в базе данных, а затем использовать эти представления, чтобы обновить мои выдержки из Tableau на сервере Tableau.

1

Есть два способа интерпретировать этот вопрос:

  1. Источник данных (который может быть одна таблица, вид и т.д.) имеет 10M для 400M строк и Tableau происходит сбой в какой-то момент процесс загрузки. В этом случае я предлагаю вам обратиться в службу технической поддержки Tableau. Им очень нравится слышать о подобных ситуациях и помогать людям через них.

  2. Вы пытаетесь создать визуализацию (например, текстовую таблицу или кросс-таблицу), в которой есть N записей, в результате чего отображаются отображаемые строки от 10M до 400M. В этом случае вы попадаете на территорию, для которой не предназначено Tableau. Текстовая таблица с 10-миллиметровыми строками не будет полезной для большей части чего-либо, кроме экспорта на что-то еще, и в этом случае для этого используются более эффективные инструменты, чем Tableau (например, инструменты экспорта/импорта, встроенные в большинство баз данных).

11

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

Итак, в крайнем случае, если вы поместите CNT (количество записей) на полку столбцов, Tableau отправит простой короткий запрос во внешнюю базу данных с просьбой сообщить количество записей. Что-то вроде строк «select count (*) from xxx».

Таким образом, даже если во внешней базе данных есть миллиарды строк, Tableau отправит небольшое количество информации в базу данных (запрос) и получит обратно небольшое количество информации (результаты запроса) для отображения. Это позволяет Tableau быть очень быстрым на своем конце, а производительность зависит от того, насколько быстро внешняя база данных может ответить на запрос. Настройка вашей базы данных зависит от всех факторов: типа и объема памяти и диска, настроек индексов и т. Д.

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

Это ответ пуриста. Теперь за несколько грязных деталей. В Таблице можно создать очень сложную визуализацию, которая отправит сложный запрос с запросом на очень большой набор результатов. Например, вы можете создать панель управления, которая рисует точку на карте для каждой строки в базе данных, а затем обновляет большой объем данных каждый раз, когда вы намазываете мышь над метками на карте.

Если у вас есть миллионы или миллиарды строк данных, и вы хотите высокой производительности, тогда не делайте этого. В любом случае, ни один пользователь не может читать 60 миллионов точек, и они, конечно же, не хотят ждать, пока их отправят по кабелю.Вместо этого сначала запишите совокупные значения, min, max, sum, avg и т. Д., А затем разверните их более подробно по требованию.

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

+1

Спасибо Alex :) Это такой полезный ответ. Мой источник базы данных - 1010data . – python

+0

Добро пожаловать. Добро пожаловать в Stack Overflow. BTW, лучший способ поблагодарить кого-то за полезный ответ - принять и отложить ответ ... –

-1

Я нашел простое решение для оптимизации Tableau для работы с очень большими наборами данных (1 миллиард + строк): Google BigQuery, который по существу является управляемым хранилищем данных.

Загрузить данные в BigQuery (вы можете добавить несколько файлов в одну таблицу). Связать эту таблицу с таблицей как внешним источником данных Затем Tableau отправляет SQL-подобные команды в BigQuery всякий раз, когда запрашивается новое «представление». Запросы обрабатываются быстро на вычислительном оборудовании Google, после чего отправляется небольшое количество информации обратно в Tableau.

Этот метод позволил мне визуализировать набор данных мобильных звонков на 100 гб с ~ 1 млрд строк на MacBook.