簡體   English   中英

每次通過丟棄現有數據將大量數據導入Elasticsearch

[英]Importing a large amount of data into Elasticsearch every time by dropping existing data

目前,MySQL 數據庫中有一個非規范化表,其中包含數百列和數百萬條記錄。

數據的原始來源無法跟蹤更改,因此每天都會通過 CRON 作業刪除和重建整個表。

現在,我想將這些數據導入 Elaticsearch。 解決這個問題的最佳方法是什么? 我應該使用logstash直接連接到表並導入它還是有更好的方法? 將數據導出到 JSON 或類似文件是一個昂貴的過程,因為我們每次都在談論千兆字節的數據。

另外,我應該也將索引放在彈性中,還是有辦法讓它識別變化?

無論如何 - 我建議使用索引模板來簡化索引創建。

現在對於攝取策略,我看到了兩種可能的選擇:

  • 重新設計您的 ETL 流程以進行合並,而不是刪除並重新創建整個表。 這肯定會更慢,但只允許將增量發送到 ES 或任何其他數據源。
  • 正如您自己想象的那樣 - 您應該對使用日常工作的 Logstash 沒問題。 創建每日索引並在每日遷移期間刪除舊索引。
  • 您可以將緩沖區(例如 Kafka)引入您的基礎架構,但我覺得這對於您當前的用例來說可能有點過頭了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM