現在、フォルダーの内容をハイブの信頼できないキャッシュに追加する際に問題があります。以下を使用して、Hive の分散キャッシュに複数のファイルを正常に追加できます。
ADD FILE /folder/file1.ext;
ADD FILE /folder/file2.ext;
ADD FILE /folder/file3.ext;
etc.
.
ADD FILES
また、 (複数の)オプションがあることもわかります。これは、次のようなディレクトリを指定できることを意味しますADD FILES /folder/;
。フォルダー内のすべてが含まれます(これは、Hadoop Streaming -files オプションで機能します)。しかし、これは Hive では機能しません。現在、各ファイルを明示的に追加する必要があります。
私はこれを間違っていますか?フォルダ全体のコンテンツを分散キャッシュに入れる方法はありますか。
PSワイルドカードを試しADD FILE /folder/*
ましADD FILES /folder/*
たが、それも失敗します。
編集:
ハイブ 0.11 の時点で、これがサポートされるようになりました。
ADD FILE /folder
今動作します。
私が使用しているのは、フォルダーの場所をパラメーターとしてハイブスクリプトに渡すことです。
$ hive -f my-query.hql -hiveconf folder=/folder
および my-query.hql ファイルで:
ADD FILE ${hiveconf:folder}
これですっきり整頓!