2016-10-25 109 views
1

我已經使用Sqoop將數據從Oracle接收到Hadoop,並且它運行良好。只需要4分鐘就可以將8千萬條記錄從甲骨文帶到Hive桌面,而無需在Sqoop上使用分區。任何人都可以提供關於Oracle Hadoop連接器的一些細節,它會比Sqoop表現更好嗎?Oracle Hadoop連接器vs Sqoop

+0

根據Oracle文檔:Oracle Loader for Hadoop是一個在Hadoop集羣上運行以預處理數據的MapReduce程序。它可以對數據進行分區,排序並將數據轉換爲Oracle數據類型以準備加載。這將一些數據庫循環卸載到Hadoop上,這樣在加載期間就可以使用更少的數據庫CPU。在線模式下,預處理數據直接加載到數據庫中。在離線模式下,Oracle Loader for Hadoop將預處理數據寫入HDFS上的數據泵文件。在線模式有兩種加載選項,JDBC和直接路徑。 –

回答

0

大部分連接器的性能都接近相同,因爲您在工作流程的最後會有一組MapReduce作業,這會在整體性能中發揮主要作用。

Oracle提供了一組不同的連接器的訪問蜂巢,你可以檢查有關標準的解決方案很好的概述,但我懷疑,在快結束的時候,你會想到顯著的性能差異等,那麼你在Sqoop看到:

https://docs.oracle.com/cd/E37231_01/doc.20/e36961/start.htm#BDCUG119

Sqoop是一個通用工具,用於處理來自Hadoop領域的關係數據庫,並且它不受Oracle的限制。除此之外,它還與Oozie等其他Hadoop解決方案整合,用於製作複雜的工作流程,這使其成爲其他類型連接器的理想選擇。

個人我自己我更喜歡Sqoop Hadoop驅動的導入導出操作和連接器方法來查詢Hadoop中的數據。

0

Sqoop將利用標準的JDBC連接。 Oracles連接器將與集成到sqoop連接中的fastloader/fastexport類一起使用。 Sqoop應該更快。