天天看点

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"之前。