Рубрики
Без рубрики

Что такое Kedro

KEDRO – неразрушенная инженерная база данных, которая приходит с несколько самоуверенным шаблоном …. Теги с Kedro, Python, наукой данных.

KEDRO – неразрушенная система инженерных данных, которая приходит с несколько самоуверенным шаблоном. Это дает пользователю способ создавать трубопроводы, которые автоматически позаботятся о IO через использование абстрактных Наборы данных что пользователь указывает через Каталог Записи. Эти Каталог Записи загружены, пробежали через функцию и сохранены Узлы Отказ Заказ, который эти Узлы выполнены определяются Трубопровод , что является Даг Отказ Это бегун Работа для управления исполнением Узлы Отказ

https://waylonwalker.com/what-is-kedro-1/

Это обновленная версия моей оригинальной статьи is-is-kedro

Горячий взять

Если вы выполняете серию операций к данным с Python, особенно если вы используете что-то, как поддерживаются как Pandas, вы должны использовать рамку, которая дает вам конвейер в качестве DAG и резонации IO.

Оркестраторы

Как я уже сказал, Кедро Неопирается, что он определяет, где или как ваши данные должны быть запущены. Команда Kedro поддерживает следующие Оркестраторы С очень мало добавляют на базовый шаблон.

Наборы данных

Я сказал, что Кедро не работает? Наборы данных – это то, что позволяет KEDRO настолько гибким по ряду различных объектов Python. Любой объект Python может быть сделан в набор данных Kedro. Kedro выходит из коробки с Многие Назначение построено Наборы данных Как хранить хранение Pandas DataFrames в паркет, CSV или SQL Table. Если KEDRO не приходит с поддержкой типа объектов Python, с которыми вы работаете, не волнуйтесь, вы можете для ближайшего варианта, которую они поддерживают и создают свои собственные. Или если вы не хотите создавать свои собственные, вы можете использовать Пикированныйataset для всего.

Каталог

Вы не будете часто создавать свои собственные наборы данных, большинство из того, что вам нужно, уже позаботится о структуре Kedro. Что вам нужно будет сделать, это использовать существующие Наборы данных Чтобы создать свой каталог данных.

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

Как правило, каталог указывается в формате YAML. Если вы не знакомы с YAML, я предлагаю judscinyminutes.com/docs/yaml/ как ресурс примеров.

test:
  type: pandas.CSVDataSet
  filepath: s3://your_bucket/test.csv #

Вот самая основная запись каталога YAML, взятая из Kedro документы

cars:
  type: pandas.CSVDataSet
  filepath: data/01_raw/company/cars.csv
    sep: ','
    load_args:
  save_args:
    index: False
    date_format: '%Y-%m-%d %H:%M'
    decimal: .

Вот немного сложный пример, который принимает load_args и Save_args документы

Узлы

Узлы – очень основная часть Kedro, чтобы построить Даг Отказ Эти узлы – это то, что обеспечивает определение каких записей каталога, передается в какую функцию и вывод на другой ввод каталога.

import pandas as pd
import numpy as np

def clean_data(cars: pd.DataFrame,
               boats: pd.DataFrame) -> Dict[str, pd.DataFrame]:
    return dict(cars_df=cars.dropna(), boats_df=boats.dropna())

def halve_dataframe(data: pd.DataFrame) -> List[pd.DataFrame]:
    return np.array_split(data, 2)

nodes = [
    node(clean_data,
         inputs=['cars2017', 'boats2017'],
         outputs=dict(cars_df='clean_cars2017',
                      boats_df='clean_boats2017')),
    node(halve_dataframe,
         'clean_cars2017',
         ['train_cars2017', 'test_cars2017']),
    node(halve_dataframe,
         dict(data='clean_boats2017'),
         ['train_boats2017', 'test_boats2017'])
]

Вот пример трех узлов, взятых из их документы

Трубопровод

Кедро Трубопровод , это Dag (направленный ациклический граф). Это объект графа, который течет в одном направлении. Вы можете нарезать в трубопровод, используя несколько встроенных методов графика to_nodes , from_nodes , to_outputs и from_inputs Отказ Вы можете объединить эти вызовы методов, поскольку каждый возвращает новый Трубопровод объект. Вы также можете задать трубопровод для его краев с входы и Выходы Отказ Вы также можете перечислить каждый набор данных по пути с all_inputs. или All_Outputs Отказ Наконец, вы можете преобразовать его обратно в список узлов с узлы Отказ

from kedro.pipeline import Pipeline, node

# using our nodes from last tim
Pipeline(nodes)

Бегун

Бегун – это мост между Kedro и оркестраторами. Команда Kedro предоставляет некоторые базовые бегуны для беговых трубопроводов локально, построенные прямо в рамках, но добавление новых бегунов для разных оркестраторов осуществляется через использование добавления в новый бегун к вашему проекту.

Крючки

Kedro позволяет подключить к ряду методов жизненного цикла с помощью использования платурование рамки. Да тот, который …| pteest построен на. Существует ряд различных методов жизненного цикла, которые позволяют нам зацепить, где работает KEDRO, как dre_pipilene_run или После_catalog_loaded`.

Ссылки

Оригинал: “https://dev.to/waylonwalker/what-is-kedro-5b3h”