作爲背景,我一直在研究Google BigQuery以用作BI類型工具的後端平臺。我想指出我還沒有使用BigQuery,所以我的問題都是圍繞我在文檔中看到的。Google BigQuery添加/更新數據
高層計劃是 - 也許 - 將Big Query作爲構建在Tableau之上的儀表板的「實時」源。
顯然加載數據將使用使用JSON非規範化結構的最佳方式(支持嵌套)
我看到我的JSON看起來像這樣:
{
FirstName: 'John',
LastName: 'Doe',
Orders: {
orderNo: 12345,
orderDate: '2013-01-01'
orderlines: {
lineNo: 1,
qty: 1,
price: 12,
productId: 1234
productName: 'Learning System',
productSubsystem: 'SUB'
}
},
LeadScores: {
{
scoreName: 'Learning Tech',
scoreValue: 123,
scoreDate: '2013-01-01'
},
{
scoreName: 'ScoreB',
scoreValue: 15,
scoreDate: '2013-01-01'
}
},
Activities {
** email opens, email clicks, page view, etc. (all here) **
{
activityType: 'email',
activityAction: 'open',
activityDescription 'message-1234'
}
}
}
現在我的問題:
我可以將記錄追加到「內部」集合(如我想每天追加更多活動)嗎?還是它需要成爲另一個實體? (如洞JSON是一個單一的實體)
這個結構是否有意義,或者會有更好的「3」左右的實體(活動,訂單,人口統計,分數)和使用JOIN?我讀到BigQuery不喜歡使用JOIN。
一個潛在的結構可能是
對於成績:
{
date: '2013-01-01',
scoreName: 'Score A',
scoreValue: '1234',
customerId: '123456'
}
對於活動:
{
date: '2013-01-01',
activityType: 'email',
activityAction: 'open',
extra: '',
customerId: '123456'
}
人口統計學
{
customerId: '123456',
firstName: 'A',
lastName: 'B', etc..
}
瓦這種方法更有意義嗎?
謝謝!
是的,我不想嘗試在一個圓孔中安裝一個方形釘。我需要給予更多的思考。我在bigquery上檢查了你的subreddit。偉大的東西那裏。遺憾的是GA數據僅適用於高端客戶。這麼多潛力! Thx再次 – turtlepick
是的,關於BQ的分析是非常有用的。在設計上,遵循的經驗法則是存儲便宜:您可以保留標準化和非標準化數據 - 並根據查詢進行選擇。 –