文档章节

hive 数据迁移SQL

f
 fly_xiang
发布于 2016/06/28 17:55
字数 416
阅读 163
收藏 2
#!/bin/sh
. /etc/profile

workdir=$(dirname $0)
cd $workdir || exit 1

if [[ $# -eq 1 ]]; then
    startday=$(date +%Y%m%d -d "$1")
    endday=$startday
elif [[ $# -eq 2 ]]; then
    startday=$(date +%Y%m%d -d "$1")
    endday=$(date +%Y%m%d -d "$2")
else    
    startday=`date +%Y%m%d --date '-1 day'`
    endday=$startday
fi

while(($startday <= $endday)); do
    echo "==============================${startday}======================"

#insert overwrite table qyer.clean_track partition(logdate='$startday') select  user_id,unique_id,server_timestamp,session_timestamp,local_time,tz,ip,lon,lat,path,referer,type,category,ra_arg,os_browser,channel,ugc_type,platform,ugc_content,map(),refer_ugc_type,refer_ugc_content,'-',loghour,link_url,client_id,extra,map() from qyer.user_tracks where logdate='$startday';

hive -e  "
set mapreduce.job.maps=3;
set mapreduce.input.fileinputformat.split.minsize=330572800;
set mapreduce.input.fileinputformat.split.maxsize=330572800;
set mapreduce.map.output.compress=true;
set mapreduce.map.output.compress.codec=com.hadoop.compression.lzo.LzopCodec;
set mapreduce.output.fileoutputformat.compress=true;
set mapreduce.output.fileoutputformat.compress.codec=com.hadoop.compression.lzo.LzopCodec;
set hive.exec.compress.output=true;
set hive.exec.compress.intermediate=true;
use qyer;
alter table clean_track drop IF EXISTS partition (logdate='$startday');
insert overwrite  DIRECTORY '/flume/clean/track/$startday/' 
select  user_id,unique_id,server_timestamp,session_timestamp,local_time,tz,ip,lon,lat,path,referer,type,category,ra_arg,os_browser,channel,ugc_type,platform,ugc_content,map(),refer_ugc_type,refer_ugc_content,'-',loghour,link_url,client_id,extra,map() from qyer.user_tracks  where logdate='$startday' ;
ALTER TABLE clean_track add partition(logdate='$startday') location '/flume/clean/track/$startday/';
"

    if (($? != 0 )); then
    	echo "error occurs when deal with day ${startday}"
    	exit 1
    fi

    echo "==============================finished ${startday}======================"
    startday=$(date +%Y%m%d -d "$startday +1 days" )
done

hive使用map join:

hive -e "set hive.auto.convert.join=false;
set hive.ignore.mapjoin.hint=false;
select /*+ MAPJOIN(a) */ a.xid,b.id,b.platform,a.dora_id from (select xid,dora_id from qyer.xid_doraid where stat_date='20160530') a join (select if(user_id in ('0','-'),unique_id,user_id) as id,platform from qyer.clean_track where logdate='20160530' and loghour=9) b on a.xid=b.id" > 9.txt
查看文件大小
hadoop fs -du -s -h /hive/warehouse/qyer.db/user_tracks/*/logdate=20151008
hadoop dfs -ls -h /flume/clean/track/20130531/
hadoop dfs -setrep -R 2 /flume/clean/track/20151001

select logdate,count(1) from clean_track where logdate>='20130101' and logdate <='20130131' group by logdate
select logdate,count(1) from user_tracks where logdate>='20130101' and logdate <='20130131' group by logdate

hive 外部表 lzo压缩
create external table lzo_test(name string)
ROW FORMAT DELIMITED
  FIELDS TERMINATED BY '\001' COLLECTION ITEMS TERMINATED BY '\002' MAP KEYS TERMINATED BY '\003' LINES TERMINATED BY '\n'    
STORED AS INPUTFORMAT
  'com.hadoop.mapred.DeprecatedLzoTextInputFormat'  
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' 
 LOCATION '/flume/clean/lzo_test';

 

© 著作权归作者所有

共有 人打赏支持
f
粉丝 2
博文 44
码字总数 76735
作品 0
武汉
私信 提问
Hive 入门介绍

1 Hive是什么 Hive是构建在Hadoop之上的数据仓库平台; Hive是一个SQL解析引擎,它将SQL语句转译成MapReduce任务,并在Hadoop上执行; Hive表是HDFS的一个文件目录,一个表名对应一个目录名,...

林中漫步
2016/07/13
41
0
[Spark]Shark, Spark SQL, Hive on Spark以及SQL On Spark的未来

随着的引入以及的新功能(HIVE-7292)的引入,我们对这两个项目的立场以及它们与Shark的关系有了很多的关注。在今天的Spark Summit上,我们宣布我们正在停止的开发,并将资源全部集中在上,这...

sjf0115
2017/06/20
0
0
Hadoop(5)--hive

在Hadoop的存储处理方面提供了两种不同的机制,一种是之前介绍过的Hbase,另外一种就是Hive,有关于Hbase,它是一种nosql数据库的一种,是一种数据库,基于分布式的列式存储,适合海量数据的...

spark009
08/14
0
0
SQL、NewSQL和NoSQL融合研究与实践

本文根据DBAplus社群第111期线上分享整理而成。 近几年,各类大数据技术迅猛发展,企业中数据处理量呈现几十到几百倍增长,数据类型也从传统结构化数据,延伸到实时流数据,以及各类非结构化...

朱祥磊
2017/07/06
0
0
Apache Hive走向内存计算,性能提升26倍{转}

Apache Hive 2.1已于几个月前发布,它引入了内存计算,这使得Hive计算性能得到极大提升,这将会影响SQL On Hadoop目前的竞争局面。据测试,其性能提高约26倍。 Apache Hive 2.1新引入了6大性...

强子哥哥
2016/10/31
313
0

没有更多内容

加载失败,请刷新页面

加载更多

docker快速搭建几个常用的第三方服务

本次和大家分享的内容是使用docker快速搭建工作中常用的第三方的服务,对于有一些互联网背景的公司来说,以下几个服务都是很需要的:redis,rabbit,elasticsearch; 如果想学习Java工程化、...

编程SHA
22分钟前
2
0
我的Linux系统九阴真经

在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了。各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行业,共享经济等概念的公...

linuxprobe16
30分钟前
5
0
Dubbo标签解析详解

在Spring继承dubbo时,会使用dubbo自定义的标签来定义相关的属性,常见的标签有<dubbo:application/>,<dubbo:registry/>,<dubbo:service/>等。对于这些标签的解析,dubbo都是使用的统一的方...

爱宝贝丶
35分钟前
3
0
网站彩蛋

图形类彩蛋 知乎 https://www.zhihu.com/ 想来知乎工作?请发送邮件到 jobs@zhihu.com 天猫 https://www.tmall.com/ 喵~ 加入我们吧 http://tb.cn/iS8NBOy 超级课程表 http://www.super.cn/...

临江仙卜算子
43分钟前
9
0
ThreadLocal父子线程之间的数据传递问题

一、问题的提出 在系统开发过程中常使用ThreadLocal进行传递日志的RequestId,由此来获取整条请求链路。然而当线程中开启了其他的线程,此时ThreadLocal里面的数据将会出现无法获取/读取错乱...

nonnetta
51分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部