2015-08-18 184 views
-1

在這種情況下,我們應該用豬UDF在這種情況下,我們應該使用隱語豬UDF或豬拉丁或兩者?

語境: 我工作的一個項目,以重建一個SQL「日誌」數據庫和我已到設計新的NoSQL數據庫。我正在學習NoSQL,並且對Hadoop/Cloudera知之甚少。

  1. 我想用豬來加載我沒有使用Cloudera的數據
  2. ,但可能會使用它

謝謝您的回答。

回答

0

如果您可以在Pig(或Hive)中執行此操作,請在Pig(或Hive)中執行此操作。

否則,請在Java MapReduce中執行此操作。

優勢豬:如CSV

結構化數據是很容易加載並使用 比Java 這並不是說慢得多不容易的Java級的錯誤 更易於讀取和寫入 無需編譯:更容易維護,更易於部署 有幾件事你可能認爲你最初不能在Pig裏做,並且想用Java來做,但是一旦你對它有更多瞭解,你可以在Pig裏做:

您可以用Java編寫用戶定義的加載器。無論如何,您將編寫一些Java來解析這種複雜的數據格式,那麼爲什麼不在Pig Loader中做呢?嵌套圖和bag數據類型可以很好地建模分層數據結構,但是您可能需要編寫大量的UDF。 您可以在Pig中使用Java MapReduce。這可以讓你在豬身上進行艱苦的操作,但是在其他地方更容易。 這裏有幾個,但你明白了。豬是非常可定製的,你最終會寫出更少的Java。

基本的東西很容易。我們可以做一些事情,比如分層數據結構,並且可以通過一些努力進行自定義加載。好的,剩下的是什麼?

分區器的異乎尋常的用途做某事MapReduce不適用於。 在DistributedCache中執行復雜的操作(基本的事情可以通過JOIN和USING「複製」來完成) 希望其他人可以添加他們無法訪問的東西,豬在評論中做。