私は 'add file'コマンドを使用します。ファイルはその後UDFによってロードされます。Hiveによってファイルが追加された場所はどこですか?
HDFSでhiveによって追加されたファイル(hdfs:// namenode:8026/user/hdfs)が見つかりません。私のudfメソッドにはパスが必要です。
ファイルのパスとudf経由での使用方法は何ですか?
私は 'add file'コマンドを使用します。ファイルはその後UDFによってロードされます。Hiveによってファイルが追加された場所はどこですか?
HDFSでhiveによって追加されたファイル(hdfs:// namenode:8026/user/hdfs)が見つかりません。私のudfメソッドにはパスが必要です。
ファイルのパスとudf経由での使用方法は何ですか?
UDF/UDTFからdfsパスにアクセスできないため、UDF/UDTFでローカルパスを提供する必要があります。
私のアプローチ:
チェックファイルは「/ tmp」のかないでローカルに存在している場合。 はいの場合、ファイルの長さがゼロでない場合はそれを使用し、それ以外の場合はDFS:/ sharedから '/ tmp'にファイルを引き出して処理を進めます。
add file
ハイブの分散キャッシュにファイルを追加します。
返信ありがとうございました。私は新しい方法を見つける必要があります。 – superz
詳細な要件を提供する場合は、お手伝いします。私はすでにこのシナリオに取り組んでいました。 –
ありがとう!私は会社から買った* .datファイルを使ってIPアドレスを解決するUDTFを書いています。ですから、私のUDTFメソッドで.datファイルのパスを指定する必要があります。私はファイルをdfsに入れましたが、メソッドを実行すると「java.io.FileNotFoundException:hdfs:/192.168.7.20:8020/tmp/ip_20170204.dat(そのようなファイルやディレクトリはありません)」と表示されます – superz
wow〜linux cmdはUDFで実行できます~~私はsthを学んだ!ありがとうございました! – superz