Оглавление
Sawzall (язык программирования)
-
Обзор Sawzall
- Sawzall – это язык программирования, разработанный Google для обработки больших объемов данных из журналов.
- Язык был впервые описан в 2003 году, а среда выполнения с открытым исходным кодом стала доступна в августе 2010 года.
- Sawzall был заменен на Lingo для большинства задач в Google.
-
Мотивация и особенности
- Google хранит свои серверные журналы в виде больших наборов данных, которые распределены по множеству дисков.
- Для обработки журналов инженеры могут использовать программы MapReduce на C++ или Java, но это требует времени и усилий.
- Sawzall упрощает написание быстрых сценариев, позволяя отправлять значения в таблицы и объединять их на этапе сокращения.
- В настоящее время доступна только языковая среда выполнения, а вспомогательная программа на MapReduce еще не выпущена.
-
Функции Sawzall
- Sawzall имеет один вход и может выводить только в таблицы, без побочных эффектов.
- Язык поддерживает статическую типизацию, составные типы данных и копирование аргументов функций.
- Рекурсивные структуры данных и циклы в Sawzall невозможны, а функции не являются замыканиями.
-
Пример кода Sawzall
- Приведен пример программы Sawzall, которая считывает входные данные и выводит количество записей, сумму значений и сумму квадратов значений.
-
Ссылки и рекомендации
- Указаны внешние ссылки на Google Code Archive и материалы симпозиума ACM по принципам работы операционных систем.
- Рекомендованы дальнейшие чтения по теме.
Полный текст статьи: