我有大約400萬行數據要導入到Keen.io中。非規範化的CSV結構看起來像附件here ...「維」列是一個字符串化的JSON對象。我看到Keen.io擁有CSV批量導入器。 「尺寸」欄將如何由進口商處理?它會把它變成一個物體嗎?關於我應該如何處理這個問題,你有什麼建議?謝謝!將批量數據導入到Keen.io中,其中一列被字符串化JSON
1
A
回答
1
首先讓我們以event data的形式組織您的數據,然後準備將其加載到Keen中。
您分享的鏈接看起來像是有一張關於魚的數據表(每條魚一行)和另一個關於規則的數據表。我假設,如果你只是試圖將這些表存儲在某個地方,你可以使用SQL數據庫或類似的Firebase。既然你有興趣把它們加載到Keen IO中,我會假設你有某種動作與你有興趣分析的這個數據相關,這就是你的意思是400萬行數據。
加載數據的第一步是確定其中與您有興趣記錄的這些事件相關的操作。
在這個例子中,假設您每次查看或保存魚類或法規時都要跟蹤。我們的事件集合將是:
- 查看魚
- 保存魚
- 觀調控
- 保存調節
每次這些事件的一個情況,我們會張貼到基恩採用這種格式。我們基本上是創建一個關於魚,調節,用戶等各相關屬性的對象:
// Create an event data object with the properties you want to send
// This is an example of sending an event using the Keen IO JavaScript SDK, but you could post the event from iOS, Android, or from the backend.
// This example is an event that happens when someone views details about a fish
var event = {
gid: "be68ea99-8f3b-9s9f",
fish: { // details about the fish
id: "168",
species_name: "Amberjack, Lesser"
},
user: { // details about the user
id: "029aomsldsf9aadfm"
},
app_type: "web", // "iOS", "Android"
keen: { // time the event happened
timestamp: new Date().toISOString()
}
};
// Send it to the "view_fish" collection
client.addEvent("view_fish", event);
理想的情況下你的應用儀器,使這些事件被髮布到敏銳的IO,因爲他們發生。
這聽起來像在這種情況下,你也有一些歷史數據加載。檢查出Keen IO bulk loading guide。爲此,您可以爲每個歷史事件創建CSV。第一行必須是列名。之後,每個事件有一行:
keen.timestamp, gid, fish.id, fish.species_name
2017-06-13T19:11:05Z, ae68ea99-2f3b-9s9z, "168", "Amberjack, Lesser"
2017-05-13T19:11:05Z, be88ea99-8f4b-3s9x, "44", "Scallop, Bay"
2017-04-13T19:11:05Z, ce33ea99-5f3b-9s9b, "223", "Scallop, Calico"
您將爲每個事件集合都有一個CSV,例如, 「view_fish」, 「save_fish」 等
然後你可以使用Keen CLI加載它們:
$ keen events:add --collection view_fish --file view_fish_events.csv --csv
$ keen events:add --collection save_fish --file save_fish_events.csv --csv
$ keen events:add --collection view_regulation --file view_regulation_events.csv --csv
$ keen events:add --collection save_regulation --file save_regulation_events.csv --csv
相關問題
- 1. 爲批量Keen.io上傳格式化JSON
- 2. 將批量json數據導入neo4j
- 3. 將JSON字符串導入到java
- 4. 將json字符串插入到mysql中
- 5. 將json字符串插入到mongoDB中
- 6. 將UTF-8中的批量CSV數據導入到MySQL中
- 7. 將MSSQL批量字符串插入到XML中
- 8. 將JSON字符串反序列化爲字符串數組
- 9. 將JSON字符串反序列化爲字符串數組
- 10. 如何將CSV數據從字符串導入到Postgres表中?
- 11. JSON數據中的「<」字符被序列化爲\ u003c
- 12. 反序列化json字符串並插入到SQL DB中
- 13. 將JSON導入到核心數據中
- 14. 將JSON數據導入到RavenDB中
- 15. 反序列化一個JSON字符串或字符串數組到一個Vec
- 16. 將JSON字符串導入到Firebase域中
- 17. 批量將CSV導入到Cassandra 2.0.3中
- 18. C# - 導入一個空的字符串不會通過批量導入發送到數據庫的CSV
- 19. 字符串序列化中的NewtonSoft JSON
- 20. 將JSON字符串序列化爲Scala/Play中的JSON
- 21. 串行化字符串數組到json
- 22. 快速json序列化長字符串將被截斷
- 23. 批量將JSON文檔導入MongoDB
- 24. 導入批量數據到MySQL
- 25. JSON字符串化陣列
- 26. 如何取消一個字符串並將其插入到mysql數據庫中
- 27. 反序列化JSON字符串到C#
- 28. 反序列化JSON字符串到類
- 29. jQuery dataTables - 將json字符串化數據傳遞到服務器
- 30. 如何將一些數據插入到AppleScript字符串中
感謝您的答覆。根據csv列標題,數據最終會在Keen.io中看起來如何?我已經開始以上面提到的類似格式將數據傳輸到Keen.io。我想把這些歷史數據放到那些相同的集合中,但我擔心導入工具不會以正確的格式導入它。 –
我會先運行一些測試到像「import_test」這樣的集合中,以確保事情看起來像您期望的一樣。您需要先將字符串化的json轉換爲列標題和值。一旦你這樣做並導入csv,它應該像我上面展示的例子一樣熱衷於JSON對象。您可以將存儲在Keen中的每個事件都視爲嵌套的JSON對象。 –
好的,我明白了。所以像'fish.name'這樣的列標題就會變成:{fish:{name:''}} 很酷的謝謝! –