Как обновить трубопровод Kedro вместо его замены?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как обновить трубопровод Kedro вместо его замены?

Сообщение Anonymous »

У меня есть набор данных, который мне приходится увеличивать при каждом запуске, но вместо этого он заменяет его.
Каталог является обобщенным, за исключением файла result.csv, который представляет собой объединенный файл всех остальных файлов, созданных конвейерами.

Код: Выделить всё

"{namespace}.{dataset_name}@csv":
type: pandas.CSVDataset
filepath: data/01_raw/{namespace}/{dataset_name}.csv
versioned: True

"{namespace}.result":
type: pandas.CSVDataset
filepath: data/01_raw/{namespace}/result.csv
В файле nodes.py помимо парсеров и обработчиков результатов я использую простую функцию конкатенации.

Код: Выделить всё

def concatenate_csvs(*dataframes):
concatenated_df = pd.concat(dataframes, ignore_index=True)
return concatenated_df
а на конвейерах я просто вызываю все выходные данные предыдущих конвейеров. Базовая труба:

Код: Выделить всё

def create_pipeline(**kwargs):

pipe_the_hacker_news = pipeline(
[
node(
func=get_links,
inputs=["params:the_hacker_news"],
outputs="the_hacker_news_links",
name="the_hacker_news_links_node",
),
node(
func=scraper_the_hacker_news,
inputs="the_hacker_news_links",
outputs="the_hacker_news@csv",
name="the_hacker_news_scraper_node",
)
],
namespace="cybersecurity_news"
)
Объединено:

Код: Выделить всё

    pipe_concat = pipeline(
[
node(
func=concatenate_csvs,
inputs=[
"the_hacker_news@csv",
"tech_republic@csv",
"thecyberexpress_news@csv",
"welivesecurity_news@csv",
"davinciforensics_news@csv",
"varutra_news@csv",
"attcybersecurity_news@csv",
"mcafee_news@csv",
"nist_news@csv",
"avast_news@csv",
"amazon_news@csv",
"qualys_news@csv",
"veracode_news@csv",
"gbhackers_news@csv",
"hackingarticles_news@csv",
"sentinelone_news@csv",
"securityintelligence_news@csv",
"tripwire_news@csv",
"securelist_news@csv",
"grahamcluley_news@csv",
"infosecurity_news@csv",
"olukaii_news@csv",
"cyble_news@csv",
"bleepingcomputer_news@csv",
"threatinsight_news@csv",
"zonealarm_news@csv"],
outputs="result",
name="concatenate_csvs_node",
),
],
namespace="cybersecurity_news"
)

Как я могу сделать так, чтобы мой файл вместо замены увеличивался при каждом запуске, избегая дублирования?
Я уже пробовал использовать:< /p>

Код: Выделить всё

  save_args:
mode: a
и ничего не произошло, попробовал изменить прямо на nodes.py:

Код: Выделить всё

def concatenate_csvs(*dataframes):
concatenated_df = pd.concat(dataframes, ignore_index=True)

file_path = "/path/cybersecurity_news/result.csv"
existing_df = pd.read_csv(file_path)
concatenated_df = pd.concat([existing_df, concatenated_df], ignore_index=True)
concatenated_df.to_csv(file_path, index=False)
return concatenated_df
но использовалась только предыдущая версия, а не обновлялась.

Подробнее здесь: https://stackoverflow.com/questions/786 ... placing-it
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка запуска простого проекта Kedro: ModuleNotFoundError, за которым следует ValueError
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Как запустить конвейер Kedro для определенного входного набора данных CSV, содержащего список запросов, которые необходи
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Создать Kedro PartitionedDataset из PartitionedDatasets.
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Создать Kedro PartitionedDataset из PartitionedDatasets.
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как запустить конвейер Kedro
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»