2016-05-29 11 views
0

S3またはHDFSのフォルダ外のハイブ外部テーブルを使用しています。 1日に1回、フォルダは完全に新しいファイルセットでリフレッシュされ、そのときに他の人がテーブルにアクセスするのを止めることはできません。これは更新時間がオフ時間であるため非常に稀ですが、それは起こり得る。Hive外部テーブル:基になるディレクトリの更新中にテーブルにアクセスする場合

中断することなくこのアップデートを処理する方法はありますか?私は2つのS3(またはHDFS)の場所を交互に切り替えて、代替のS3の場所で毎回「外部テーブルを作成」​​コマンドを実行するというソリューションを考えることができますが、わかりやすいソリューションがあるかどうかはわかりません。

ありがとうございます!

答えて

1

hivelocksによって自動的に処理されるため、回避策や処理は必要ありません。非パーティション表の場合表が読み取られるときには、X(Exclusive)ロックが取得され、他のすべての操作(表への挿入、任意の種類の表の変更など)ではロックが取得されます。S(shared)ロックが取得されます。クエリーが直面することができるのは、ロックが解除されるまで、結果を得るためのわずかな遅延です。参考:Hive Locking

関連する問題