1

Hadoop では、ハイブ クエリのパフォーマンスを評価するために、これら 2 つの形式で遊んでいました。TEXTファイルとして保存されているテーブルでクエリを実行すると、シーケンスファイルとして保存されたものよりも早い結果が得られました。しかし、それは逆であってはなりませんか?また、参考までに、データを最初に TEXT File テーブルにロードしてから、SEQUENCEFILE テーブルにデータを転送しました。

create table text(acid int, value string, id int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '~' STORED AS TEXTFILE;

テーブル seq(acid int, value string, id int) STORED AS SEQUENCEFILE を作成します。

ロード データ ローカル inpath '-----' テーブル テキストに上書きします。

insert into table 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
4

1 に答える 1

0

どちらが速いかは多くの要因に依存します。シーケンス ファイルの利点は、それらを圧縮でき、ファイルを分割できることです。一方、テキスト ファイルを圧縮すると、分割できなくなります (LZO を使用している場合を除く)。

于 2013-07-01T06:31:23.053 に答える