在hadoop中我只是使用这两种格式来评估hive查询的性能。当我在桌面上进行查询时,我最终得到了存储为TEXT文件的结果,而不是存储为序列文件的结果。但不应该是其他方式吗?另外,我还是先将数据加载到TEXT文件表中,然后在SEQUENCEFILE表中传输数据。
创建表格文本(酸性int,值字符串,id int) 由'〜'终止的行格式删除字段 存储为文本文件;
create table seq(acid int,value string,id int) 存储为序列文件;
在路径中加载数据本地'-----'覆盖到表格文本中;
插入表格seq select * from text;
Text FILE :
Time taken: 36.284 seconds
Vs
SequenceFile :
Time taken: 42.446 seconds
Text FILE :
Time taken: 22.547 seconds
Vs
SequenceFile :
Time taken: 25.547 seconds
答案 0 :(得分:0)
哪一个更快取决于许多因素,序列文件的优点是你可以压缩它们并且文件仍然可以拆分,而如果你压缩文本文件它们将不再可拆分(除非你正在使用LZO)。