hadoopクラスタ(BigInsight 4.1ディストリビューション)上でスパーク(1.5.1バージョン)ジョブの出力としてハイブテーブルを作成しようとしています。私の推測は、テーブルを作成するためにデフォルトのユーザー(この場合は '糸'ではなくジョブのサブミッターのユーザー名)を使用しているため、そうすることができません。スパークジョブによるハイブテーブルの作成
hive-site.xmlファイルをカスタマイズして、ハイブテーブルを作成する権限を持つ認証済みユーザーを設定しようとしましたが、動作しませんでした。
また、Hadoopユーザー変数を認証済みユーザーに設定しようとしましたが、それも機能しませんでした。
私はtxtファイルを保存しないで、ハイブテーブルを作成してパフォーマンスを最適化し、orc圧縮を使用して出力のサイズを縮小したいと考えています。
私の質問は以下のとおりです。
- は、指定したユーザーとスパークデータフレームAPI の書き込み機能を呼び出すための方法はありますか?
- oozieのワークフローファイルを使用してユーザー名を選択することはできますか?
- 誰かが別のアイデアを持っているか、この問題に直面していますか?
ありがとうございます。 ハタク!
はい、oozieではユーザー名を設定できますが、ハイブサイトはユーザーのなりすましをサポートするように設定する必要があります。 –
ありがとうございました。あなたの答えに基づいて、hive-site.xmlでプロパティ "hive.server2.enable.doAs"をtrueに設定する必要があることがわかりました。しかし、私はこれがクラスターにあるxmlで行われなければならないと思います。 – Hatak
私が知る限り、それは両方の場所に設定する必要があります。サーバーがユーザー情報をディスクに渡すように指示します。もう1つは、クライアントにそれをサーバーに渡すように指示します。ところで、デフォルト値はtrueです –