SMB結合の有無にかかわらずクエリを実行し、結果が異なります。説明してください。ハイブソートマージバケットマップ(SMBマップ)参加
SET hive.enforce.bucketing=true;
create table dbaproceduresbuckets (
owner string ,
object_name string ,
procedure_name string ,
object_id double ,
subprogram_id double ,
overload string ,
object_type string ,
aggregate string ,
pipelined string ,
impltypeowner string ,
impltypename string ,
parallel string ,
interface string ,
deterministic string ,
authid string)
CLUSTERED BY (object_id) SORTED BY (OBJECT_ID ASC) INTO 32 BUCKETS;
CREATE TABLE dbaobjectsbuckets1(
owner string,
object_name string,
subobject_name string,
object_id double,
data_object_id double,
object_type string,
created string,
last_ddl_time string,
timestamp string,
status string,
temporary string,
generated string,
secondary string,
namespace double,
edition_name string) CLUSTERED BY (object_id) SORTED BY (OBJECT_ID ASC) INTO 32 BUCKETS;
**** load the table;
0:JDBC:hive2:// XXXXXX:10000> SELECT COUNT(*)dbaobjectsbuckets1から、B 0 dbaproceduresbucketsます。jdbc:hive2:// XXXXXXXX:10000> a.object_id = Bを。 object_id; INFO:ステージ2のHadoopジョブ情報:マッパーの数:3。減速機の数:1 インフォメーション:2016-06-13 15:56:00,381ステージ2マップ= 0%、減量= 0% 情報:2016-06-13 15:56:55,818ステージ2マップ= 1% 、減= 0%、累積CPU 122.6秒 情報:2016-06-13 15:57:47,124ステージ2マップ= 7%、削減= 0%、累積CPU 326.86秒 ......... 。 INFO:2016-06-13 16:05:01,246ステージ2マップ= 100%、削減率= 100%、累積CPU 867.1秒 INFO:MapReduce合計累積CPU時間:14分27秒100 msec INFO:終了ジョブ= job_1464280256859_0146 + -------- + - + | _c0 | + -------- + - + | 54876 | + -------- + - +
****
set hive.auto.convert.sortmerge.join=true;
set hive.optimize.bucketmapjoin=true;
set hive.optimize.bucketmapjoin.sortedmerge=true;
set hive.auto.convert.sortmerge.join.noconditionaltask=true;
set hive.enforce.bucketing=true;
set hive.enforce.sorting=true;
0: jdbc:hive2://xxxxxxx:10000> select count(*) from dbaobjectsbuckets1 a, dbaproceduresbuckets b
0:JDBC:hive2:// XXXXXXXX:10000>ここでa.object_id = b.object_id。
in the execution plan, I am seeing
|ソートされたマージバケットマップ結合演算子| |条件マップ:| |内部結合0から1 | |キー:| | 0 object_id(タイプ:double)| | 1 OBJECT_ID(タイプ:ダブル)
**** but the result is showing
INFO : Hadoop job information for Stage-1: number of mappers: 32; number of reducers: 1
......
INFO : MapReduce Total cumulative CPU time: 4 minutes 8 seconds 490 msec
INFO:終了したジョブ= job_1464280256859_0150 + ------ + - + | _c0 | + ------ + - + | 2 | + ------ + - +
?????私の質問は、私がSMBに参加したときに2になったのはなぜですか?それは54876であるはずです。
ありがとう!句によって