cfs-archiveを使用した非常に大きなファイルの格納

Cassandraファイル・システム(CFS)は、cfsとcfs-archiveの2つの層で構成されています。非常に大きなファイルを長期にわたって格納する場合は、cfs-archiveの使用を推奨します。

Cassandraファイル・システム(CFS)は、cfsとcfs-archiveの2つの層で構成されています。これらの層には以下のHadoopシェル・コマンドとURIを使用してアクセスします。

  • cfs:// cassandra層用
  • cfs-archive:// cassandraアーカイブ層用
注: 異なる名前を使用して、他のCFSを作成できます。-archiveサフィックスが付いたファイル・システムは、アーカイブ・ファイル・システムです。

テラバイト単位のデータを含むファイルのような非常に大きなファイルを長期にわたって格納する場合は、cfs-archiveを使用することを強く推奨します。一方、cfsの使用は奨励されません。この層のデータには意図された動作であるコンパクション・プロセスが定期的に実行されるためです。Hadoopではcfs層を多くの小さなファイルや一時データに使用します。これらは削除された後にクリーンアップする必要があります。cfs-archive層の代わりにcfs層を使用した場合、非常に大きなファイルのコンパクションには数日もの時間がかかることがあります。一方、cfs-archive層に格納されているファイルのコンパクションは自動的には行われません。nodetool compactコマンドを使用して、手動でコンパクションを開始することができます。

例:ファイルをcfs-archiveに格納する

この例は、LinuxのDataStax Enterpriseインストール・ディレクトリーからHadoopシェル・コマンドを使用して、ファイルをcfs-archiveに格納する方法を示します。

  1. ディレクトリーをcfs-archive層に作成します。以下のように追加のスラッシュを使用する必要があります。
    bin/dse hadoop fs -mkdir cfs-archive:///20140401
  2. Hadoopシェルのputコマンドと絶対パス名を使用してファイルをcfs-archive層に格納します。
    bin/dse hadoop fs -put big_archive.csv cfs-archive:///20140401/big_archive.csv
  3. ファイルがcfs-archiveに格納されていることを確認します。
    bin/dse hadoop fs -ls cfs-archive:///20140401/