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