保健励志美文体育育儿作文
投稿投诉
作文动态
热点娱乐
育儿情感
教程科技
体育养生
教案探索
美文旅游
财经日志
励志范文
论文时尚
保健游戏
护肤业界

大数据之Tez搭建与使用

  一、搭建
  Tez是一个Hive的运行引擎,性能优于MR
  Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能1、将tez安装包拷贝到集群,并解压tar包mkdiroptmoduleteztarzxvfoptsoftwaretez0。10。1SNAPSHOTminimal。tar。gzCoptmoduletez2、上传tez依赖到HDFS
  首先启动zk和hdfshadoopfsmkdirtezhadoopfsputoptsoftwaretez0。10。1SNAPSHOT。tar。gztez3、新建tezsite。xmlvimHADOOPHOMEetchadooptezsite。xmllt;?xmlversion1。0encodingUTF8?lt;?xmlstylesheettypetextxslhrefconfiguration。xsl?configurationpropertynametez。lib。urisnamevalue{fs。defaultFS}teztez0。10。1SNAPSHOT。tar。gzvaluepropertypropertynametez。use。cluster。hadooplibsnamevaluetruevaluepropertypropertynametez。am。resource。memory。mbnamevalue1024valuepropertypropertynametez。am。resource。cpu。vcoresnamevalue1valuepropertypropertynametez。container。max。java。heap。fractionnamevalue0。4valuepropertypropertynametez。task。resource。memory。mbnamevalue1024valuepropertypropertynametez。task。resource。cpu。vcoresnamevalue1valuepropertyconfiguration4、修改Hadoop环境变量vimHADOOPHOMEetchadoopshellprofile。dtez。shhadoopaddprofiletezfunctiontezhadoopclasspath{hadoopaddclasspathHADOOPHOMEetchadoopafterhadoopaddclasspathoptmoduletezafterhadoopaddclasspathoptmoduletezlibafter}5、修改Hive的计算引擎vimHIVEHOMEconfhivesite。xml
  添加!tezpropertynamehive。execution。enginenamevaluetezvaluepropertypropertynamehive。tez。container。sizenamevalue1024valueproperty6、解决日志jar包冲突rmfoptmoduletezlibslf4jlog4j121。7。10。jar二、使用1、需求统计视频观看数Top10统计视频类别热度Top10统计出视频观看数最高的20个视频的所属类别以及类别包含Top20视频的个数统计视频观看数Top50所关联视频的所属类别Rank统计每个类别中的视频热度Top10,以Music为例统计每个类别视频观看数Top10统计上传视频最多的用户Top10以及他们上传的视频观看次数在前20的视频2、准备工作
  pom。xmldependenciesdependencygroupIdorg。apache。hadoopgroupIdhadoopclientartifactIdversion3。1。3versiondependencydependencies1、ETLETL之封装工具类packageutils;program:BigData2021description:Etl工具类清洗视频数据规则:1。数据长度必须大于等于92。将视频的类别中的空格去掉3。将关联视频通过拼接paramlinereturn如果数据合法,返回清洗完的数据如果数据不合法,返回nullauthor:Mr。逗create:2022012015:28publicclassETLUtils{publicstaticStringetlGulivideoData(Stringline){StringBuffersbsnewStringBuffer();1。切割数据String〔〕splitsline。split();2。规则一if(splits。length9){returnnull;}3。规则二splits〔3〕splits〔3〕。replaceAll(,);4。规则三for(inti0;isplits。length;i){有相关视频或者没有相关视频if(i8){if(isplits。length1){sbs。append(splits〔i〕);}else{sbs。append(splits〔i〕)。append();}}else{if(isplits。length1){sbs。append(splits〔i〕);}else{sbs。append(splits〔i〕)。append();}}}returnsbs。toString();}publicstaticvoidmain(String〔〕args){StringlineRX24KLBhwMIlemonette697PeopleBlogs512241494。22315;StringresultetlGulivideoData(line);System。out。println(result);}}ETL之Mapperpackagemain;importorg。apache。hadoop。io。LongWritable;importorg。apache。hadoop。io。NullWritable;importorg。apache。hadoop。io。Text;importorg。apache。hadoop。mapreduce。Mapper;importutils。ETLUtils;importjava。io。IOException;program:BigData2021description:鼓励视频author:Mr。逗create:2022012015:30publicclassGulivideoETLMapperextendsMapperLongWritable,Text,Text,NullWritable{TextoutknewText();Overrideprotectedvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{Stringlinevalue。toString();StringresultETLUtils。etlGulivideoData(line);if(resultnull){return;}outk。set(result);context。write(outk,NullWritable。get());}}ETL之Driverpackagemain;importorg。apache。hadoop。conf。Configuration;importorg。apache。hadoop。fs。Path;importorg。apache。hadoop。io。NullWritable;importorg。apache。hadoop。io。Text;importorg。apache。hadoop。mapreduce。Job;importorg。apache。hadoop。mapreduce。lib。input。FileInputFormat;importorg。apache。hadoop。mapreduce。lib。output。FileOutputFormat;importjava。io。IOException;program:BigData2021description:鼓励视频author:Mr。逗create:2022012015:31publicclassGulivideoETLDriver{publicstaticvoidmain(String〔〕args)throwsIOException,ClassNotFoundException,InterruptedException{ConfigurationconfnewConfiguration();JobjobJob。getInstance(conf);job。setJarByClass(GulivideoETLDriver。class);job。setMapperClass(GulivideoETLMapper。class);job。setMapOutputKeyClass(Text。class);job。setMapOutputValueClass(NullWritable。class);job。setOutputKeyClass(Text。class);job。setOutputValueClass(NullWritable。class);job。setNumReduceTasks(0);FileInputFormat。setInputPaths(job,newPath(args〔0〕));FileOutputFormat。setOutputPath(job,newPath(args〔1〕));job。waitForCompletion(true);}}上传数据到hdfshadoopfsmkdirpgulivideovideohadoopfsmkdirpgulivideouserhadoopfsputhomebigdataprogramhiveprogramuseruser。txtgulivideouserhadoopfsputhomebigdataprogramhiveprogramvideo。txtgulivideovideo打jar包hadoopjarhomebigdataprogramhiveprogramjaretl。jarmain。GulivideoETLDrivergulivideovideogulivideovideooutput2、准备表
  启动hive
  视频表结构
  字段
  备注
  详细描述
  videoId
  视频唯一id(String)
  11位字符串
  uploader
  视频上传者(String)
  上传视频的用户名String
  age
  视频年龄(int)
  视频在平台上的整数天
  category
  视频类别(Array)
  上传视频指定的视频分类
  length
  视频长度(Int)
  整形数字标识的视频长度
  views
  观看次数(Int)
  视频被浏览的次数
  rate
  视频评分(Double)
  满分5分
  Ratings
  流量(Int)
  视频的流量,整型数字
  conments
  评论数(Int)
  一个视频的整数评论数
  relatedId
  相关视频id(Array)
  相关视频的id,最多20个
  用户表结构
  字段
  备注
  字段类型
  uploader
  上传者用户名
  string
  videos
  上传视频数
  int
  friends
  朋友数量
  int1、原始表gulivideooricreatedatabaseodsvideo;createtableodsvideo。odsgulivideoori(videoIdstring,uploaderstring,ageint,categoryarray,lengthint,viewsint,ratefloat,ratingsint,commentsint,relatedIdarray)rowformatdelimitedfieldsterminatedbycollectionitemsterminatedbystoredastextfile;gulivideouseroricreatetableodsvideo。odsgulivideouserori(uploaderstring,videosint,friendsint)rowformatdelimitedfieldsterminatedbystoredastextfile;2、最终表gulivideoorccreatetableodsvideo。odsgulivideoorc(videoIdstring,uploaderstring,ageint,categoryarray,lengthint,viewsint,ratefloat,ratingsint,commentsint,relatedIdarray)storedasorctblproperties(orc。compressSNAPPY);gulivideouserorccreatetableodsvideo。odsgulivideouserorc(uploaderstring,videosint,friendsint)rowformatdelimitedfieldsterminatedbystoredasorctblproperties(orc。compressSNAPPY);3、导入数据loaddatainpathgulivideovideooutputintotableodsvideo。odsgulivideoori;loaddatainpathgulivideouserintotableodsvideo。odsgulivideouserori;insertintotableodsvideo。odsgulivideoorcselectfromodsvideo。odsgulivideoori;insertintotableodsvideo。odsgulivideouserorcselectfromodsvideo。odsgulivideouserori;4、验证数据selectfromodsvideo。odsgulivideouserorilimit10;3、业务分析1、统计视频观看数Top10
  思路:使用orderby按照views字段做一个全局排序即可,同时我们设置只显示前10条。SELECTvideoId,viewsFROModsvideo。odsgulivideoorcORDERBYviewsDESCLIMIT10;2、统计视频类别热度Top10
  (1)即统计每个类别有多少个视频,显示出包含视频最多的前10个类别。
  (2)我们需要按照类别groupby聚合,然后count组内的videoId个数即可。
  (3)因为当前表结构为:一个视频对应一个或多个类别。所以如果要groupby类别,需要先将类别进行列转行(展开),然后再进行count即可。
  (4)最后按照热度排序,显示前10条。SELECTt1。categoryname,COUNT(t1。videoId)hotFROM(SELECTvideoId,categorynameFROModsvideo。odsgulivideoorclateralVIEWexplode(category)gulivideoorctmpAScategoryname)t1GROUPBYt1。categorynameORDERBYhotDESCLIMIT10;3、统计出视频观看数最高的20个视频的所属类别以及类别包含Top20视频的个数
  (1)先找到观看数最高的20个视频所属条目的所有信息,降序排列
  (2)把这20条信息中的category分裂出来(列转行)
  (3)最后查询视频分类名称和该分类下有多少个Top20的视频SELECTt2。categoryname,COUNT(t2。videoId)videosumFROM(SELECTt1。videoId,categorynameFROM(SELECTvideoId,views,categoryFROModsvideo。odsgulivideoorcORDERBYviewsDESCLIMIT20)t1lateralVIEWexplode(t1。category)t1tmpAScategoryname)t2GROUPBYt2。categoryname;4、统计视频观看数Top50所关联视频的所属类别排序SELECTt6。categoryname,t6。videosum,rank()over(ORDERBYt6。videosumDESC)rkFROM(SELECTt5。categoryname,COUNT(t5。relatedidid)videosumFROM(SELECTt4。relatedidid,categorynameFROM(SELECTt2。relatedidid,t3。categoryFROM(SELECTrelatedididFROM(SELECTvideoId,views,relatedidFROModsvideo。odsgulivideoorcORDERBYviewsDESCLIMIT50)t1lateralVIEWexplode(t1。relatedid)t1tmpASrelatedidid)t2JOINodsvideo。odsgulivideoorct3ONt2。relatedididt3。videoId)t4lateralVIEWexplode(t4。category)t4tmpAScategoryname)t5GROUPBYt5。categorynameORDERBYvideosumDESC)t6;5、统计每个类别中的视频热度Top10
  (1)要想统计Music类别中的视频热度Top10,需要先找到Music类别,那么就需要将category展开,所以可以创建一张表用于存放categoryId展开的数据。
  (2)向category展开的表中插入数据。
  (3)统计对应类别(Music)中的视频热度。SELECTt1。videoId,t1。views,t1。categorynameFROM(SELECTvideoId,views,categorynameFROModsvideo。odsgulivideoorclateralVIEWexplode(category)gulivideoorctmpAScategoryname)t1WHEREt1。categorynameMusicORDERBYt1。viewsDESCLIMIT10;6、统计每个类别视频观看数Top10SELECTt2。videoId,t2。views,t2。categoryname,t2。rkFROM(SELECTt1。videoId,t1。views,t1。categoryname,rank()over(PARTITIONBYt1。categorynameORDERBYt1。viewsDESC)rkFROM(SELECTvideoId,views,categorynameFROModsvideo。odsgulivideoorclateralVIEWexplode(category)gulivideoorctmpAScategoryname)t1)t2WHEREt2。rk10;7、统计上传视频最多的用户Top10以及他们上传的视频观看次数在前20的视频
  (1)求出上传视频最多的10个用户
  (2)关联gulivideoorc表,求出这10个用户上传的所有的视频,按照观看数取前20SELECTt2。videoId,t2。views,t2。uploaderFROM(SELECTuploader,videosFROModsvideo。odsgulivideouserorcORDERBYvideosDESCLIMIT10)t1JOINodsvideo。odsgulivideoorct2ONt1。uploadert2。uploaderORDERBYt2。viewsDESCLIMIT20;三、计算引擎使用1、MRsethive。execution。enginemr;SELECTvideoId,viewsFROModsvideo。odsgulivideoorcORDERBYviewsDESCLIMIT10;2、tezsethive。execution。enginetez;SELECTvideoId,viewsFROModsvideo。odsgulivideoorcORDERBYviewsDESCLIMIT10;

