注入数据时Nifi崩溃了

时间:2017-10-19 17:06:10

标签: apache-nifi

我使用ListenHTTP作为Nifi过程的输入点。

我从CSV文件中发送完全需要大约100Mb的数据:

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个条目后崩溃了。然后我应该重新启动它(在重新启动之前我还手动清空日志和flowfile_repository文件夹)。

Nifi处理器中有任何参数ListenHTTP或Nifi它有助于解决此问题吗?

1 个答案:

答案 0 :(得分:1)

问题有点不清楚 - Apache NiFi在处理3000个100Mb文件或单个文件中的3000行后崩溃了吗?在第一种情况下,我认为这是一个存储/堆问题。你能否提供$NIFI_HOME/logs/nifi-app.log的堆栈跟踪?

如果您能够使用NiFi 1.2.0+,我建议您使用record processors进行操作,因为性能要好得多,流程也更容易设计。您可以将100Mb CSV文件作为单个操作发送(或使用GetFile),并使各种处理器独立地在文件中的每一行上运行。