Литейный цех

Мир инженерии данных полон дебатов, и различные школы борются за превосходство. Существует много дискуссий о моделировании данных, например, Inmon vs. Kimball, а также об инструментах, о том, являются ли Fivetran + DBT рентой или вечные споры о Snowflake и Databricks. Сегодня я хочу пролить свет на инструмент, который редко обсуждался в постах на LinkedIn, в статьях на Medium или в ветках HackerNews.

Этот инструмент — Palantir Foundry. Некоторые, возможно, уже слышали об этом, но что такое Foundry? Хотя Palantir в первую очередь известен своей работой с правительством, у них также есть коммерческое предложение Foundry the Data Operating System. Прежде всего, он разработан как полная сквозная платформа данных, сеть сервисов, содержащая все необходимое для управления вашими данными, от приема до преобразования, хранения, визуализации и машинного обучения. Но это только верхушка айсберга.

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

Онтология — настолько новаторская концепция, что она могла бы стать предметом отдельной статьи. Однако в этой статье я хочу выделить три особенности, которые выделяют Palantir Foundry.

Отказ от ответственности

Прежде чем мы углубимся в особенности Palantir Foundry, важно отметить, что мне еще предстоит лично использовать Foundry. Мои знания основаны на беседах с пользователями, видео и документации.

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

С учетом сказанного давайте подробнее рассмотрим три уникальные особенности Palantir Foundry.

Обработка данных как кода

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

Давайте представим, что вы работаете над функциональной веткой и хотите зафиксировать изменение в основной ветке, например, переименовать столбец в задании Spark. Вы можете использовать функцию сравнения Foundry, чтобы сравнить выходной набор данных в функциональной ветви с набором данных в вашей основной ветке. Сравнение включает в себя множество полезных статистических данных о наборах данных, таких как размер, количество файлов и количество строк. Вы даже можете сравнивать на уровне столбца, глядя на процент значений NULL, Min/Max или Mean. Это позволяет вам убедиться, что ваши изменения связаны исключительно с метаданными в этом случае использования.

Если вы уверены, что ваши изменения готовы к слиянию, вы создаете запрос на вытягивание, показывающий вам много полезных вещей. Во-первых, вы можете видеть, как вы привыкли, файлы, которые были изменены фиксацией. Но теперь начинается волшебство! Foundry предоставит анализ воздействия, показывающий затронутые наборы данных, изменения их схемы и то, проходят ли затронутые наборы данных предопределенные проверки работоспособности.

Но это еще не все! Поскольку Foundry фиксирует происхождение каждого набора данных, для каждого запроса на вытягивание выполняется проверка конвейера, визуализирующая изменения, внесенные в конвейер.

Эти функции помогают не только людям, работающим над конвейерами, но и людям, которые просматривают запросы на вытягивание, помогая им убедиться в отсутствии непредвиденных изменений.

Функции Typescript с предварительно сгенерированными типами

Foundry предоставляет сервис под названием Foundry Functions, который позволяет пользователям взаимодействовать с объектами из онтологии с помощью функции, подобной TypeScript AWS Lambda.

Одним из важнейших преимуществ Foundry Functions является то, что он генерирует интерфейсы для объектов, импортированных из Ontology. Это позволяет легко взаимодействовать с этими объектами, получая доступ к их свойствам, переходя по ссылкам между ними или объединяя коллекции. Типичные варианты использования:

  • Пользовательские агрегации для информационных панелей.
  • Расчет пользовательских метрик.
  • Даже сложные правки самой Онтологии.

Вы можете повторно использовать функции в нескольких сервисах, таких как Foundry Workshop, который позволяет пользователям создавать приложения без кода.

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

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

График Колчана

Quiver — это сервис, который предоставляет расширенные возможности аналитики и инструментальной панели поверх вашей Ontology. Вы можете создавать информационные панели, которые можно использовать в вашей организации или даже встраивать в другие службы. Он похож на такие продукты, как Tableau или PowerBI.

Одна особенность, которая выделяет его для меня, — это два режима.

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

Давайте представим, что вы наследуете право собственности на панель инструментов, а ее создатель уже покинул компанию. На приборной панели отображаются некоторые числа и ключевые показатели эффективности, и вам нужно изменить некоторые из них. Здесь в игру вступает режим Graph. Он предоставляет график зависимости ваших анализов, показывающий происхождение каждого содержащегося визуального элемента, позволяя пользователю понять, почему конкретный визуальный элемент отображает данные. Я определенно был в такой ситуации, и я не могу не подчеркнуть, насколько удобной была бы эта функция.

Заключение

Foundry — обширный продукт, и есть о чем поговорить. Я надеюсь, вам понравилась статья, и вы нашли функции столь же захватывающими и уникальными, как и я.

Дополнительные ресурсы