2017-09-07 33 views
0

OLTP系統已規範化幷包含數百個表。在設計報告時,我們可能需要加入很多表格。例如,我需要加入四到五張表才能獲得客戶的電子郵件地址。 (感謝我們使用的電信模型)處理大數據中的複雜聯接

我想在hdfs(或者s3)中設計一個數據倉庫。

爲了將emaill地址和自定義ID寫入配置單元中的表中: 我需要使用sqoop import命令將五個表中的整個數據提取到hdfs中。然後我需要在蜂巢中加入這些表格。所以這個過程可能會持續很長時間才能獲得電子郵件信息

或者我可以使用sqoop query命令導入數據。這似乎更容易,並且在hdfs中佔用的空間更少,但在這種情況下,查詢執行時間至關重要。

在類似的情況下你的選擇是什麼?你有其他方法嗎?

謝謝

回答

0

你應該考慮denormalising你的模式。例如。使用sqoop導入您可能需要的配置單元中的所有表,準備一個ETL過程,該過程將該過程異化爲星型模式,並使用非規範化的新模式進行查詢。

E.g.你應該瞄準一個「客戶」表,其中電子郵件只是其中一個領域。