Легкая библиотека Python для обработки потоков упорядоченных данных / для обработки партии упорядоченных данных?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Легкая библиотека Python для обработки потоков упорядоченных данных / для обработки партии упорядоченных данных?

Сообщение Anonymous »

Я ищу советы по соответствующей (легкой) библиотеке Python для обработки потоков упорядоченных данных /для обработки партии упорядоченных данных?

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

from typing import Dict
from pandas import DataFrame
from numpy import array

def my_iterator(*args) -> Dict[str, DataFrame]:
# Parse files with some processing already
yield {"key1": df1, "key2": df2}

def analyze(dfs: Dict[str, DataFrame], buffer: dict) -> array:
# Analysis on some columns of some DataFrame
pass

def custom_join(dfs: Dict[str, DataFrame], settings: array, buffer: dict) -> DataFrame:
# Custom join from multiple Dataframe to a single one.
pass

def write_to_database(key: str, df: DataFrame):
# Write df to a database using key.
pass

def main():
buffer_analysis = {}
buffer_join = {}
for dfs_dict in my_iterator(*args):
# Process data
analysis = analyze(dfs_dict, buffer_analysis)
res = custom_join(dfs_dict, analysis, buffer_join)
# Write result to disk.
write_to_database("key_res", res)
< /code>
У меня есть некоторые другие Worlfows, немного более сложные, здесь снова с итератором, дающим DICTS от DataFrames, и требует фильтрации, сегментированную кумулятивную агрегацию и заканчивая шагом запись. Data is ordered and analysis and custom join will keep a state of the data they have processed so far, taking it into account to process new data.
[*]But support of asyncio can be of interest (the write step may takes some time for instance, while the next loop can already be started)

[b]Identified solutions[/b]

 Streamz действительно заинтересовался моим интересом, как легкий; Но, похоже, это не поддерживается. С этим я бы определил свой рабочий процесс с помощью функции Map () 
, а затем я мог бы запустить итератор с уже определенным потоком. Что-то вроде (если я правильно это понимаю): < /li>
< /ul>

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

from streamz import Stream
# define 'analysis' and 'custom_join'

source = Stream()
analysis = source.map(analyze)
source.combine_latest(analysis).map(custom_join).sink(write_to_database)

def main():
buffer_analysis = {}
buffer_join = {}
for dfs_dict in my_iterator(*args):
# Yet have to workout how to use the buffers.
source.emit(dfs_dict)
< /code>

 Dask, конечно, с dask.delayed < /code>; Но документация (и ответы в некоторых клетках) дает понять, что вы не можете применить dask.delayed 
на итератор. Это означает, что я бы применил DASK.Delayed в цикле for для анализа , custom_join и write_to_database , и, наконец, все еще в цикле, dask.compute () . Это запустило бы восстановление одного и того же графика на каждой итерации, и это кажется мне не очень эффективным.
Дело в том, что все дайки полученных данных, которые даны, не могут быть материализованы в памяти в качестве списка, потому что это не вписывалось бы в ОЗУ.>

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Легкая библиотека Python для обработки потоков упорядоченных данных / для обработки партии упорядоченных данных?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Android Material 3 Легкая тема LIstView: текст элементов скрыт
    Anonymous » » в форуме Android
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • TradingView Легкая диаграмма Time Tootip Tootip Tootip
    Anonymous » » в форуме Html
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • TradingView Легкая диаграмма Time Tootip Tootip Tootip
    Anonymous » » в форуме Javascript
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Существуют ли идиомы C++, которые защищают вас от плохо упорядоченных элементов данных? [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

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