2

2 つのフローで構成されるCasacading(v1.2) casade ( http://docs.cascading.org/cascading/1.2/userguide/htmlsingle/#N20844 ) を作成しようとしています。

1) 最初のフローurlは s を db テーブルに出力します (自動インクリメント ID 値によって ID が自動的に割り当てられます)。このフローでは、URL のペアもSequenceFileフィールド名 " urlTo"、" urlFrom" に出力されます。

2) 2 番目のフローは、これらの両方のソースから読み取り、CoGroupon " urlTo" (SequenceFile から) および " " (db ソースから) を実行して、各 " "urlの db レコード " " を取得しようとします。idurlTo

次に、CoGroupon " urlFrom" および " " を実行して、各 " "urlのデータベース レコード " " を取得します。idurlFrom

2 番目のフローを実行する前に最初のフローで flow.complete() を呼び出すと、2 つのフローは個別に機能します。しかし、2 つのフローをカスケード オブジェクトに入れると、エラーが発生します。

cascading.cascade.CascadeException: no loops allowed in cascade, flow: urlLink*url*url, source: JDBCTap{connectionUrl='jdbc:mysql://localhost:3306/mydb', driverClassName='com.mysql.jdbc.Driver', tableDesc=TableDesc{tableName='urls', columnNames=null, columnDefs=null, primaryKeys=null}}, sink: JDBCTap{connectionUrl='jdbc:mysql://localhost:3306/mydb', driverClassName='com.mysql.jdbc.Driver', tableDesc=TableDesc{tableName='url_link', columnNames=[urlLinkFrom, urlLinkTo], columnDefs=[bigint(20), bigint(20)], primaryKeys=[urlLinkFrom, urlLinkTo]}}

カスケードを構成しようとすると。

addEdgeForの機能から来ていることがわかりますがCascadeConnector、この問題を解決する方法がわかりません。

Cascade/を使ったことがないCascadeConnector. 足りないものはありますか?

4

2 に答える 2