2016-03-28 38 views
1

パーティション化されたハイブテーブルでビューを作成したいとします。私のビューの定義は以下の通りです:HIVEでのビューの作成

create view schema.V1 as select t1.* from scehma.tab1 as t1 inner join (select record_key ,max(last_update) as last_update from scehma.tab1 group by record_key) as t2 on t1.record_key=t2.record_key and t1.last_update=t2.last_update 

私のtab1テーブルはquarter_idで分割されています。私は、ビュー上の任意のクエリを実行すると、それはエラーになります

FAILED: SemanticException [Error 10041]: No partition predicate found for Alias "V1:t2:tab1" Table "tab1" 

よろしく Jayanta Layak

答えて

0

あなたのハイブの設定は、strictモードでジョブを実行するように設定する必要があります(ハイブ2.xでのデフォルト)。これにより、パーティションをフィルタリングするWHERE句を使用せずにパーティション表の問合せができなくなります。

すべてのパーティション(フルテーブルスキャン)でクエリを実行する必要がある場合は、モードを 'nonstrict'に設定できます。巨大な地図作成の仕事を引き起こすので、このプロパティを注意して使用してください。

set hive.mapred.mode=nonstrict; 

テーブルスキャン全体を必要としない場合は、クエリのWHERE句にパーティション値を指定するだけです。

+0

返信いただきありがとうございます。私はすでにそれを知っています。私の質問は、どのように私たちはパーティションテーブルのビューを作成できますか? –

関連する問題