问题标签 [apache-nifi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2428 浏览

java - nifi 禁用控制器服务休息 api 调用失败

我正在使用spring 4.2.0and nifi 0.6.0,当我使用 RestTemplate 调用 restful api 来禁用 nifi 的控制器服务

我收到以下错误日志:

尼菲日志

2016-04-11 16:32:53,982 DEBUG [NiFi Web Server-90 - /nifi-api/controller/controller-services/node/5d99ca33-78f6-465e-9ab1-8c7cb5650025] o.a.n.w.StandardOptimisticLockingManager Revision check failed because current revision is [23, 5d4fe4d3-2f32-4a75-899a-458e8e62efce] but supplied revision is [null, 15976fcf-e01b-483c-994b-df812293d7ad] ...... 2016-04-11 16:32:53,990 DEBUG [NiFi Web Server-90 - /nifi-api/controller/controller-services/node/5d99ca33-78f6-465e-9ab1-8c7cb5650025] c.s.j.spi.container.ContainerResponse Mapped exception to response: 409 (Conflict) org.apache.nifi.web.InvalidRevisionException: This NiFi instance has been updated by 'anonymous'. Please refresh to synchronize the view. at org.apache.nifi.web.StandardOptimisticLockingManager.checkRevision(StandardOptimisticLockingManager.java:62) ~[nifi-web-optimistic-locking-0.6.0.jar:0.6.0] at org.apache.nifi.web.StandardOptimisticLockingManager.configureFlow(StandardOptimisticLockingManager.java:80) ~[nifi-web-optimistic-locking-0.6.0.jar:0.6.0] at org.apache.nifi.web.StandardNiFiServiceFacade.updateControllerService(StandardNiFiServiceFacade.java:1714) ~[classes/:0.6.0] at org.apache.nifi.web.StandardNiFiServiceFacade$$FastClassBySpringCGLIB$$358780e0.invoke() ~[classes/:0.6.0]

浏览器调用禁用 api 截图

有什么办法可以解决这个错误吗?

@Matt Gilman 我disable以两种方式改变了功能:

但我在 nifi 中遇到了同样的错误:

解决了

我比较浏览器禁用请求并再次阅读 api 文档,发现禁用控制器服务必须遵循以下步骤:

  1. 停止控制器服务参考
  2. 禁用控制器服务参考
  3. 设置控制器服务禁用状态

现在我的新禁用功能是

0 投票
1 回答
2127 浏览

postgis - 在 nifi 6.0 中将 ExecuteSQL 处理器的结果与 Json 内容合并

我正在处理包含地理坐标点的 json 对象。我想针对我在本地拥有的 postgis 服务器运行这些点,以评估多边形匹配中的点。

我希望用预先存在的处理器来做到这一点——我成功地使用“EvaluateJsonPath”处理器将纬度/经度坐标提取到属性中,并使用“ExecuteSQL”成功地向我的本地 postgis 数据存储发出查询。这给我留下了 avro 响应,然后我可以使用“ConvertAvroToJSON”处理器将其转换为 JSON。

我在如何将查询结果与原始 JSON 对象合并在一起时遇到概念问题。事实上,我有两个具有相同片段 ID 的流文件,理论上我可以将它们与“mergecontent”合并在一起,但这让我:

是否有任何建议的策略将 SQL 查询的结果合并到原始 json 结构中,所以我的结果将是这样的:

我正在运行 nifi 6.0、postgres 9.5.2 和 postgis 2.2.1。

我在https://community.hortonworks.com/questions/22090/issue-merging-content-in-nifi.html中看到了一些关于使用 replaceText 处理器的参考- 但这似乎是将属性中的内容合并到正文中内容。我错过了将原始内容与 SQL 响应的内容或从没有内容的 SQL 响应中提取的属性合并的要点。

编辑:

下面的 Groovy 脚本似乎可以满足需要。我不是一个 groovy 编码器,所以欢迎任何改进。

0 投票
2 回答
1807 浏览

apache-nifi - NIFI - 从测试到生产的开发

随着流程在开发、测试和生产阶段的推进,我们正在努力找出更新处理器配置的最佳方法。当流部署到特定环境时,我们真的希望避免在处理器中操作主机、端口等引用。至少在我们的例子中,我们将为 ElasticSearch、PostGres 等提供不同的主机。其他人是如何处理这个问题的?

我们考虑过的事情:

  • 使用表达式语言从属性文件中提取配置。这对于启用了 EL 的处理器非常有用,但对于没有启用 EL 的处理器则不然。
  • 操作流 xml 并覆盖主机、端口等配置。有点担心无意中损坏 xml 以及跨 NIFI 版本的可移植性。

任何提示或建议将不胜感激。很有可能存在我们忽略考虑的明显解决方案。

编辑:

我们将使用 Byran 建议的模板。它们肯定会满足我们的需求,并且似乎是我们在众多环境中控制配置的好方法。

https://github.com/aperepel/nifi-api-deploy

0 投票
1 回答
281 浏览

hadoop - Apache NiFi/Hive - 在 HDFS 中存储合并的推文,在 hive 中创建表

我想创建以下工作流程:

1.使用 GetTwitter 处理器获取推文。

  1. 使用 MergeContent 流程将推文合并到更大的文件中。

  2. 将合并的文件存储在 HDFS 中。

  3. 在 hadoop/hive 方面,我想根据这些推文创建一个外部表。

有一些示例如何执行此操作,但我缺少的是如何配置 MergeContent 处理器:设置为页眉、页脚和分界符的内容。以及在蜂​​巢侧使用什么作为分隔符,以便它将合并的推文分成几行。希望我清楚地描述了自己。

提前致谢。

0 投票
3 回答
721 浏览

apache-nifi - Apache Nifi 获取推特

我有一个简单的问题,因为我是 NiFi 的新手。

我有一个 GetTwitter 处理器设置和配置(假设正确)。我将 Twitter 端点设置为示例端点。我运行处理器并且它运行,但没有任何反应。我没有输入/输出

如何解决它正在做什么(或者在这种情况下不做什么)?

0 投票
1 回答
2075 浏览

apache-nifi - NIFI 未启动 | org.apache.nifi.web.NiFiCoreException:无法启动流控制器

我正在尝试重新启动 NiFi 并获得以下异常。

错误表示它是由位于 ./state/local/snapshot 的 Write-Ahead Log 使用该类编写的;无法使用 org.wali.MinimalLockingWriteAheadLog 恢复

我不确定这是什么意思?

有人可以在这里帮助我吗?

提前致谢。

0 投票
2 回答
1401 浏览

regex - ReplaceText 处理器配置

我在正则表达式方面不是那么好。执行以下操作的正确配置是什么;

  1. 从文本中删除反斜杠。
  2. 用。。。来代替 {
  3. 用。。。来代替 }

基本上我需要清理转义的 JSON。

就像之前一样:

后:

提前致谢。

0 投票
2 回答
6809 浏览

apache-nifi - 在 Apache NiFi 中获取失败原因

我想记录某些 NiFi 处理器发生故障的原因。但我看到它可能有多种原因。

SplitAvroJson 处理器的示例:“如果 FlowFile 由于任何原因无法处理(例如,FlowFile 不是有效的 Avro),它将被路由到此关系

是否有可能获得我失败的确切原因以便将其保存在例如放置文件中?

先感谢您。

0 投票
4 回答
37553 浏览

apache-nifi - Apache NiFi 和 StreamSet 之间的区别

我打算做一个课堂项目,并且正在研究一些可以自动化或设置系统之间数据流的技术,发现其中有几个,即 Apache NiFi 和 StreamSets(据我所知)。我无法理解的是它们与可以使用它们的用例之间的区别?我是新手,如果有人能解释一下我将不胜感激。谢谢

0 投票
1 回答
1981 浏览

oracle - Apache NiFi“ExecuteSQL”在 Oracle 数据库中使用联接查询不起作用

我尝试使用一个非常简单的 SQL 查询来检索 Oracle 数据库中两个表的连接内容:

该查询使用 Oracle SQL Developer 运行。

我在 NiFi 中使用 ojdbc7.jar 驱动程序。不包含连接的更简单的 SQL 查询与“ExecuteSQL”一起使用,例如

我也尝试过其他 SQL 语句(例如 INNER JOIN)。查询使用 Oracle SQL Developer 可以按预期工作,但在 NiFi 中则不行。有人能帮我吗?

NiFi 中的错误消息:

2016-05-03 11:30:02,413 错误 [Timer-Driven Process Thread-6] oanifi.processors.standard.ExecuteSQL org.apache.nifi.processor.exception.ProcessException:java.sql.SQLFeatureNotSupportedException:组织中不支持的功能。 apache.nifi.processors.standard.ExecuteSQL$1.process(ExecuteSQL.java:160) ~[nifi-standard-processors-0.6.1.jar:0.6.1] 在 org.apache.nifi.controller.repository.StandardProcessSession。写(StandardProcessSession.java:1954)~[na:na] at org.apache.nifi.processors.standard.ExecuteSQL.onTrigger(ExecuteSQL.java:152)~[nifi-standard-processors-0.6.1.jar:0.6 .1] 在 org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) [nifi-api-0.6.1.jar:0.6.1] 在 org.apache.nifi.controller.StandardProcessorNode.onTrigger( StandardProcessorNode.java:1059) [nifi-framework-core-0.6.1.jar:0。6.1] 在 org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136) [nifi-framework-core-0.6.1.jar:0.6.1] 在 org.apache.nifi.controller.tasks .ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47) [nifi-framework-core-0.6.1.jar:0.6.1] at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:123) [nifi-framework-core-0.6.1.jar:0.6.1] 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_60] 在 java.util.concurrent。 FutureTask.runAndReset(FutureTask.java:304) [na:1.7.0_60] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_60] at java.util.concurrent .ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.7.0_60] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_60] 在 java.util.concurrent。 ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60] 原因:java.sql.SQLFeatureNotSupportedException: oracle.jdbc.driver.ClobAccessor.getBytes(ClobAccessor.java:534) 中不支持的功能 ~[na:na] 在 oracle.jdbc.driver.GeneratedStatement.getBytes(GeneratedStatement.java:151) ~[na:na] 在 oracle .jdbc.driver.GeneratedScrollableResultSet.getBytes(GeneratedScrollableResultSet.java:326) ~[na:na] at org.apache.commons.dbcp.DelegatingResultSet.getBytes(DelegatingResultSet.java:241) ~[na:na] at org.apache .commons.dbcp.DelegatingResultSet.getBytes(DelegatingResultSet.java:241) ~[na:na] at org.apache.nifi.processors.standard.util.JdbcCommon.convertToAvroStream(JdbcCommon.java:105) ~[nifi-standard-processors -0.6.1.jar:0.6.1] 在 org.apache.nifi.processors.standard.util.JdbcCommon.convertToAvroStream(JdbcCommon.java:72) ~[nifi-standard-processors-0.6.1.jar:0.6。 1] 在 org.apache.nifi.processors.standard.ExecuteSQL$1.process(ExecuteSQL.java:158) ~[nifi-standard-processors-0.6.1.jar:0.6.1] ...省略了 14 个常见框架72) ~[nifi-standard-processors-0.6.1.jar:0.6.1] at org.apache.nifi.processors.standard.ExecuteSQL$1.process(ExecuteSQL.java:158) ~[nifi-standard-processors- 0.6.1.jar:0.6.1] ...省略了14个常用框架72) ~[nifi-standard-processors-0.6.1.jar:0.6.1] at org.apache.nifi.processors.standard.ExecuteSQL$1.process(ExecuteSQL.java:158) ~[nifi-standard-processors- 0.6.1.jar:0.6.1] ...省略了14个常用框架