0
私はデータベースからデータを索引付けしています。最近更新されたデータを取得するためにデルタインポートを使用しています。しかし、変更が1行にしか適用されないものの、データ全体を2回フェッチして一度処理することがわかりました。DeltaImportがすべてのデータを取得します
deltaqueryが指定されているマイconfig.xmlに:
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.github.cassandra.jdbc.CassandraDriver" url="jdbc:c*://127.0.0.1:9042/test" autoCommit="true" rowLimit = '-1' batchSize="-1"/>
<document name="content">
<entity name="test" query="SELECT * from person" deltaImportQuery="select * from person where seq=${dataimporter.delta.seq}" deltaQuery="select seq from person where last_modified > '${dataimporter.last_index_time}' ALLOW FILTERING" autoCommit="true">
<field column="seq" name="id" />
<field column="last" name="last_s" />
<field column="first" name="first_s" />
<field column="city" name="city_s" />
<field column="zip" name="zip_s" />
<field column="street" name="street_s" />
<field column="age" name="age_s" />
<field column="state" name="state_s" />
<field column="dollar" name="dollar_s" />
<field column="pick" name="pick_s" />
</entity>
</document>
</dataConfig>
について210万行があります。そのため、常に大きなメモリ消費が発生し、メモリ不足が発生します。何が問題なの?それとも、この方法でのみ動作しますか?
dataimport.propertiesファイルをチェックしましたか?最後のインデックスタイムスタンプが更新されていますか? – Jeyaprakash
はい、更新されます。 –