第144章 HDFS2 コンポーネント

Camel バージョン 2.14 以降で利用可能

hdfs2 コンポーネントを使用すると、Hadoop 2.x を使用して HDFS ファイルシステムとの間でメッセージを読み書きできます。HDFS は、Hadoop の中心にある分散ファイルシステムです。

Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-hdfs2</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

144.1. URI 形式

hdfs2://hostname[:port][/path][?options]

次の形式でクエリーオプションを URI に追加できます: ?option=value&option=value&…
パスは次のように処理されます。

  1. コンシューマーとして、それがファイルの場合はファイルを読み取るだけで、それ以外の場合はディレクトリーを表す場合は、設定されたパターンを満たすパスの下にあるすべてのファイルをスキャンします。そのディレクトリーの下にあるすべてのファイルは、同じタイプである必要があります。
  2. プロデューサーとして、少なくとも 1 つの分割ストラテジーが定義されている場合、パスはディレクトリーと見なされ、そのディレクトリーの下で、プロデューサーは設定された UuidGenerator を使用して名前が付けられた分割ごとに異なるファイルを作成します。

hdfs2 から通常モードで消費すると、ファイルはチャンクに分割され、チャンクごとにメッセージが生成されます。chunkSize オプションを使用して、チャンクのサイズを設定できます。hdfs から読み取り、file コンポーネントを使用して通常のファイルに書き込みたい場合は、fileMode=Append を使用して各チャンクを一緒に追加できます。