`
superlxw1234
  • 浏览: 552303 次
  • 性别: Icon_minigender_1
  • 来自: 西安
博客专栏
Bd1c0a0c-379a-31a8-a3b1-e6401e2f1523
Hive入门
浏览量:44544
社区版块
存档分类
最新评论

hive--Sort Merge Bucket Map Join

阅读更多

Bucket Map Join

 

1. 测试1:两个1亿多记录的表,不存在数据倾斜与笛卡尔积,测试下来与普通的join差不多;

 

2. 测试2:一个4000万和一个5000多万的表join,关联键数据倾斜,并且笛卡尔积,效果明显;

 

create table lxw_test(imei string,sndaid string,data_time string)
CLUSTERED BY(imei) SORTED BY(imei) INTO 10 BUCKETS;

create table lxw_test1(imei string,sndaid string,data_time string)
CLUSTERED BY(imei) SORTED BY(imei) INTO 5 BUCKETS;

 

两个表关联键为imei,需要按imei分桶并且排序,小表(lxw_test)分桶数是大表(lxw_test1)的倍数(这点是在网上看的,需要这样,暂且这么做了);

 

set hive.enforce.bucketing = true;

插入数据前需要打开该选项;

 

insert overwrite table lxw_test
select imei,sndaid,null  
from woa_all_user_info_his 
where pt = '2012-05-28' 
limit 40000000;


insert overwrite table lxw_test1
select imei,sndaid,data_time 
from woa_all_user_info_his 
where pt = '2012-05-28';

 

 

join时需要打开的参数:

set hive.optimize.bucketmapjoin = true;
set hive.optimize.bucketmapjoin.sortedmerge = true;
set hive.input.format=org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat;

 

select /*+ mapjoin(b) */ count(1) 
from lxw_test1 a 
join lxw_test b 
on a.imei = b.imei 

 

将小表做为驱动表,mapjoin;

包括insert数据,差不多10分钟左右;

如果这两个表做普通的join, 耗时1个多小时,没跑完,kill掉了。

 

分享到:
评论
1 楼 tivan 2012-11-23  

相关推荐

    含两个文件hive-jdbc-3.1.2-standalone.jar和apache-hive-3.1.2-bin.tar.gz

    含两个文件hive-jdbc-3.1.2-standalone.jar和apache-hive-3.1.2-bin.tar.gz 含两个文件hive-jdbc-3.1.2-standalone.jar和apache-hive-3.1.2-bin.tar.gz 含两个文件hive-jdbc-3.1.2-standalone.jar和apache-hive-...

    apache-hive-2.1.1-bin.tar

    apache-hive-2.1.1-bin.tar apache-hive-2.1.1-bin.tar apache-hive-2.1.1-bin.tarapache-hive-2.1.1-bin.tar apache-hive-2.1.1-bin.tar apache-hive-2.1.1-bin.tarapache-hive-2.1.1-bin.tar apache-hive-2.1.1-...

    Hive-2.1.1-CDH-3.6.1 相关JDBC连接驱动 Jar 包集合

    02、hive-exec-2.1.1-cdh6.3.1.jar 03、hive-jdbc-2.1.1-cdh6.3.1.jar 04、hive-jdbc-2.1.1-cdh6.3.1-standalone.jar 05、hive-metastore-2.1.1-cdh6.3.1.jar 06、hive-service-2.1.1-cdh6.3.1.jar 07、libfb303-...

    hive-exec-2.1.1.jar

    hive-exec-2.1.1 是 Apache Hive 的一部分,特别是与 Hive 的执行引擎相关的组件。Apache Hive 是一个构建在 Hadoop 之上的数据仓库基础设施,它允许用户以 SQL(结构化查询语言)的形式查询和管理大型数据集。Hive ...

    hive-jdbc-1.2.1-standalone.jar

    hive-jdbc-1.2.1-standalone.jar hive-jdbc驱动jar包,欢迎下载

    hive驱动包hive-jdbc-uber-2.6.5.0-292.jar(用户客户端连接使用)

    标题中的"**hive-jdbc-uber-2.6.5.0-292.jar**"是一个Uber(也称为Shaded)JAR文件,它集成了Hive JDBC驱动的所有依赖项。Uber JAR的目的是为了方便部署,因为它将所有必需的库合并到一个单一的文件中,避免了类路径...

    hive-jdbc-3.1.2-standalone

    hive-jdbc-3.1.2-standalone适用于linux

    hive-jdbc-jar-多版本.zip

    "hive-jdbc-jar-多版本.zip"是一个压缩包,包含了不同版本的Hive JDBC Uber Jars,覆盖了从1.5到1.8的多个Hive版本,适应不同的项目需求。 首先,我们要理解Uber JAR的概念。Uber JAR(也称为Shaded JAR)是一个...

    Apache Hive(apache-hive-3.1.3-bin.tar.gz)

    Apache Hive(apache-hive-3.1.3-bin.tar.gz、apache-hive-3.1.3-src.tar.gz)是一种分布式容错数据仓库系统,支持大规模分析,并使用 SQL 促进读取、写入和管理驻留在分布式存储中的 PB 级数据。Hive 构建在 Apache...

    hive-exec-*.jar包

    Missing Hive Execution Jar: /hive/hive1.2.1/lib/hive-exec-*.jar

    hive-jdbc-2.1.1-cdh6.2.0-standalone.jar

    hive-jdbc-2.1.1-cdh6.2.0(ieda等jdbc链接hive2.1.1);cdh6.2.0安装的hive2.1.1

    hive-exec-2.1.1-cdh6.3.1.jar

    hive-exec-2.1.1-cdh6.3.1.jar

    hive-jdbc-2.1.0.jar

    hive-jdbc-2.1.0.jar

    apache-hive-3.1.2-bin.tar.gz

    3. `conf/`:默认的配置文件,如`hive-default.xml`和`hive-site.xml`,用户可以在此修改Hive的行为。 4. `scripts/`:包含Hive的一些初始化和管理脚本。 5. `metastore/`:元数据存储相关的库和脚本,Hive使用元...

    hive-jdbc-2.1.0-standalone.jar

    hive-jdbc-2.1.0-standalone.jar

    hive-jdbc-uber-2.6.5.jar

    hive-jdbc-uber-2.6.5.0-292.jar DbVisualizer (as of version 9.5.5) Below is an example configuration using DbVisualizer: Open the Diver Manager dialog ("Tools" > "Driver Manager...") and hit the ...

    Apache Hive(apache-hive-1.2.2-bin.tar.gz)

    Apache Hive(apache-hive-1.2.2-bin.tar.gz、apache-hive-1.2.2-src.tar.gz)是一种分布式容错数据仓库系统,支持大规模分析,并使用 SQL 促进读取、写入和管理驻留在分布式存储中的 PB 级数据。Hive 构建在 Apache...

    hive-exec-3.1.2 排除guava

    hive-exec-3.1.2 排除guava

    hive-jdbc-1.2.1.spark2.jar

    hive-serde-1.1.0,mysql-connector-java-5.1.31.jar,hive-jdbc-standalone,atlas-plugin-classloader-1.2.0,hive-bridge-shim-1.2.0

    hive-jdbc-uber-3.1.2+yanagishima-18.0

    这里我们关注的是"Hive-jdbc-uber-3.1.2",这是一个包含所有依赖的Uber jar包,旨在简化部署和使用流程。 Hive JDBC Uber 3.1.2是Hive的Java数据库连接器的一个优化版本,它通过将所有必需的依赖项打包到一个单一的...

Global site tag (gtag.js) - Google Analytics