mlcp を使用してデータをロードしています。このプロセスの完了後、データベースに挿入されたドキュメントの数を取得するにはどうすればよいですか?
編集:実際には、この MLCP プロセスを Java から初期化しています。Java アプリケーションに挿入されたレコード数が必要です。Javaアプリケーションからレコード挿入数を取得するにはどうすればよいですか
実行すると、mlcp はログATTEMPTED_INPUT_RECORD_COUNT
とエラーを記録します。あなたはそれを使うことができます。
既知のカウントから開始すると、管理 UI でデータベースのステータスを確認できます。
ドキュメントがデータベースにあるので、 を使用してクエリを実行し、カウントすることもできますxdmp:estimate
。たとえば、タイムスタンプが組み込まれた出力コレクションを設定することをお勧めします。またはmaintain-last-modified
有効になっている場合は、それを使用できます。
これらのアイデアが役に立たない場合は、質問を明確にすることができますか?
カウントを取得する手動の方法を探していますか、それとも、そのカウントで何かを行うコードがある場合に、カウントを取得するプログラムによる方法を探していますか?
後者については、上記のmblakeleの回答を2番目に使用します-コレクションは悪用されやすいですが、データベースに他のドキュメントが既にいくつかあるため、コレクション内のすべてのドキュメントを数えることができないと仮定すると、これはコレクションの良い使用例だと思いますデータベース。-output_collections を使用してコレクションを指定し、MLCP が使用する XDBC サーバーを使用して xdmp:estimate クエリを発行し、カウントを取得します。
後者の場合、MLCP を呼び出すためにある種の ETL ツールを使用しているかどうかに興味があります。たとえば、Camel、Spring Integration、またはそこにある多くのグラフィカル ツールの 1 つです。これらのツールとの MLCP の統合を改善することは、私の関心のある分野です。例については、https://github.com/rjrudin/ml-camel-clientを参照してください。
はい、私は「mblakele」と一緒です。MLCP は log4j をサポートして、すべてのアクティビティを記録します。log4j をセットアップするには、MLCP インストール ディレクトリの「conf」ディレクトリに移動し、「log4j.properties」の内容を次のように変更します。
#Define the root logger with appender file
log = C:/mlcp-Hadoop2-1.2-3/Log
log4j.rootLogger = INFO, FILE
#Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{dd/MM/yyyy HH:mm:ss} %p %c{2}: %m%n
'Log' フォルダーの下にログ ファイルが作成され、取り込まれたレコード数を取得できます。例えば: