我有一個Hive Table「log」,其中包含日誌信息。該表每小時加載一次新的日誌數據。我想在過去的2天內對日誌做一些快速分析,所以我想將最近48小時的數據提取到我的關係數據庫中。
爲解決上述問題,我創建了一個由HIVE SQL查詢加載的登臺配置單元表。在將新數據加載到登臺表後,我使用sqoop Query將新登錄加載到關係數據庫中。
問題是sqoop正在將數據加載到BATCH中的關係數據庫中。所以在任何特定的時間,我只有部分時間的日誌。
這導致錯誤的分析輸出。
問題:
1)。如何使此Sqoop數據加載事務性,即所有記錄都導出或不導出。 2)。在Hive Table - > Staging Table - > Relational Table的整個過程中,構建此數據管道的最佳方式是什麼。
技術細節:
的Hadoop版本1.0.4
Hive- 0.9.0
Sqoop - 1.4.2
我有一個主HIVE表(主),從中查詢並存儲數據到第二個配置表與關係數據庫相同。現在,如果我使用--staging-table選項,那麼它將創建一個臨時表。恕我直言,這將是一個巨大的性能打擊,因爲我正在處理大量的數據。有沒有更好的方法來做到這一點? – SleepyThread 2013-02-21 21:15:37