Классика баз данных - статьи

       

Анализ неструктурированных данных


В целом SQL плохо приспособлен для обработки неструктурированных данных. Однако SQL/MR позволяет пользователю поместить в базу данных процедурный код для преобразования неструктурированных данных в структурированное отношение, более пригодное для анализа. Хотя такое преобразование можно выполнить и с применением традиционных UDF, динамический полиморфизм SQL/MR-функций позволяет сделать такие трансформации гораздо более гибкими и практичными.

Рассмотрим функцию parse_documents, показанную ниже. Она разработана для формирования набора показателей, вычисляемых для заданных документов. Пользователь может указать интересующие его показатели в разделе аргументов METRICS, и функция вычислит эти показатели. Кроме того, в результирующей схеме функции будут отражаться требуемые показатели. Заметим, что эти показатели можно вычислить за один проход по данным, но инфраструктура позволяет указывать интересующие пользователя показатели нерегламентированным способом. В результате оказывается возможным построить над библиотекой текстовой аналитики оболочку, которую аналитики могут повторно использовать в разнообразных сценариях.

SELECT word_count, letter_count, ... FROM parse_documents( ON (SELECT document FROM documents) METRICS( ’word_count’, ’letter_count’, ’most_common_word’, ...) );



Содержание раздела