hive对有特殊值null的数据倾斜处理
对有特殊值的数据倾斜处理
SET hive.map.aggr=TRUE;
SET hive.groupby.skewindata=TRUE;
SET hive.optimize.skewjoin=TRUE;
set hive.auto.convert.join=false;
INSERT OVERWRITE TABLE HIS_RFD_SYMID_RESULT
PARTITION(tid='wcj01')
SELECT aa.MAC,aa.phoneNo,bb.member_type,bb.xx_mid
FROM
( SELECT mr.MAC,phoneNo FROM MAC_RFD_RESULT_VALUES mr WHERE mr.tid = 'wcj01') aa
LEFT OUTER JOIN
( SELECT mac,mobile,member_type,xx_mid
FROM member m
WHERE m.id >= 'wcj01' AND m.id <= 'wcj01}' AND m.mobile IS NOT NULL ) bb
ON CASE WHEN aa.phoneNo = 'null' THEN CONCAT(RAND(),'hive') WHEN aa.phoneNo IS NULL THEN CONCAT(RAND(),'hive') WHEN length(aa.phoneNo)= 0 THEN CONCAT(RAND(),'hive') ELSE aa.phoneNo END = bb.mobile;
<!--
set hive.fetch.task.conversion=more;
-->
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Hadoop学习(二)——HDFS简介
Hadoop提供了一个被称为HDFS的分布式文件系统的实现。HDFS是Hadoop系统的基础层,主要负责数据的存储、管理和容错处理,设计思想来源于Google的GFS(Google File System)文件系统。HDFS是一个运行在普通的硬件之上的分布式文件系统,它和现有的分布式文件系统有着很多的相似性,然而和其他分布式文件系统的区别也很明显:HDFS是高容错性的,可以部署在低成本的硬件之上;HDFS提供高吞吐量以应对应用程序数据访问,适合大数据集的应用程序;HDFS放开一些POSIX的需求去实现流式地访问文件数据;HDFS最初是为开源的Apache项目Nutch的基础结构而创建;HDFS是Hadoop项目的一部分。 HDFS的特点 HDFS认为硬件出现错误是经常发生的事情。HDFS部署在由廉价机器组成的集群中,整个集群中可能会有非常多的机器结点,结点的故障也是不可避免的,这种情况下,HDFS必须保证某些结点故障时,整个集群的工作不会受到影响。 HDFS支持超大规模的数据集。 HDFS采用“一次写入多次读取”的文件访问模型。HDFS简化了传统的文件访问模型,它假定当一个文件被创建、...
- 下一篇
Mahout聚类算法学习之Canopy算法的分析与实现
3.1 Canopy算法 3.1.1 Canopy算法简介 Canopy算法的主要思想是把聚类分为两个阶段:阶段一,通过使用一个简单、快捷的距离计算方法把数据分为可重叠的子集,称为“canopy”;阶段二,通过使用一个精准、严密的距离计算方法来计算出现在阶段一中同一个canopy的所有数据向量的距离。这种方式和之前的聚类方式不同的地方在于使用了两种距离计算方式,同时因为只计算了重叠部分的数据向量,所以达到了减少计算量的目的。 具体来说,阶段一,使用一个简单距离计算方法来产生具有一定数量的可重叠的子集。canopy就是一个样本数据集的子集,子集中的样本数据是通过一个粗糙的距离计算方法来计算样本数据向量和canopy的中心向量的距离,设定一个距离阈值,当计算的距离小于这个阈值的时候,就把样本数据向量归为此canopy。这里要说明的是,每个样本数据向量有可能存在于多个canopy里面,但是每个样本数据向量至少要包含于一个canopy中。canopy的创建基于不存在于同一个canopy中的样本数据向量彼此很不相似,不能被分为同一个类的这样的观点考虑的。由于距离计算方式是粗糙的,因此不能...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池