自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 HSQL之基础函数

基础函数将从数字函数,日期函数,条件函数,字符串函数这几个方面进行总结1.数字函数:round(double d, int n):d是要进行四舍五入的数值,n是保留多少位小数.floor(double d): 返回小于d的最大整值ceil(double d): 返回大于d的最小整值rand(int seed): 返回随机数,seed是随机因子,比如rand(100),他的随机数是一定...

2020-03-23 18:04:51 2473

原创 Git常用命令

Git的常用操作:1.克隆项目: git clone 地址2.查询所有分支: git branch -a3.初始化一个本地仓库: git init4.本地关联远端仓库: git remote add origin 地址(移除远端仓库git remote remove origin )5.抓取分支代码: git fetch origin dev6.切换分支: git checkout ...

2020-03-23 16:20:09 139

原创 自定义UDF和UDAF函数

自定义Udf函数:package demo07import org.apache.spark.rdd.RDDimport org.apache.spark.sql.SparkSession/** * @author Jeady * @Date 2020/3/9 */object UdfFunction { def main(args: Array[String]): ...

2020-03-09 09:57:55 226

原创 linux常用命令总结

Linux常用命令总结1、常用操作ifconfig 查看IP信息service iptables start、stop、status: (防火墙)打开、关闭、查看状态service network start、stop、status:(网络)打开、关闭、查看状态service mysqld start、stop、status: mysql服务打开、关闭、查看状态...

2020-03-06 22:59:40 187

原创 LeetcodeTwoSuml两数求和

Leetcode题目:两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] ...

2020-03-01 18:33:54 108

原创 Leetcode-mysql连续多行自记录查询

