2016-05-30 64 views
0

目前我們每天都在刪除表格並運行將數據加載到表格的腳本。腳本需要3-4個小時才能獲得數據。因此,我們的目標是在新的數據加載執行完成之前將舊的配置單元數據提供給分析師。通過豬腳本刪除配置表格分區

我通過在load_year,load_month和load_day上分區的hive表格加載每日數據並通過刪除分區來刪除昨天的數據來實現hql腳本中的這件事。 但豬腳的選擇是什麼?我們可以通過豬腳改變桌子嗎?我不想執行另一個hql來分割豬後的分區。 謝謝

+0

豬用於數據流...所以雖然採摘過程PIC正確的數據資料...... –

+0

我很抱歉。我沒有得到你。我的問題與提取數據無關,它與將數據存儲在豬中以及存儲通過豬丟棄舊數據有關。 – Renu

回答

0

從HDP 2.3開始,您可以在Pig腳本中使用HCatalog命令。因此,您可以使用HCatalog命令刪除Hive表分區。以下是刪除Hive分區的示例:

-- Set the correct hcat path 
set hcat.bin /usr/bin/hcat; 
-- Drop a table partion or execute other any Hcatalog command 
sql ALTER TABLE midb1.mitable1 DROP IF EXISTS PARTITION(activity_id = "VENTA_ALIMENTACION",transaction_month = 1); 

另一種方法是在Pig腳本中使用sh命令執行。不過,我在轉換ALTER命令中的特殊字符時遇到了一些問題。所以,第一個是我認爲最好的選擇。

問候, 羅伯託Tardío