- 博客(24)
- 资源 (3)
- 收藏
- 关注
原创 Makefile总结
Makefile总结<目标文件> : <前置条件【TAB键】 <commands>第一行冒号前面的部分,叫做"目标"(target),冒号后面的部分叫做"前置条件"(prerequisites);第二行必须由一个tab键起首,后面跟着"命令"(commands)。"前置条件"和"命令"都是可选的,但是两者之中必须至少存在一个。目标可以是一个文件名,也可以是多个文件名,之间用空格分隔。目标还可以是某个操作的名字,这称为"伪目标"不声明为伪目标.PHONY的情况下,如
2021-10-13 13:40:02
479
1
原创 3.项目记录将ODS层的数据处理成DWD层
将ODS层的数据通过清洗转换处理成DWD层的数据,保存成parquet格式主要工作:数据规范处理,将一些字段处理成同一的规范(时间,日期,空字符统一...) 将设备id,和用户账号同时为空的记录过滤 将分析用的一个关键字段缺失的记录过滤 过滤时间不符合的记录 将数据扁平化 session分割(对App的用户两次操作的时间) 1,对于web端日志,按天然session分割,不需处理 2,对于app日志,由于使用了登录保持技术,导致app进入后台很长时间后,再恢复前台,依然是同一个ses
2020-09-03 20:42:10
2799
原创 2.项目记录将HDFS中的日志数据导入Hive的ODS层
将HDFS中的数据导入到Hive中工作场景由于公司里的日志数据有20-30个字段,并且根据事件类型不同,生成的日志类别也有所差别方案设计将日志通过不同的来源划分成几种,比如分成了WEB_EVENT,APP_EVENT,WXAPP_EVENT等几种数据来源,每种数据来源的结构保证相同,例如:{"account":"","appId":"cn.xxx","appVersion":"2.0","carrier":"小米移动","deviceId":"ZvRWCBGAuSaK","deviceType"
2020-08-31 20:28:10
533
原创 1.项目记录Flume采集用户行为日志到HDFS
1.项目记录Flume采集用户行为日志到HDFSFlume采集日志到HDFS需求解决方案具体步骤Flume采集日志到HDFS将产生的数据不断的导入到HDFS上,供方便后续使用,日志通过前端,后端埋点通过HTTP同步到了不同的日志服务器上,所以使用Flume将日志文件以及Kafka中的用户行为数据通过Flume导入到HDFS上需求将日志服务器中的用户行为日志上传到HDFS上解决方案在所有的日志服务器上安装Flume,每个Flume监控一个或者多个日志文件夹,将用户行为日志同步到各种数据源中,可以实
2020-08-30 20:39:51
497
原创 ClickHouse快速学习
ClickHouse的场景为什么要用clickHouse?1.clickHouse是c开发的,快2.用到OLAP(联机分析处理)3.对Hadoop技术栈的补充,专门用来对数据进行分析的,补充spark和hive没有涉及的维度查询联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的快速
2020-08-25 11:04:02
469
原创 Spark自定义函数
简单形式自定义函数直接使用下面的形式引用一个变量或者方法都可以spark.udf.register[String,String]("avg_get",func =>func.toString.concat("内容"))自定义聚合函数定义一个类,实现抽象类方法,然后通过SparkContext注册函数,sql中直接调用 def main(args: Array[String]): Unit = { Logger.getLogger("org").setLevel(Le
2020-08-21 21:31:54
1386
原创 Spark案例
求连续登陆天数object Demo1{ //练习登陆天数 //guid01,2018-02-28 //guid01,2018-03-01 //guid01,2018-03-02 //guid01,2018-03-04 //guid01,2018-03-05 //guid01,2018-03-06 //guid01,2018-03-07 //guid02,2018-03-01 //guid02,2018-03-02 //guid02,2018-03-03.
2020-08-10 20:25:09
260
原创 Spark运行原理及任务调度源码解析(基于Spark3.0)
Spark运行模式可以在本地多线程运行 伪分布式运行 Yarn运行模式 Mesos运行模式基本概念1.application也就是API用户编写的程序,这个程序是分为两部分执行的,一部分是放在Driver端执行的,用于驱动整个程序运行的逻辑,还有一部分是放在各个节点上,让集群协同计算的部分2.DriverDriver在Spark中是用户定义在main方法中,驱动整个Spark程序运行创建SparkContext,为Spark的运行创建环境,负责计算资源的申请,销毁,任务的监控分.
2020-08-07 23:43:42
673
3
原创 Spark实战学习
1.什么是Spark?2.为什么要使用Spark?因为Hadoop在处理数据的时候有多次的IO和网络操作,Mapreduce都要转成map,shuffle和reduce等核心阶段,而且任务之间是串行执行的Spark对比Hadoop MR的特点内存计算比mr快100倍,磁盘计算快mr10倍使用方便,安装部署简单,支持交互式支持处理丰富继承hadoop,能都读取hadoop上的数据,hdfs,hbase等Spark运行模式local本地模式,多线程 standalon.
2020-08-03 18:26:53
651
2
原创 CentOS7 Failed to start LSB: Bring up/down解决方法,解决虚拟机重启网络重置问题
跟系统自带的NetworkManager这个管理套件有关系,关掉就可以解决。运行systemctl stop NetworkManagersystemctl disable NetworkManager然后重启网络systemctl start network.service
2020-08-03 11:20:48
401
原创 scala基于akka实现RPC进程通讯,心跳机制,存活检查
1.创建Maven工程maven工程中引入scala,akka,和akka联机模式的依赖 <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <encoding>UTF-8</encoding
2020-07-30 22:08:22
235
原创 Java的lambda表达式,用Java的lambda表达式的函数编程,lambda表达式深入理解,java的链式编程的实现
本例子将用java的泛型接口实现链式编程1.自己实现一个List可以装任何类型的数据Integer、String,Long、自定义类型的2.还可以调用map、filter、reduce方法(不使用java8的Stream)3.可以链式编程。创建函数式接口定义一个只有一个方法的函数式接口,为了方便使用->,这个函数接口是输入一个T类型的值返回一个R类型的值public interface Function1<T,R> { R apply(T t..
2020-07-30 12:54:42
340
原创 查漏补缺
1.一个类实现两个接口,同时接口中都有同一个方法,会调用哪一个?答:接口中定义方法要用default修饰,或者是static修饰,经过验证,一个类实现两个接口,并且接口中都有一个default修饰的方法的时候就会编译器报错,解决报错的方法是本类重写,所有就是说java中不支持这种写法,因为产生了二义性2.Hive可以使用布隆过滤提高速度吗?...
2020-07-29 19:57:13
141
原创 Scala的闭包,Scala的柯里化
什么是闭包?闭包就是对函数内部引用外部的指定变量,扩大了变量的声明周期 val numA=12 val funct2=(b:Int)=>{b+numA}也就是说在函数内部,使用了函数外的变量,这里主要跟scala的设计有关,Object中的变量本来就是加上static的函数柯里化柯里化就是函数的嵌套调用...
2020-07-28 22:43:33
112
原创 scala高阶函数,Scala的匿名函数,,scala隐式转换,scala隐式参数,Scala的函数作为参数和返回值,scala柯里化
scala的偏函数PartialFunction中文翻译结果是部分功能,partial是部分的,偏袒的意思什么是偏函数?就是局部函数,也就是再处理内容的时候,对总内容的部分内容进行处理,将结果返回到一个新的容器中上代码 //scala偏函数 //什么是偏函数?偏函数说白了就是局部函数,再通俗一点就是对一部分数据应用函数, // 也就是再调用 函数的时候增加了判断条件,增加了过滤元素的功能 //实现对list中数字加一的功能,这种对部分数据进行处理的时候我们就可以使
2020-07-28 21:21:04
322
原创 Scala语法,Scala入门,JAVA快速过渡scala
scala倒序遍历循环 //倒序,by为步长,reverse是反向 for (z<-(1 to 9).reverse){print(z+" ")} println("") for (j<-9 to 1 by -1){print(j+" ")}scala循环//设置步长 for (i<- 10 to 90 by 10){ print(i) } //倒序,by为步长,reverse是反向 for (z&l
2020-07-26 15:21:44
527
转载 高效SQL,SQL优化
1.执行计划什么是SQL执行计划SQL执行计划,就是一条SQL语句,在数据库中实际执行的时候,一步步的分别都做了什么。就是我们用EXPLAIN分析一条SQL语句时展示出来的那些信息学习意义了解SQL执行计划的意义就在于我们可以通过执行计划更加清晰的认识到这一条语句,分为了哪几步,有没有用到索引,是否有一些可优化的地方等。下面开始一项项说。所有字段实际运行一个EXPLAIN时候,我们都能看到下面的这个表头,下面我们一项项的来说明表头字段idselect查询的序列号.
2020-07-22 14:46:30
193
原创 SQL练习,mysql快速入门
1.准备数据/*Navicat MySQL Data TransferTarget Server Type : MYSQLTarget Server Version : 50717File Encoding : 65001*/SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for dept-- ----------------------------DR
2020-07-22 14:17:05
276
原创 HBASE的JAVAAPI
package hbase;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.Cell;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.h.
2020-07-18 20:51:56
151
masm_DownZa.Cn.rar
2020-07-27
apache-tomcat-7.0.104-src.zip
2020-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人