PageRenderTime 43ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/release-0.0.0-rc0/hive/external/ql/src/test/queries/clientpositive/bucketmapjoin2.q

#
text | 80 lines | 62 code | 18 blank | 0 comment | 0 complexity | 6cb01a8fd1c46e864669c0b8ae718c14 MD5 | raw file
Possible License(s): Apache-2.0, BSD-3-Clause, JSON, CPL-1.0
  1. CREATE TABLE srcbucket_mapjoin(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE;
  2. load data local inpath '../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin;
  3. load data local inpath '../data/files/srcbucket21.txt' INTO TABLE srcbucket_mapjoin;
  4. CREATE TABLE srcbucket_mapjoin_part (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE;
  5. load data local inpath '../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08');
  6. load data local inpath '../data/files/srcbucket21.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08');
  7. load data local inpath '../data/files/srcbucket22.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08');
  8. load data local inpath '../data/files/srcbucket23.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08');
  9. CREATE TABLE srcbucket_mapjoin_part_2 (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE;
  10. load data local inpath '../data/files/srcbucket22.txt' INTO TABLE srcbucket_mapjoin_part_2 partition(ds='2008-04-08');
  11. load data local inpath '../data/files/srcbucket23.txt' INTO TABLE srcbucket_mapjoin_part_2 partition(ds='2008-04-08');
  12. create table bucketmapjoin_hash_result_1 (key bigint , value1 bigint, value2 bigint);
  13. create table bucketmapjoin_hash_result_2 (key bigint , value1 bigint, value2 bigint);
  14. set hive.optimize.bucketmapjoin = true;
  15. create table bucketmapjoin_tmp_result (key string , value1 string, value2 string);
  16. explain extended
  17. insert overwrite table bucketmapjoin_tmp_result
  18. select /*+mapjoin(b)*/ a.key, a.value, b.value
  19. from srcbucket_mapjoin a join srcbucket_mapjoin_part_2 b
  20. on a.key=b.key and b.ds="2008-04-08";
  21. insert overwrite table bucketmapjoin_tmp_result
  22. select /*+mapjoin(b)*/ a.key, a.value, b.value
  23. from srcbucket_mapjoin a join srcbucket_mapjoin_part_2 b
  24. on a.key=b.key and b.ds="2008-04-08";
  25. select count(1) from bucketmapjoin_tmp_result;
  26. insert overwrite table bucketmapjoin_hash_result_1
  27. select sum(hash(key)), sum(hash(value1)), sum(hash(value2)) from bucketmapjoin_tmp_result;
  28. set hive.optimize.bucketmapjoin = false;
  29. insert overwrite table bucketmapjoin_tmp_result
  30. select /*+mapjoin(b)*/ a.key, a.value, b.value
  31. from srcbucket_mapjoin a join srcbucket_mapjoin_part_2 b
  32. on a.key=b.key and b.ds="2008-04-08";
  33. select count(1) from bucketmapjoin_tmp_result;
  34. insert overwrite table bucketmapjoin_hash_result_2
  35. select sum(hash(key)), sum(hash(value1)), sum(hash(value2)) from bucketmapjoin_tmp_result;
  36. select a.key-b.key, a.value1-b.value1, a.value2-b.value2
  37. from bucketmapjoin_hash_result_1 a left outer join bucketmapjoin_hash_result_2 b
  38. on a.key = b.key;
  39. set hive.optimize.bucketmapjoin = true;
  40. explain extended
  41. insert overwrite table bucketmapjoin_tmp_result
  42. select /*+mapjoin(a)*/ a.key, a.value, b.value
  43. from srcbucket_mapjoin a join srcbucket_mapjoin_part_2 b
  44. on a.key=b.key and b.ds="2008-04-08";
  45. insert overwrite table bucketmapjoin_tmp_result
  46. select /*+mapjoin(a)*/ a.key, a.value, b.value
  47. from srcbucket_mapjoin a join srcbucket_mapjoin_part_2 b
  48. on a.key=b.key and b.ds="2008-04-08";
  49. select count(1) from bucketmapjoin_tmp_result;
  50. insert overwrite table bucketmapjoin_hash_result_1
  51. select sum(hash(key)), sum(hash(value1)), sum(hash(value2)) from bucketmapjoin_tmp_result;
  52. set hive.optimize.bucketmapjoin = false;
  53. insert overwrite table bucketmapjoin_tmp_result
  54. select /*+mapjoin(a)*/ a.key, a.value, b.value
  55. from srcbucket_mapjoin a join srcbucket_mapjoin_part_2 b
  56. on a.key=b.key and b.ds="2008-04-08";
  57. select count(1) from bucketmapjoin_tmp_result;
  58. insert overwrite table bucketmapjoin_hash_result_2
  59. select sum(hash(key)), sum(hash(value1)), sum(hash(value2)) from bucketmapjoin_tmp_result;
  60. select a.key-b.key, a.value1-b.value1, a.value2-b.value2
  61. from bucketmapjoin_hash_result_1 a left outer join bucketmapjoin_hash_result_2 b
  62. on a.key = b.key;