天天看點

HQL的“DUMP table”語句應該注意的問題

“DUMP table”語句可以從表中導出CELL資料,儲存為本地或者DFS上的檔案。使用“file”關鍵字表示導出到本地(預設值),“dfs”關鍵字表示導出到DFS。

可以導出全表資料,也可以使用Where子句導出部分資料。Where子句可以跟row、value和timestamp條件,但是row和value隻能使用正規表達式。

以下是導出資料的幾種典型用法:

dump table foo into file "/home/cloudil/foo.tsv"  等同于 dump table foo into file "file:///home/cloudil/foo.tsv"    //導出全表到本地。預設為導出到本地檔案

dump table foo into file "file://foo.tsv"       //注意:比上一條指令少了一個"/"。導出全表到本地,但是會導出到目前使用者的預設目錄

dump table foo into file "dfs:///tmp/foo.tsv"    //導出全表到DFS

dump table foo into file "dfs://foo.tsv"    //注意:比上一條指令少了一個"/"。導出全表到DFS,但是會導出到目前使用者目錄,一般目錄為“/user/使用者名"

dump table foo  where "2012-11-11 10:20:30"<timestamp<"2012-11-11 10:30:30"  into file "dfs:///tmp/foo.tsv"   //導出滿足時間範圍的CELL到DFS,注意Where子句要寫在"into file"之前。