Я выполнил запрос с подключением 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> выберите отсчет (*) от dbaobjectsbuckets1 а, б dbaproceduresbuckets 0: hive2: JDBC: // XXXXXXXX: 10000>, где a.object_id = Ь. object_id; INFO: информация о работе Hadoop для Stage-2: количество карт: 3; количество редукторов: 1 INFO: 2016-06-13 15: 56: 00,381 Карта Stage-2 = 0%, уменьшение = 0% INFO: 2016-06-13 15: 56: 55,818 Карта Stage-2 = 1% , уменьшение = 0%, кумулятивный CPU 122,6 с INFO: 2016-06-13 15: 57: 47,124 Карта Stage-2 = 7%, уменьшение = 0%, Накопительный CPU 326,86 с ......... INFO: 2016-06-13 16: 05: 01,246 Карта Stage-2 = 100%, уменьшение = 100%, кумулятивный процессор 867,1 с INFO: MapReduce Общее суммарное время процессора: 14 минут 27 секунд 100 мс INFO: Закончено Job = 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
| Сортированная карта слияния ковша Присоединиться к оператору | | карта состояния: | | Inner Join 0 to 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 | + ------ + - +
????? Мой вопрос, почему он только получил 2, когда я использовал SMB присоединиться ?????? Предполагается, что это будет 54876.
Спасибо!