我們正在使用Cloudera CDH在Hadoop框架上創建POC。我們想要將多個客戶端的數據加載到Hive表中。將多個客戶端數據加載到Hadoop中的最佳實踐
截止目前,我們在SQL Server上爲每個客戶端分別建立數據庫。 OLTP的這種基礎結構將保持不變。 Hadoop將用於OLAP。 我們有一些主要的維度表,每個客戶端都是一樣的。所有客戶端數據庫都有完全相同的模式這些表具有相同的主鍵值。到目前爲止,這很好,因爲我們爲客戶端分開數據庫。現在我們試圖將多個客戶端數據加載到同一個數據容器(Hive表)中。現在,如果我們通過Sqoop作業將數據直接從多個SQL Server數據庫加載到Hive中,我們將擁有多個具有相同主鍵值的行。我想在Hive表中使用代理鍵,但Hive不支持自動增量,但可以使用UDF實現。
我們不想在運行生產數據時修改SQL Server數據。
a。將多個客戶端數據加載到Hadoop生態系統中的標準/通用方式/解決方案是什麼?
b。 SQL Server數據庫表的主鍵如何輕鬆映射到Hadoop Hive表?
c。我們如何確保一個客戶端永遠無法看到其他客戶端的數據?
感謝
您是否真的期望在Hive中擁有「主鍵」?並在多個維度上運行具有多個連接的R-OLAP查詢?祝你好運... –
*「所有客戶端數據庫都有架構」* - 你的意思是*相同的確切架構*? –
您是否有任何真正的需求來合併來自不同客戶端的數據在同一個數據庫和相同的表中?在那種情況下,你是否考慮在每個事實表中爲每個客戶使用特定的分區?否則,爲什麼不爲每個客戶創建一個專用的事實數據庫以及常見維度的公共數據庫? –