1
我使用ListenHTTP
作为Nifi进程的输入点。Nifi在注入数据时崩溃
import requests
import csv
import pandas as pd
import json
import time
url = 'http://localhost:8085/contentListener'
df = pd.read_csv('demo_dataset.csv')
for i in df.index:
data = df.iloc[i].to_json()
r = requests.post(url, data=data, allow_redirects=True)
time.sleep(0.1)
的问题是,Nifi被处理后坠毁约3000项:
我从CSV文件中完全采用100MB左右发送数据。然后我应该重新启动它(重新启动之前,我也手动清空日志和flowfile_repository文件夹)。
Nifi处理器ListenHTTP
或Nifi itslef中是否有任何参数可以帮助解决此问题?
它发生在使用'ListenHTTP'从单个文件发送3000行之后。你会推荐使用'GetFile'吗?我的目标是通过Nifi处理器传递100Mb的数据(大约100万行)。 – Dinosaurius
此外,'ListenHTTP'可能不是注入100Mb数据的最佳选择。这个过程需要很长的时间,我有http相关的问题(我应该设置超时和使用time.sleep)。我可以使用'ListFile'->'FetchFile' - > ???为了逐行读取我的CSV文件并将每行转换为JSON字符串(就像我在Python代码中那样)? – Dinosaurius
从文件系统中读取文件一定会更好。 HTTP规范不适合大文件传输。 'GetFile'或'ListFile' /'FetchFile'会给你更好的性能,然后你可以轻松地解析文件的行。 – Andy