Я следовал этому руководству, чтобы добавить собственные процессоры Python через Python API в Apache nifi-2.0.0-SNAPSHOT
Я разместил пользовательские скрипт Python по следующему пути C:\nifi-2.0.0-SNAPSHOT\python\extensions, и я установил nifi.properties следующим образом:
#####################
# Python Extensions #
#####################
# Uncomment in order to enable Python Extensions.
nifi.python.command="C:/Program Files/Python311/python.exe"
nifi.python.framework.source.directory=C:/nifi-2.0.0-SNAPSHOT/python/framework
nifi.python.extensions.source.directory.default=C:/nifi-2.0.0-SNAPSHOT/python/extensions
nifi.python.working.directory=C:/nifi-2.0.0-SNAPSHOT/work/python
nifi.python.max.processes=100
nifi.python.max.processes.per.extension.type=10
nifi.python.logs.directory=./logs
но я все еще получаю следующую ошибку в журнале nifi-app.log
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flowController': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Failed to communicate with Python Controller
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:176)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:101)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1898)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1284)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:345)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
... 93 common frames omitted
Caused by: java.lang.IllegalStateException: Failed to communicate with Python Controller
at org.apache.nifi.controller.FlowController.(FlowController.java:568)
at org.apache.nifi.controller.FlowController.createStandaloneInstance(FlowController.java:412)
at org.apache.nifi.spring.FlowControllerFactoryBean.getObject(FlowControllerFactoryBean.java:83)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:169)
... 105 common frames omitted
Caused by: java.io.IOException: Cannot run program "C:\nifi-2.0.0-SNAPSHOT\work\python\controller\bin\python.exe": CreateProcess error=2, The system cannot find the file specified
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1170)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1089)
at org.apache.nifi.py4j.PythonProcess.launchPythonProcess(PythonProcess.java:167)
at org.apache.nifi.py4j.PythonProcess.start(PythonProcess.java:101)
at org.apache.nifi.py4j.StandardPythonBridge.start(StandardPythonBridge.java:73)
at org.apache.nifi.components.ClassLoaderAwarePythonBridge.start(ClassLoaderAwarePythonBridge.java:53)
at org.apache.nifi.controller.FlowController.(FlowController.java:566)
... 108 common frames omitted
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.base/java.lang.ProcessImpl.create(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:500)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:159)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1126)
... 114 common frames omitted
2024-11-11 12:18:58,817 INFO [Thread-0] org.apache.nifi.NiFi Application Server shutdown started
Я использую Python 3.11.4, как мне избавиться от этой ошибки, чтобы я мог видеть следующие процессоры в моем холсте apache-nifi.
Я использую Python 3.11.4, как мне избавиться от этой ошибки, чтобы я мог видеть следующие процессоры в моем холсте apache-nifi.
Я использую Python 3.11.4. р>
import pandas as pd
import io
from nifiapi.flowfiletransform import FlowFileTransform, FlowFileTransformResult
class ConvertCsvToExcel(FlowFileTransform):
class Java:
implements = ['org.apache.nifi.python.processor.FlowFileTransform']
class ProcessorDetails:
dependencies = ['pandas', 'xlsxwriter']
version = '0.0.1-SNAPSHOT'
description = 'Converts a CSV file into a Microsoft Excel file'
tags = ['csv', 'excel']
def __init__(self, **kwargs):
pass
def transform(self, context, flowFile):
csv_df = pd.read_csv(io.BytesIO(flowFile.getContentsAsBytes()))
bytesIo = io.BytesIO()
writer = pd.ExcelWriter(bytesIo, engine='xlsxwriter')
csv_df.to_excel(writer, index=False)
writer.close()
return FlowFileTransformResult(relationship = "success", contents = bytesIo.getvalue())
def getPropertyDescriptors(self):
return []
Подробнее здесь: https://stackoverflow.com/questions/791 ... -failed-to
API Apache Nifi Python: FactoryBean выдал исключение при создании объекта. Не удалось связаться с контроллером Python. ⇐ Python
Программы на Python
1731310614
Anonymous
Я следовал этому руководству, чтобы добавить собственные процессоры Python через Python API в Apache nifi-2.0.0-SNAPSHOT
Я разместил пользовательские скрипт Python по следующему пути C:\nifi-2.0.0-SNAPSHOT\python\extensions, и я установил nifi.properties следующим образом:
#####################
# Python Extensions #
#####################
# Uncomment in order to enable Python Extensions.
nifi.python.command="C:/Program Files/Python311/python.exe"
nifi.python.framework.source.directory=C:/nifi-2.0.0-SNAPSHOT/python/framework
nifi.python.extensions.source.directory.default=C:/nifi-2.0.0-SNAPSHOT/python/extensions
nifi.python.working.directory=C:/nifi-2.0.0-SNAPSHOT/work/python
nifi.python.max.processes=100
nifi.python.max.processes.per.extension.type=10
nifi.python.logs.directory=./logs
но я все еще получаю следующую ошибку в журнале nifi-app.log
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flowController': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Failed to communicate with Python Controller
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:176)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:101)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1898)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1284)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:345)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
... 93 common frames omitted
Caused by: java.lang.IllegalStateException: Failed to communicate with Python Controller
at org.apache.nifi.controller.FlowController.(FlowController.java:568)
at org.apache.nifi.controller.FlowController.createStandaloneInstance(FlowController.java:412)
at org.apache.nifi.spring.FlowControllerFactoryBean.getObject(FlowControllerFactoryBean.java:83)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:169)
... 105 common frames omitted
Caused by: java.io.IOException: Cannot run program "C:\nifi-2.0.0-SNAPSHOT\work\python\controller\bin\python.exe": CreateProcess error=2, The system cannot find the file specified
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1170)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1089)
at org.apache.nifi.py4j.PythonProcess.launchPythonProcess(PythonProcess.java:167)
at org.apache.nifi.py4j.PythonProcess.start(PythonProcess.java:101)
at org.apache.nifi.py4j.StandardPythonBridge.start(StandardPythonBridge.java:73)
at org.apache.nifi.components.ClassLoaderAwarePythonBridge.start(ClassLoaderAwarePythonBridge.java:53)
at org.apache.nifi.controller.FlowController.(FlowController.java:566)
... 108 common frames omitted
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.base/java.lang.ProcessImpl.create(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:500)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:159)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1126)
... 114 common frames omitted
2024-11-11 12:18:58,817 INFO [Thread-0] org.apache.nifi.NiFi Application Server shutdown started
Я использую Python 3.11.4, как мне избавиться от этой ошибки, чтобы я мог видеть следующие процессоры в моем холсте apache-nifi.
Я использую Python 3.11.4, как мне избавиться от этой ошибки, чтобы я мог видеть следующие процессоры в моем холсте apache-nifi.
Я использую Python 3.11.4. р>
import pandas as pd
import io
from nifiapi.flowfiletransform import FlowFileTransform, FlowFileTransformResult
class ConvertCsvToExcel(FlowFileTransform):
class Java:
implements = ['org.apache.nifi.python.processor.FlowFileTransform']
class ProcessorDetails:
dependencies = ['pandas', 'xlsxwriter']
version = '0.0.1-SNAPSHOT'
description = 'Converts a CSV file into a Microsoft Excel file'
tags = ['csv', 'excel']
def __init__(self, **kwargs):
pass
def transform(self, context, flowFile):
csv_df = pd.read_csv(io.BytesIO(flowFile.getContentsAsBytes()))
bytesIo = io.BytesIO()
writer = pd.ExcelWriter(bytesIo, engine='xlsxwriter')
csv_df.to_excel(writer, index=False)
writer.close()
return FlowFileTransformResult(relationship = "success", contents = bytesIo.getvalue())
def getPropertyDescriptors(self):
return []
Подробнее здесь: [url]https://stackoverflow.com/questions/79176756/apache-nifi-python-apifactorybean-threw-exception-on-object-creation-failed-to[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия