0

次のようなディレクトリ構造があるとします。

/hdfs/foo
/hdfs/foo/foo1
/hdfs/foo/foo2

orc ファイルは foo1 と foo2 にあります。おそらく、foo の下に任意の数のサブディレクトリが存在する可能性があります。(それらは分割されたファイルです)。

サブディレクトリ内のすべてのファイルをリレーションにロードするにはどうすればよいですか?

私はもう試した:

relation = LOAD '/hdfs/foo' USING OrcStorage();

これはエラーにはなりませんが、リレーションには必要なデータのほとんどがありません。これが実際に何をしているのか、私は本当に理解していません。

relation = LOAD '/hdfs/foo*' using OrcStorage();

これにより、ファイルが見つからないという例外が発生します。

relation = LOAD '/hdfs/foo/*' using OrcStorage();

これにより、ファイルが見つからないという例外も発生します。

私は何を間違っていますか?

4

2 に答える 2

0

Pig はロード中にグロビング (公式ドキュメント) を許可しません。

何らかのスクリプトを使用するか、マニュアルを作成する必要があります。

OrcStorage(); を使用して、関係 = LOAD '/hdfs{/foo/file/foo/foo/file...)' を実行する必要があります。

于 2016-09-24T00:39:03.417 に答える