题目:X 市建了一个新的体育馆,每日人流量信息被记录在这三列信息中:序号 (id)、日期 (visit_date)、 人流量 (people)。请编写一个查询语句,找出人流量的高峰期。高峰期时,至少连续三行记录中的人流量不少于100。按照题目要求, 我用sql建表导入数据:drop table if exists stadium;create table stadium(id int(1...

2020-02-22 11:06:14 276

原创 hive的行转列和列转行

今天写了一个小练习, 关于hive的行转列和列转行, 因为比较简单,直接上案例(自己模拟生产设想的一个, 不具有代表性), 看代码:现在有这样一个需求, 有以下数据:a b 1a b 2a b 3c d 4c d 5c d 6要求用hsql处理成a b 1,2,3c d 4,5,6然后又处理成a b 1a b 2a b 3c d 4c d 5c d 6该需...

2020-02-21 12:52:47 407

原创 电商数据分析及用户需求量化

电商数据分析有哪些指标:电商平台由信息流, 物流和资金流组成, 其最核心的大数据包括:数据处理, 数据分析和数据挖掘.参与到电商行业的从业者, 都需要掌握一定的数据分析能力, 越成熟的电商平台, 越注重大数据驱动企业的精细化运营.OLAP的指标体系是电商精细化运营的关键.一般大致分为:总体运营指标, 网站流量指标, 销售转化指标, 客户价值指标, 商品及供应链指标, 营销活动指标, 风险控制指...

2020-02-19 13:38:58 2025

原创 kettle的转换和调优

Kettle是一款纯java编写的, 开源的ETL工具,ETL是Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程.kettle有四大核心组件: chef(工作设计工具), kitchen(工作执行器), spoon(转换设计工具), pan(转换执行器)Transformation处理抽取,转换,加载各种对数据行的操作 ,包含一个或者多个步骤(step),如读取...

2020-02-17 18:39:32 965

原创 MySql优化笔记

一条SQL的执行过程:1.客户端发送一条查询给服务器2.服务器通过权限检查之后,先查询缓存,如果有就立即返回缓存中的结果,否则进入下一步;3.服务器用解析器进行sql解析,生成解析树,预处理器进行预处理, 再由优化器根据sql所涉及到的数据表的统计信息进行计算,生成对应的执行计划4.mysql根据优化器生成的执行计划,调用存储引擎API来执行查询;5.将结果返回给客户端sql执行最大...

2020-02-14 12:49:07 202

原创 Java知识点更新...

本文是记录自己慢慢积累的Java知识点, 后续会慢慢更新, 欢迎给我留言指导, 我会用心写好每篇文章与你分享.## 1.==与equals的区别: ==是直接比较的两个对象的内存地址 基本数据类型和String作为常量在方法区中的常量池里面以HashSet策略存储起来,在常量池中,一个常量只会对应一个地址, 所以第一个为true不难理解 Integer 在常量池中的存储范围为[-128,127] , 128这个值不在这个范围, 会在堆内存中创建一个新的对象来保存这个值, 在堆中存储

2020-02-08 12:40:27 179

原创 Hadoop组件(MR-YARN-HDFS)

MapReduce是一个分布式运算程序, 是基于Hadoop数据分析计算的核心框架.共分为map和reduce两个阶段.共有三个进程:AppMaster:负责整个程序的过程调度及状态协调MapTask:负责map阶段的整个数据处理流程ReduceTask:负责Reduce阶段的整个数据处理流Map阶段:(负责把一个任务分解成多个任务)Map的编程规范:1.用户自定义的Mapper继承...

2020-02-07 19:54:37 164

原创 HSQL之窗口-聚合-分析函数

HSQL之窗口, 聚合和分析函数HSQL是大数据面试中必须具备的能力, 这里将用一个案例串通这三个常用且难点函数. 学习Hsql, 多敲多练, 方能熟能生巧.1.创建hive表:create table window_function_temp(uname string, create_time string,pv string);2.初始化测试数据:insert overwrite ...

2020-02-05 19:33:57 1409 1

原创 Java实现快速排序和二分查找详解

本文将详细讲解二分查找和快速排序,以及实现代码. 真正理解原理和代码, 你将在面试中通关.二分查找:折半算法, 一种在 有序数组 中 查找某一特定元素 的搜索算法。从定义中我们可以知道三个要点:1.二分, 怎么分呢方法一: mid = (low + high) / 2 (当low和high值特别大时,存在溢出风险)方法二: mid = ...

2020-02-04 11:24:25 520

原创 Java和Scala的高并发编程

Java并发编程知识:并发库之CountDownLatch:使一个线程等待其他线程各自执行完毕后再执行。是通过一个计数器来实现的,计数器的初始值是线程的数。每当一个线程执行完毕后,计数器的值就-1,当计数器的值为0时,表示所有线程都执行完毕,然后在闭锁上等待的线程就可以恢复工作了 //调用await()方法的线程会被挂起,它会等\待直到count值为0才继续执 *Cou...

2020-02-03 14:49:05 443

原创 SparkStreaming执行流程图及优化

SparkStreaming读取数据的原理:SparkStreaming是不间断运行的, sparkStreaming启动后, 首先会启动一个job, 这个job有一个task来接受数据, task每隔一段时间将接收来的数据封装到一个batch中,这段时间是batchInterval, 生成的每个batch又被封装到一个RDD中, 这个RDD又被封装到一个DStream中, sparkStrea...

2020-02-03 11:08:03 675

原创 JDBC调用存储过程和函数

1. 存储过程的常用命令:show procedure status; 查看所有存储过程列表show function status; 查看所有函数show create procedure pro_name;查看创建存储过程的代码show create function func_name; 查看创建函数的代码select * from information_schema.views...

2020-02-01 18:14:57 1675

原创 大数据生产环境下的常见优化sqoop-flume-hiveonspark

根据实际生产环境做的总结, 表名等信息已经虚化, 各位可以根据自己生产环境进行参考, 请大家多多支持.1.设置时间参数, 支持任务重跑if [[ -z $1 ]]; thendatetime=`date -d "-1 days" +"%Y-%m-%d"`elsedatetime=$1fiecho "datetime:${datetime}"statdate=`date -d "${...

2020-02-01 14:20:03 512

原创 ETL的开发过程

在生产环境中, 使用shell脚本完成一次etl操作1.定义一个etl函数, 里面传入json行数据, 用json.loads加载行数据,并对行数据进行判断,如果没有行数据,或data字段没有在行数据里, 就直接返回空的结果, 否则就继续往下执行2.接着获取行里的数据, 用for循环判断, 如果包含某个值, 我就将变量赋值取出, 装在集合容器里3.设置sparksession会话, 并ena...

2020-02-01 13:56:44 4560

原创 Flink知识点总结

1.Flink状态管理在传统的批处理中,数据是划分为块分片去完成的,然后每一个Task去处理一个分片。当分片执行完成后,把输出聚合起来就是最终的结果。在这个过程当中,对于state的需求还是比较小的。Flink引入了State和Checkpoint1.1**State: ** 一般指一个具体的Task/Operator的状态,State数据默认保存在Java的堆内存中,可以被记录,在失败的情...

2020-01-31 17:44:11 812

原创 八大数据分析模型

留存分析模型:统计日登陆且统计日前一日也登陆的用户,为新用户统计日登陆且与前一次登陆时间间隔小于7天,为老活跃用户,反应产品真实的活跃情况统计日登陆且与前一次登陆时间间隔等于7天, 为回流用户统计日登陆且与前一次登陆时间间隔大于7天,为沉默用户统计日与前一次登陆时间间隔大于30天, 为流式用户, 用来衡量老用户召回的功能或渠道推广,重大节日活动是否有效等周留存:这周新增的用户在下周任然...

2020-01-30 18:10:54 1897

原创 数仓开发和Hive优化

什么是数据仓库数据仓库是面向主题的,集成的,相对稳定的,反应历史变化的数据集合,用于支持企业或组织决策分析处理OLAP是多维数据库,主要用于多维分析数据仓库和数据库的区别数据库是面向事务的,数据由日常产生,存储当前交易数据,一般设计要符合三范式数据仓库是面向主题的, 数据来源于数据库或文件等,一般存储历史数据, 经过一定的规则转换得到,用来分析的,其设计一般是星型的,有利于查询数据仓库...

2020-01-30 12:07:58 1023

原创 spark实时数据分析的必要知识

1.流计算与批处理的区别 1.对于数据来说,流计算的数据是源源不断的,批处理的数据是固定的 2.对于计算来说,流计算的数据是增量的吗,批计算是全量的2.sparkstreaming原理 1.DStream的有向无环图 有向无环图就是数据的处理过程 spark streaming的编程模型是DStream, 所有API都从它开始, 它是一个管道,数据渊源不断地从这个管道进去,被处理,再...

2020-01-29 14:18:29 501

原创 spark执行机制及优化

1.优化问题Hive的优化:1. 当有join操作的时候, 将小表加入到缓存, 在map端进行join2. 分区分桶(分区表相当于hive的索引,加快查询速度) (两个表join的时候,如果两个表在相同列上有分桶操作,会减少join数据量【要求两个表的桶数量要相同或成倍数】)3. 行列过滤(只取需要的列, 先将行过滤, 再join)4. 合理设置map数...

2020-01-27 18:53:10 269

原创 spark数据倾斜处理方案

spark数据倾斜处理方案解决方案一:过滤少数导致倾斜的key**方案适用场景:**如果发现导致倾斜的key就少数几个,而且对计算本身的影响并不大的话,那么很适合使用这种方案。比如99%的key就对应10条数据,但是只有一个key对应了100万数据,从而导致了数据倾斜。**方案实现思路:**如果我们判断那少数几个数据量特别多的key,对作业的执行和计算结果不是特别重要的话,那么干脆就直接过滤...

2020-01-27 18:33:30 228

原创 Spring-IOC-DI常用注解

1.@Autowired:用于注入数据的 它们的作用就和在xml配置文件中的bean标签中写一个<property>标签的作用是一样的 此注解先在扫描的bean中匹配class类,没有就找id ,找到全局唯一的就编译正确,否则错误,即有多个值或者没有就会报错2.@Qualifier: 当有多个值或者没有值时,此...

2019-08-04 20:51:16 912

原创 线程安全问题解决的三个方案

1.解决线程安全问题有三种方案: 1.1 同步代码块 syncnized(锁对象){ 可能出现线程安全问题的代码,访问了共享数据的daima } 注意:a.代码块中的锁对象,可以使用任意对象 b.必须保证多线程使用的锁对象是同一个 c.锁对象将同步...

2019-08-02 19:31:27 1402

原创 线程间的通信

1.线程间的通信:多个线程处理同一个资源,但处理的动作却不同2.线程间的有效通信:使用等待唤醒机制,实现协调通信,让线程间进行有规律的执行3.条件:3.1 wait方法与notify方法必须由同一个锁对象调用,因为,对应的锁对象可以通过notify唤醒使用同一个对象调用的wait方法后的线程 3.2 wait与notify是属于object类的方法,因为,锁可以是任意对...

2019-08-01 18:43:26 82

原创 jQuery动态实现动态添加删除表格信息

首先应该配置jQuery框架环境,并将其正确引入到目标页面当中。这里用的是jQuery-1.8.3.实际上jQuery-2.x以下版本对浏览器的支持都是比较好的,以上版本会对移动端优先。如果你是B/C架构,2.x以下是不错的选择。以下对每条代码进行了解释,请参阅!<!DOCTYPE html><html lang="en"><head> &l...

2019-07-19 11:39:06 730

原创 ListIterator逆向迭代

public class Test2 { public static void main(String[] args) { //单列集合中只有listIterator是可逆向迭代器, //它是Iterator的子类。 int[] arr = {2,4,5,6,2,3,4};//创建一个int数组,并进行静态初始化数据 List<Integer> a = new...

2019-06-16 18:30:26 838

原创 模拟取款机的小Demo

假设一个简单的在ATM的取款过程如下:首先提示用户输入密码(password),最多只能输入3次,超过3次则提示用户"密码错误,请取卡"交易结束。如果用户密码正确,再提示用户输入金额(amount),ATM只能输出100元的纸币,一次取钱数要求最低100元,最高1000元。如果用户输入的金额符合上述要求,则打印输出用户取的钱数,最后提示用户"交易完成,请取卡",否则提示用户重新输入金额。假设用户密...

2019-06-02 20:26:27 524

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除