第136章 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>
136.1. URI 形式
hdfs2://hostname[:port][/path][?options]
URI には、?option=value&option=value&…
の形式でクエリーオプションを追加できます。パスは以下の方法で処理されます。
- コンシューマーとしてファイルの場合、ファイルを読み取ります。ディレクトリーを表す場合は、設定されたパターンの条件を満たすパス下のすべてのファイルをスキャンします。そのディレクトリー下のすべてのファイルは同じタイプである必要があります。
- プロデューサーとして、少なくとも 1 つの分割ストラテジーが定義されている場合、パスはディレクトリーとみなされ、そのディレクトリー下では設定済みの UuidGenerator を使用して名前が付けられた分割されたファイルごとに別のファイルを作成します。
hdfs2 から通常モードを使用する場合、ファイルはチャンクに分割され、チャンクごとにメッセージを生成します。chunkSize オプションを使用してチャンクのサイズを設定できます。hdfs から読み取り、file コンポーネントを使用して通常のファイルに書き込む場合は、fileMode=Append を使用して各チャンクをまとめて追加できます。