2017-05-05 18 views
0

私は 'add file'コマンドを使用します。ファイルはその後UDFによってロードされます。Hiveによってファイルが追加された場所はどこですか?

HDFSでhiveによって追加されたファイル(hdfs:// namenode:8026/user/hdfs)が見つかりません。私のudfメソッドにはパスが必要です。

ファイルのパスとudf経由での使用方法は何ですか?

答えて

0

UDF/UDTFからdfsパスにアクセスできないため、UDF/UDTFでローカルパスを提供する必要があります。

私のアプローチ:

チェックファイルは「/ tmp」のかないでローカルに存在している場合。 はいの場合、ファイルの長さがゼロでない場合はそれを使用し、それ以外の場合はDFS:/ sharedから '/ tmp'にファイルを引き出して処理を進めます。

+0

wow〜linux cmdはUDFで実行できます~~私はsthを学んだ!ありがとうございました! – superz

0

add fileハイブの分散キャッシュにファイルを追加します。

+0

返信ありがとうございました。私は新しい方法を見つける必要があります。 – superz

+0

詳細な要件を提供する場合は、お手伝いします。私はすでにこのシナリオに取り組んでいました。 –

+0

ありがとう!私は会社から買った* .datファイルを使ってIPアドレスを解決するUDTFを書いています。ですから、私のUDTFメソッドで.datファイルのパスを指定する必要があります。私はファイルをdfsに入れましたが、メソッドを実行すると「java.io.FileNotFoundException:hdfs:/192.168.7.20:8020/tmp/ip_20170204.dat(そのようなファイルやディレクトリはありません)」と表示されます – superz

関連する問題