HaDoop学习历程
学习大数据过程中的点点滴滴,每一个知识点都分享到博客
想做架构师
这个作者很懒,什么都没留下…
展开
-
Linux Shell
大三时老师要求二百行shell编程交作业#!/bin/sh function delUser(){i=1 while [ $i -le 50 ] do userdel -r stud${i} echo "删除$i个账号"i=$(($i+1 )) done }function addClass(){i=1 groupadd class1 while...原创 2018-09-07 08:56:29 · 230 阅读 · 0 评论 -
Scala 函数与方法的区别及简单用法
package scalaimport scala.util.control.Breaksobject IfDemo { def main(args: Array[String]): Unit = { // val x = -1 // val y=if(x>0) 1 else if (x == -1) 0 else -1 // ...原创 2018-09-11 09:53:11 · 1135 阅读 · 0 评论 -
Scala函数参数 求值策略
call by value 对函数的实参求值,并只求值一次 举例:def test1(x:Int,y:Int):Int=x+x call by name:函数的实参每次在函数体内部被调用的时候,都会进行求值 实践:...原创 2018-09-11 11:33:37 · 311 阅读 · 0 评论 -
Scala WordCount
1.最基本的WordCount var arr3 = Array("HIVE SPARK", "scala SPARK HBASE", "ZOOKEEPER","HIVE SPARK", "scala SPARK HBASE", "ZOOKEEPER") var arr4=arr3.flatMap(x => x.split(" "))原创 2018-09-11 15:41:28 · 647 阅读 · 0 评论 -
Scala 匿名函数做参
object Demo { def main(args: Array[String]): Unit = { val funcao = (name: String) => println(s"${name},你好") greeting("马总",funcao) greeting("李总",name=>println(s"${name} ,好")) g...原创 2018-09-12 09:49:29 · 318 阅读 · 0 评论 -
Scala 构造器 单例模式
1)主构造器 * 在scala中,主构造器是于类名放在一起的,有且只有一个,于Java不同,java可以写多个构造方法,多个构造方法间实现 重载 * 在类中,没有定义在任何方法中的代码(包括成员字段),都属于主构造器的代码,且执行顺序于代码书写的顺序是一致的,其实与java一样 * 在java中方法之外的代码(成员及代码块),...原创 2018-09-13 14:36:29 · 273 阅读 · 0 评论 -
Scala apply关键字 不通过new获取实例
1)当不是new关键字来创建对象的时候,使用apply可以使我们的代码更简洁 class Person { var name: String = _ var age:Int = 0 } object Person{ def apply(name:String): Person = { val person = new Person person.n...原创 2018-09-13 14:38:33 · 767 阅读 · 0 评论 -
Scala 继承与多态与trait
1)scala中,让子类继承父类,与java一样,使用extends关键字 2)继承就代表,子类可以从父类继承父类的field和method,然后子类可以在自己内部放入父类所没有,子类特有的filed和method,使用继承可以复用代码 3)子类可以覆盖父类的filed和method,但是要注意的是final关键字,代表field和method无法覆盖 4)子类中的方法要覆盖父类中的...原创 2018-09-13 14:46:44 · 1498 阅读 · 0 评论 -
Scala 可变数组与不可变数组
(*)数组 java中的集合都是可变集合 在scala中集合分为可变集合和不可变集合 不可变数组默认可以使用 长度不可以改变,内容可以改变 可变数组必须引用:import scala.collection.mutable.ArrayBuffer #添加一个元素 scala> arrBuffer += 10 res5: arrBuffer.ty...原创 2018-09-13 15:21:28 · 1456 阅读 · 1 评论 -
ZooKeeper 命令行操作
create -s path data创建一个顺序节点。例如 create -s /a "www",得到的是/a23132,后面会加数字标识标识顺序create -e path data创建临时节点,在关闭会话以后临时节点会删除create path data创建永久节点set path data修改节点的内容get path [watch]得到所有节点的名字...原创 2018-09-03 10:20:33 · 210 阅读 · 0 评论 -
Zookeeper JavaAPI
package nue.edu.ls;import java.util.List;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper...原创 2018-09-03 14:06:25 · 163 阅读 · 0 评论 -
Zookeeper 监控服务上下线
package nue.edu.ls;import java.io.IOException;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org.apache.zook...原创 2018-09-04 14:28:41 · 1236 阅读 · 0 评论 -
Hbase JavaAPI
package nuc.edu.ls;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.HColumnDescriptor;import org.apache.hadoop.hbase.H...原创 2018-09-04 16:57:14 · 158 阅读 · 0 评论 -
HBase MapReduce
package nuc.edu.ls;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.client.Mutation;impor...原创 2018-09-06 10:51:07 · 152 阅读 · 0 评论 -
Hive 外部表 内部表 分区表
1.先启动集群,在开启hive服务start-all.shnohup hiveserver2(后台运行,可以重定向输出到制定文件)2.使用beeline连接数据库注意!3.创建内部表create table t_inside(ip string,url string,time string)row format delimited fields terminate...原创 2018-08-28 16:01:34 · 348 阅读 · 0 评论 -
Hive 级联报表查询
数据:需求:查询每人每月的盈利以及当年至当月的累计利润实现: 1.建表导入数据2.先统计出每月的利润 3.查询结果自连接,条件:一表的月份大于等于二表的月份(累计求出各个月份的总利润)select t1.name,t1.month,t1.allincome, sum(t2.allincome)from(select name,substr(time,...原创 2018-08-30 10:19:25 · 855 阅读 · 0 评论 -
Zookeeper 安装
简化:1:集群时间同步https://blog.youkuaiyun.com/qq_39184715/article/details/819757382:上传文件,解压 tar -zxvf xxxxxx -C /usr/local/3:修改zoo.cfg(拷贝zoo_sample.cfg)dataDir=/usr/local/zookeeper*/data //这里*需要补全为全部名字...原创 2018-09-03 09:51:24 · 9357 阅读 · 0 评论 -
Hive 小知识
CTAS建表语法1.通过以存在的表建表(类似与复制)create table t_user1 like t_user22.在建表 的时候插入数据create table t_user1 asselect * from t_user2数据导入导出方式1:导入数据的一种方式:手动用hdfs命令,将文件放入表目录;方式2:在hive的交互式shell中用hi...原创 2018-09-01 15:09:45 · 177 阅读 · 0 评论 -
Hive 电影topN
数据:{"movie":"1193","rate":"5","timeStamp":"978300760","uid":"1"}{"movie":"661","rate":"3","timeStamp":"978302109"原创 2018-09-01 14:48:30 · 698 阅读 · 0 评论 -
MapReduce 经典案例 WordCount
注意事项:提交任务时,经常出现权限问题。在windos配置环境变量HADOOP_USER_NAME,调用System.properties方法即可。从windows到linux也需要打包成jar放到指定路径1.mappackage nuc.edu.ls;import java.io.IOException;import org.apache.hadoop.io.IntWritab...原创 2018-08-22 15:43:02 · 1215 阅读 · 0 评论 -
MapReduce练习
1,4代表1 2 3 4 1到4之间所有数字其中有垃圾数据a,b求出每一个数字出现的次数package nuc.edu.ls;import java.io.File;import java.io.IOException;import org.apache.commons.io.FileUtils;import org.apache.hadoop.conf.Confi...原创 2018-08-22 16:40:00 · 664 阅读 · 0 评论 -
MapReduce练习 共同好友
感觉这是一篇失败的代码,虽然实现了功能,但感觉只是强行与MapReduce沾边,不用MapReduce反而写的少。1.mappackage nuc.edu.ls.friends;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;...原创 2018-08-22 21:08:01 · 344 阅读 · 0 评论 -
MapReduce练习 自定义输出类型
练习题:检索出每个二级域名的总流量(总上行流量+总下行流量)数据:18878724052 http://www.edu360.cn 10047 1134415522957721 http://weibo.com/?category=1760 18751 560518133396282 https://image.baidu.com 12276 941115565139582 htt...原创 2018-08-23 09:43:52 · 630 阅读 · 0 评论 -
HaDoop集群时间不同步的处理方法
集群时间不同步,会导致各种各样的Bug发生。下面介绍一种一劳永逸的方法常规的有date -s '2018-8-15 16:03'或者ntpdate 0.asia.pool.ntp.org这些命令来解决,但是过一段时间后,时间又会不同步解决方法:yum install -y ntp构建一个定时器命令行输入 crontab -e新增一行 * * * * * /us...原创 2018-08-23 10:20:46 · 3348 阅读 · 0 评论 -
MapReduce 共同好友
昨天写的代码并不符合MapReduce的思想,今天重新写了一篇数据:A:B D EB:A C FC:A D ED:A B C DF:C D E GE:A D共分两次MapReduce过程第一次MapReduce 得到PeopleA 含有PeopleA好友的所有人的集合package nuc.edu.ls.friends.Final;import java...原创 2018-08-23 11:13:53 · 325 阅读 · 0 评论 -
MapReduce WordCount 多文件处理
数据:代码:package nuc.edu.ls.readmore;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import org.apache.hadoop.io.Writable;public class Word implements Writa...原创 2018-08-23 15:18:53 · 1065 阅读 · 0 评论 -
MapReduce Partition Group 自定义类型输出排序 代码示例
给定电影数据,求出每个电影得分排名前二十的数据1.自定义Movie类想要在MapReduce类输入输出自定义类型,需要实现Writable类想要对自定义类输出排序,需要实现WritableComparable类,自定义排序规则package nue.edu.ls;import java.io.DataInput;import java.io.DataOutput;impo...原创 2018-08-24 15:59:07 · 554 阅读 · 0 评论 -
MapReduce Join拼接数据
读取两个数据,一个数据存放用户的id,性别和年龄,一个数据存放的电影的uid,id等信息但缺少用户信息,将二者拼接起来本次采用的是在reduce阶段拼接,也可以在map阶段拼接1.JoinBean今天碰到一个很尴尬的问题,read和write中的读写数据顺序必须一直,否则数据会混乱。检查了很久才发现,需要注意package nuc.edu.ls.extend;import j...原创 2018-08-25 17:46:12 · 669 阅读 · 0 评论 -
MapReduce setup map(reduce) cleanup示例
继承Mapper类可以重写三个方法 1.setup 每一个map在创建时执行的方法,也就是说该方法只执行一次,一般用来做一些准备工作,如获得文件名等2.map 真正执行分类操作的方法。3.cleanup在map完成任务销毁时执行的方法,也只执行一次,一般用来做一些收尾工作这三个方法都可以像reduce传送数据代码 取每个电影二十条数据(排序前面写过了,就不...原创 2018-08-27 16:56:15 · 2260 阅读 · 0 评论 -
Hive安装与配置(需搭建好hadoop集群)
hive的安装1:上传解压hive tar -zxvf ***** /usr/local/2:安装mysql,添加开机自启 chkconfig mysql on3:配置hive-site.xml 在安装目录/conf下新建,粘贴下面这段代码(高版本mysql需要ssl)<configuration><property>&l...原创 2018-08-28 10:38:42 · 1930 阅读 · 0 评论 -
Hive 复合类型存储
arrays: ARRAY<data_type> ) 示例:array类型的应用假如有如下数据需要用hive的表去映射: 战狼2,吴京:吴刚:龙母,2017-08-16 三生三世十里桃花,刘亦菲:痒痒,2017-08-20 设想:如果主演信息用一个数组来映射比较方便 建表:create table t_movie(moi...原创 2018-08-29 08:35:26 · 269 阅读 · 0 评论 -
Hive 查询有连续三天销售记录的销售报表
数据:求解思路: 使用row_number函数打标记根据shopid分区,以time升序排列,根据date_sub(to_date(time),flag)生成对应日期 比如A分区中的五号标记和六号标记,如果根据data_sub生成的日期是一致的,那么这两天就是相邻的 eg: 五号标记 2015-3...原创 2018-08-30 11:24:10 · 1991 阅读 · 0 评论 -
Hive 茄子快传案例
多维度统计分析茄子快传用户信息数据截图:1.MR编程,将JSON数据转化,剔除脏数据,上传到Linux的package nuc.edu.ls;import java.io.IOException;import org.apache.commons.lang.StringUtils;import org.apache.hadoop.conf.Configuration;...原创 2018-08-31 09:21:17 · 980 阅读 · 0 评论 -
Hive 查找app每天的新增用户
新增用户思路:1:抽取出来当天活跃用户 etl_user_active_day,2: 拿当天活跃用户跟历史用户做对比(得出当日的新增用户)3:增加新增用户到历史记录表里面4:对当日新增用户进行各维度统计/** 历史用户表 **/create table etl_history_user(uid string);/** 创建一个每日新增用户表 **/create...原创 2018-08-31 15:12:00 · 2937 阅读 · 0 评论