Hiveでテーブルを作成しようとしています
CREATE TABLE BUCKET_TABLE AS
SELECT a.* FROM TABLE1 a LEFT JOIN TABLE2 b ON (a.key=b.key) WHERE b.key IS NUll
CLUSTERED BY (key) INTO 1000 BUCKETS;
この構文は失敗していますが、この組み合わせステートメントを実行できるかどうかはわかりません。何か案は?
Hiveでテーブルを作成しようとしています
CREATE TABLE BUCKET_TABLE AS
SELECT a.* FROM TABLE1 a LEFT JOIN TABLE2 b ON (a.key=b.key) WHERE b.key IS NUll
CLUSTERED BY (key) INTO 1000 BUCKETS;
この構文は失敗していますが、この組み合わせステートメントを実行できるかどうかはわかりません。何か案は?
無理そうです。このようなクエリを ambari に送信しようとすると、次のようになります。
CREATE TABLE ready_requests
CLUSTERED BY (device) INTO 64 BUCKETS
as
SELECT ...;
「CREATE-TABLE-AS-SELECT は、ターゲット テーブルでのパーティショニングをサポートしていません」
パーティションがサポートされていないというドキュメントがあります。 リンクを参照してください。バケットについてはそのような情報はありませんが、同じ問題があるようです
clustered by 句で null 以外の列を使用する必要があります。