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 番目のフローは、これらの両方のソースから読み取り、CoGroup
on " urlTo
" (SequenceFile から) および " " (db ソースから) を実行して、各 " "url
の db レコード " " を取得しようとします。id
urlTo
次に、CoGroup
on " urlFrom
" および " " を実行して、各 " "url
のデータベース レコード " " を取得します。id
urlFrom
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
. 足りないものはありますか?