我尝试使用python在apachenifi中运行executescript进程,但在将流文件传递到数据流中的下一个处理器时遇到问题。在
如果我运行独立的流文件创建和编写代码片段,它可以工作,我可以在下一个处理器中读取流文件,但当我试图丰富它时,它只是不传递流文件。事实上没有错误产生,不知何故我不知道如何继续。我对python和nifi有点陌生,非常感谢您对这个问题的帮助。在
下面是我正在使用的代码,您可以看到它非常简单。我只想用一些逻辑创建一些字符串并将其写入流文件。但到目前为止还没有运气
import urllib2
import json
import datetime
import csv
import time
import sys
import traceback
from org.apache.nifi.processor.io import OutputStreamCallback
from org.python.core.util import StringUtil
class WriteContentCallback(OutputStreamCallback):
def __init__(self, content):
self.content_text = content
def process(self, outputStream):
try:
outputStream.write(StringUtil.toBytes(self.content_text))
except:
traceback.print_exc(file=sys.stdout)
raise
page_id = "dsssssss"
access_token = "sdfsdfsf%sdfsdf"
def scrapeFacebookPageFeedStatus(page_id, access_token):
flowFile = session.create()
flowFile = session.write(flowFile, WriteContentCallback("Hello there this is my data"))
flowFile = session.write()
session.transfer(flowFile, REL_SUCCESS)
print "\nDone!\n%s Statuses Processed in %s" % \
(num_processed, datetime.datetime.now() - scrape_starttime)
if __name__ == '__main__':
scrapeFacebookPageFeedStatus(page_id, access_token)
我认为问题在于检查
__main__
:__builtin__
是我实验中实际的模块名。您可以删除该检查,或者添加一个不同的检查,如果您想保留您的单独的测试路径。在相关问题 更多 >
编程相关推荐