外媒称赞北京冬奥会上的高新技术来源:人民日报海外版中国在本届冬奥会上使用了多项数字技术。为了尽可能减少人员接触,主办方在会场各处设置机器人,还积极使用5G技术。本届冬奥会上,主办方除了在赛场和相关设施……荷兰发现毒力和传染性更强艾滋病病毒(HIV)变体毒株科技日报北京2月7日电(实习记者张佳欣)据英国牛津大学研究人员领导的一项研究,荷兰发现了一种新的艾滋病病毒(HIV)毒株,毒力更强、更具传染性。它被命名为HIV1亚型病毒(VB……自己鼓励自己作文一天,我看了一本好的书,从那起,我便开始鼓励自己、为自己加油,遇到困难从来都不会放弃,只会坚持。它这一本书很有魔力,会让我想起了一件事。记得在二年级时,我们开始考试了,大……书狂谢何斌同学作文我的同学中,只有谢何斌是和我一样最爱读书的,所以,我给他取了一个外号,叫书狂,也就是说谢何斌读书读到发狂啦。这谢何斌经常为一本书而不择手段。最近,班上刮起了一阵哈里波特风……初二读后感作文来自星星的你还记得半年多前给我们带来太多感动的《来自星星的你》,在这其中,我得到了不少启示。电视剧中的千颂伊是个有名的明星,因此电视剧的主角宝座非她莫属,她有两个好朋友,洪福子是一个……小学生写运动会的作文十月,秋风和熙,阳光明媚。我们也开始了校园运动会。下面语文迷为大家提供了写运动会的作文范文,希望对你有帮助。写运动会的作文一一年一度的运动会终于来了。星期四的早上,……被撕毁的作业E度网专稿未经允许不得转载ldquo;唰mdash;mdash;唰唰mdash;mdash;rdquo;我噙着眼泪,瑟瑟地站在墙角,地上横七竖八地躺着几张作业碎片,好像在……三年级春天作文350字导语:春,是一年四季中最美的,也是最会装扮自己的。下面是小编整理的关于春天的作文,欢迎大家认真阅读!【作文1:我发现春来了】春,是一年四季中最美的,也是最会装扮自己……忽然看见一幅熟悉的画,这不是梦里的小女孩吗?我吃惊的望着,又急忙收回看画的目光。我顿时害怕起来,我不敢看它们的脸,因为它们没有眼睛!我越想越害怕,那个小女孩为什么会……美丽的白玉兰写景作文在我们学校的阶梯教室旁,有几棵美丽的白玉兰。他们有着一种屈尊降贵的神气,非常高贵。冰还没有全化,雪还没全消,白玉兰就已经长出了几个小小的芽苞,过了几天花就次第开放了,她们……爷爷是个老顽童写人作文爷爷是个出了名的老顽童,在我们村里,他爱说爱唱爱玩,算得上是个十八般武艺样样精通的新一代酷老头。在我心里,爷爷算得上最可亲的人了,我就喜欢爷爷的顽劲儿。这不,刚吃完饭,爷……饿了么留京过年洞察一人食小份菜小家庭套餐受热捧虎年春节留京怎么吃?北京青年报记者2月7日了解到,不少年轻人选择外卖服务增加留京过节的仪式感。饿了么平台显示,从除夕当天到初六期间,北京排名前五的外卖品类为:家乡地域美食、粥食……
我的同学写人记事作文她长着一双水灵灵的大眼睛,她的眼珠黑得发亮,目光流盼时,深灰色的瞳仁里似乎有一颗颗火星迸发。睫毛并不长,但又黑又密,使眼睛如云雾一般,朦朦胧胧的,显得深不可测,是那么神秘诱人。……台积电2022年资本支出将达440亿美元全球最大代工芯片制造商台积电(TSMC)周四表示,该公司预计今年的资本支出将达到440亿美元,较2021年的300亿美元增长32,较2019年增长两倍。此举突显半导体将在远超传……202215软件需求汇总1。求智能电销机器人语音识别预算5K具体要求:用呼叫开源框架https:freeswitch。com和讯飞识别语音听写https:www。xfyun。cndocasrvo……高一话题作文朋友1200字钱孔里摆不开真情的宴席,钞票上植不起友谊的大树。能同甘,不能同苦,不是朋友;能同苦,不能同甘,也不是真正的朋友。真正的朋友是不管你贫穷富贵都会和你在一起面对一切的,朋友是你在生……不见合欢花空倚相思树优秀作文风华,是一指流沙,是一段逐渐老去的年华。褪尽风华后,留下的是繁华过后的落寞与感伤。这一世,我纵情于山水之间,只想寻觅你留下的点点气息。这一世,岁月逐渐蹉跎,心中的执念却不曾苍老……众生之情作文1500字在日常的学习、工作、生活中,大家一定都接触过作文吧,借助作文可以宣泄心中的情感,调节自己的心情。那要怎么写好作文呢?以下是小编精心整理的众生之情作文1500字,仅供参考,希望能……必备开学周记汇编8篇时间一溜烟儿的走了,眨眼间,一个星期已经过去了,相信大家都倍感充实,收获良多吧,立即行动起来写一篇周记吧。那么写周记需要注意哪些问题呢?以下是小编为大家整理的开学周记8篇,供大……我们班的运动会小学生作文400字在我们班这个温馨的大集体里,每个人都身怀绝技。有一群热爱运动的阳光少年,他们就是即将要代表我们班参加秋季运动会的运动员们。圣荣小学的秋季运动会开始了,谭主任请国旗队和彩旗……微信实名了,但是没有绑定银行卡,被盗了会有什么危险?微信实名了,但是没有绑定银行卡,被盗了会有什么危险?由于微信实名制,而你又没有绑定银行卡,最多只是你微信中的剩余的一点钱会被别人给你刷给别人,但这样做也是困难重重的,因为……中国文明礼仪名言名句大全文明礼仪是人类为维系社会正常生活而要求人们共同遵守的最起码的道德规范,小编整理的文明礼仪名言名句,欢迎大家一起来了解一下!1、让者,礼之实也。朱熹2、一毫之善,与人……重启手机和关机再开机有何区别?感谢您的阅读!重启手机和关机再开机有什么区别?重启手机实际上是手机本身并没有完全的断电,它的重启只是将部分的系统软件进行关闭。而关机再开机,实际上是将手机所有……作文备考时需要关注的地方复习范围要缩小吉林大学附属中学语文教师姜海平(吉林省中考语文命题人才库成员):初三老师这样一个共识:古诗文的默写几天不训练,学生就会遗忘。所以,不到中考绝不敢放松。口头翻……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网