python中的executescript未将流文件传递给下一个进程

2024-04-25 23:51:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用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)

Tags: 文件代码importselftokeniddatetimeaccess
1条回答
网友
1楼 · 发布于 2024-04-25 23:51:58

我认为问题在于检查__main__

if __name__ == '__main__':
    scrapeFacebookPageFeedStatus(page_id, access_token)

__builtin__是我实验中实际的模块名。您可以删除该检查,或者添加一个不同的检查,如果您想保留您的单独的测试路径。在

相关问题 更多 >