- 博客(49)
- 资源 (2)
- 收藏
- 关注
原创 史上最强superset 使用宝典 ----公司内部使用整理
前场安装请直接看方案二一、方案一(已弃用)1、安装python3以上#安装依赖包yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel#下载安装cd /usr/local/src #进⼊源码⽂件夹wget www.python.org/ftp/python/3
2022-05-09 16:49:24
1895
2
原创 Flume+Kafka双剑合璧玩转大数据平台日志采集
Flume+Kafka双剑合璧玩转大数据平台日志采集大数据平台每天会产生大量的日志,处理这些日志需要特定的日志系统。一般而言,这些系统需要具有以下特征:构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统;具有高可扩展性。即:当数据量增加时,可以通过增加节点进行水平扩展。为此建议将日志采集分析系统分为如下几个模块:数据采集模块:负责从各节点上实时采集数据,建议选用Flume-NG来实现。数据接入模块:由于采集数据的速度和数据处理
2020-12-10 16:54:49
305
原创 hive的优化
分类: Hive系列undefined概述1.1 hive的特征:可以通过SQL轻松访问数据的工具,从而实现数据仓库任务,如提取/转换/加载(ETL),报告和数据分析;它可以使已经存储的数据结构化;可以直接访问存储在Apache HDFS或其他数据存储系统(如Apache HBase)中的文件;Hive除了支持MapReduce计算引擎,还支持Spark和Tez这两种分布式计算引擎;它提供类似sql的查询语句HiveQL对数据进行分析处理;数据的存储格式有多种,比如数据源是二进制格式,普
2020-12-02 11:55:14
310
原创 数据集市与数据仓库的区别
1.什么是数据集市?数据集市与数据仓库的区别? 数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的( Integrate )、相对稳定的(Non -Volatile )、反映历史变化( Time Variant)的数据集合用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重...
2020-12-01 08:38:41
11710
原创 Kafka的简介与结构
Kafka学习之路 (一)Kafka的简介目录一、简介 1.1 概述 1.2 消息系统介绍 1.3 点对点消息传递模式 1.4 发布-订阅消息传递模式 二、Kafka的优点 2.1 解耦 2.2 冗余(副本) 2.3 扩展性 2.4 灵活性&峰值处理能力 2.5 可恢复性 2.6 顺序保证 2.7 缓冲 2.8 异步通信 三、常用Message Queue对比 3.1 RabbitMQ 3.2 Redis 3.3 .
2020-11-30 17:07:44
176
转载 https://www.cnblogs.com/wang3680/p/11538451.html
https://www.cnblogs.com/wang3680/p/11538451.html
2020-11-28 10:10:48
807
原创 数据库分层设计概述
一、文章主题本文主要讲解数据仓库的一个重要环节:如何设计数据分层!其它关于数据仓库的内容可参考之前的文章。【漫谈数据仓库】 如何优雅地设计数据分层本文对数据分层的讨论适合下面一些场景,超过该范围场景 or 数据仓库经验丰富的大神就不必浪费时间看了。数据建设刚起步,大部分的数据经过粗暴的数据接入后就直接对接业务。数据建设发展到一定阶段,发现数据的使用杂乱无章,各种业务都是从原始数据直接计算而得。各种重复计算,严重浪费了计算资源,需要优化性能。二、文章结构最初在做数据仓库的时候遇到了很多坑,由于
2020-11-28 10:02:40
1572
原创 数仓事实表与维度表
事实表:1.0事务事实表:(->明细事实表->聚合事实表)记录的是事务层面的事实,保存的是最原子的数据,也叫做“原子事实表”。事务事实表中的数据在事务事件发生后产生,数据的粒度通常是每个事务一条记录。一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。1.1.0明细事实表(单事件事实表,流程事实表): 一般位于DWD层,该层事实表设计不进行聚合,汇总等动作,仅做数据规范化,数据降维动作,同时数据保持业务事务粒度,确保数据信息无丢失。单事件事实表:1.更方便跟踪业
2020-11-28 09:51:48
501
原创 逻辑回归与随机森林
1.逻辑回归逻辑回归从统计学的角度看属于非线性回归中的一种,它实际上是一种分类方法,主要用于两分类问题Regression问题的常规步骤为:寻找h函数(即假设估计的函数);构造J函数(损失函数);想办法使得J函数最小并求得回归参数(θ);数据拟合问题1)利用了Logistic函数(或称为Sigmoid函数),函数形式为最常见的1.png2)代价函数J下面的代价函数J之所有前面加上1/m是为了后面”梯度下降求参数θ时更方便“,也即这里不加1/m也可以。2.png
2020-11-05 17:46:00
3225
原创 sqoop从安装到操作
一.sqoop的简单概论1.sqoop产生的原因:A. 多数使用hadoop技术的处理大数据业务的企业,有大量的数据存储在关系型数据中。B. 由于没有工具支持,对hadoop和关系型数据库之间数据传输是一个很困难的事。依据以上的原因sqoop产生的。2. sqoop的介绍sqoop是连接关系型数据库和hadoop的桥梁,主要有两个方面(导入和导出):A. 将关系型数据库的数据导入到Hadoop 及其相关的系统中,如 Hive和HBaseB. 将数据从Hadoop 系统里抽取并
2020-10-20 11:57:19
350
3
原创 JVM 垃圾回收器工作原理及使用实例介绍
垃圾收集基础Java 语言的一大特点就是可以进行自动垃圾回收处理,而无需开发人员过于关注系统资源,例如内存资源的释放情况。自动垃圾收集虽然大大减轻了开发人员的工作量,但是也增加了软件系统的负担。拥有垃圾收集器可以说是 Java 语言与 C++语言的一项显著区别。在 C++语言中,程序员必须小心谨慎地处理每一项内存分配,且内存使用完后必须手工释放曾经占用的内存空间。当内存释放不够完全时,即存在分配但永不释放的内存块,就会引起内存泄漏,严重时甚至导致程序瘫痪。以下列举了垃圾回收器常用的算法及实验原理
2020-10-19 09:28:17
170
原创 java链接elasticsearch
目录java连接es,构建clientjava控制es增删改查1.查询2.删除3.更新4.增加java连接es,构建client1.pom.xml ,构建maven依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <...
2020-09-30 16:59:44
565
原创 ElasticSearch的CRUD操作
ElasticSearch的CRUD操作1.CREATEelasticsearch会自动建立index和type,不需要提前创建,而且elasticsearch默认会对document的每个filed建立倒排索引,方便搜索;操作命令PUT /index/type/id{ "filed":"value"}1 2 3 4操作示例#操作例子PUT /accounting_tools/voucher_detail/111{ "subjectId" : "1.
2020-09-30 16:53:08
237
原创 elasticsearch 倒排索引
一切设计都是为了提高搜索的性能倒排索引(Inverted Index)也叫反向索引,有反向索引必有正向索引。通俗地来讲,正向索引是通过key找value,反向索引则是通过value找key。先来回忆一下我们是怎么插入一条索引记录的:curl -X PUT "localhost:9200/user/_doc/1" -H 'Content-Type: application/json' -d'{ "name" : "Jack", "gender" : 1, "ag.
2020-09-30 16:51:02
198
原创 Hbase数据存储原理与读写详解
Hbase数据存储原理与读写详解1、HBase的数据存储原理一个HRegionServer会负责管理很多个region 一个*region包含很多个store 一个列族就划分成一个store** 如果一个表中只有1个列族,那么每一个region中只有一个store 如果一个表中有N个列族,那么每一个region中有N个store 一个store里面只有一个memstore memstore是一块内存区域,写入的数据会先写入memstore进行缓冲,然后再把数据刷到磁盘.
2020-09-28 18:39:27
1180
原创 hbase原理架构总结
什么是HbaseHbase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价的PC Server上搭建大规模结构化存储集群。利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理 Hbase中的海量数据,利用Zookeeper作为其分布式协同服务主要用来存储非结构化和半结构化的松散数据(列存NoSQL数据库)Hbase是Google BigTable的开源实现,与Google BigTable利用GFS作为其文件存储系统类似,H
2020-09-28 16:07:16
2716
原创 关于reducebykey在spark的使用
package njbdqnimport org.apache.spark.{SparkConf, SparkContext}import scala.collection.mutable.ListBufferobject demo { def main(args: Array[String]): Unit = { val conf=new SparkConf().setMaster("local[2]").setAppName("myjob") val sc=new Sp.
2020-09-23 16:21:42
665
原创 reducebyKey与groupby使用差别
在spark中,我们知道一切的操作都是基于RDD的。在使用中,RDD有一种非常特殊也是非常实用的format——pair RDD,即RDD的每一行是(key, value)的格式。这种格式很像Python的字典类型,便于针对key进行一些处理。针对pair RDD这样的特殊形式,spark中定义了许多方便的操作,今天主要介绍一下reduceByKey和groupByKey,因为在接下来讲解《在spark中如何实现SQL中的group_concat功能?》时会用到这两个operations。..
2020-09-23 13:58:24
481
原创 Scala中正则表达式以及与模式匹配结合(多种方式)
这篇文章主要介绍了Scala中正则表达式以及与模式匹配结合,本文给大家介绍了多种模式匹配方式,需要的朋友可以参考下正则表达式 1 2 3 4 //"""原生表达 val regex="""([0-9]+)([a-z]+)""".r val numPattern="[0-9]+".r val numberPattern="""\s+[0-9]+\s+""".r 说明:.r()方法简介:Scala中将字符串转换...
2020-09-17 14:23:36
554
原创 scala之面向对象
在Scala中,是没有java里面那些基础类型的,所有的Scala类型我们都可以称之为type,下面是一个类型层次结构的子集:我们可以看到Any是所有类型的父类型,所有的类型都是直接或者间接继承Any来的。 Any提供了一些通用的方法比如:equals、hashCode和toString。 Any有两个直接的子类:AnyVal和AnyRef.AnyVal表示的是值类型,它有9个预定义的非空的值类型分别是:Double、Float、Long、Int、Short、Byte、Char...
2020-09-14 18:56:25
115
原创 hbase java封装
在学习使用Hbase的时候,因为Hbase中存放的是byte数组。所以大部分的输入类型都是byte数组格式的。这样方便了存储其它大型文件,但是对于初学者的我们来讲就是十分不友好的。因此,我在这里对一些东西做了简单的二次封装,提高了学习的效率。这样,我们可以有更多的时间去考虑如何利用Hbase来设计业务逻辑,降低学习的难度。同时,这里做的一些封装,也可以为以后开发的时候封装工具做一个前瞻性的探索。HbaseUtil封装封装了HbaseJavaAPI中一些最常用,最基本的的元素。import org.ap
2020-09-02 19:14:45
277
转载 over在hive中的应用详解
over()over() 函数在Hive中运用广泛,通常搭配row_number() ,min(),max(),sum()来使用,总结下over函数划定窗口的范围id name num 1 a 1 2 b 3 3 a 5 4 c 9 5 b 3 over() 此时每一行的窗口都是所有的行SELECT id,name,num,sum(num) over() sum1 from aa1 2
2020-09-02 19:09:32
323
原创 hive函数大全表格整理
等值比较: = 语法:A=B 操作类型:所有基本类型 描述:如果表达式A与表达式B相等,则为TRUE;否则为FALSE 举例: hive>select 1 from lxw_dual where 1=1; 1 不等值比较: <> 语法: A ...
2020-08-27 18:42:00
221
原创 hive 基础语法之建表查表
2. Hive基础sql语法2.1.1 建表CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name[(col_name data_type [COMMENT col_comment], …)][COMMENT table_comment][PARTITIONED BY (col_name data_type [COMMENT col_comment], …)][CLUSTERED BY (col_name, col_name, …)[SORT
2020-08-26 18:46:29
462
原创 hive 语句中with子查询的用法
with...as...也叫做子查询部分,语句允许hive定义一个sql片段,供整个sql使用简介with...as...需要定义一个sql片段,会将这个片段产生的结果集保存在内存中,后续的sql均可以访问这个结果集和,作用与视图或临时表类似.语法限制with...as...必须和其他sql一起使用(可以定义一个with但在后续语句中不使用他) with...as...是一次性的with...as...的完整格式是这样的-- with table_name as(子查询..
2020-08-26 18:38:20
4378
1
原创 map 数据流
MapReduce数据流1 概述MapReduce是Hadoop的核心组件,它在处理大规模数据时,将工作分割成一系列独立的任务,然后进行并行处理。我们在本节将了解Hadoop MapReduce内部是如何工作的。本节提供了完整的MapReduce 数据流图表,我们会介绍该图表中的各个阶段,比如:Input文件, InputFormat, InputSplits, RecordReader, Mapper, Combiner, Partitioner, Shuffling&Sorting,
2020-08-20 19:55:14
386
原创 hadoop 之mapreduce shuffle map输出过程
一、概要描述shuffle是MapReduce的一个核心过程,因此没有在提交中描述,而是单独拿出来比较详细的描述。 根据官方的流程图示如下:本篇文章中只是想尝试从代码分析来说明在map端是如何将map的输出保存下来等待reduce来取。 在执行每个map task时,无论map方法中执行什么逻辑,最终都是要把输出写到磁盘上。如果没有reduce阶段,则直接输出到hdfs上,如果有有reduce作业,则每个map方法的输出在写磁盘前线在内存中缓存。每个map task都有一个环状的内存缓冲区,存储..
2020-08-20 18:42:31
682
原创 elastic headmaster
elasticsearch-head是一款专门针对于elasticsearch的客户端工具,elasticsearch-head是一个基于node.js的前端工程前提:需要安装nodejs,运行elasticsearch-head会用到grunt,而grunt需要npm包管理器,所以nodejs是必须要安装的(nodejs安装不在这里讲述)首先 验证node -version是否有安装1、下载解压安装包到elasticsearch目录下2、执行grunt -version查看grunt是..
2020-08-12 19:21:30
253
原创 linux下elasticsearch配置
直接上文件集群配置备注:如果是centos7要在discovery.zen.ping.unicast.hosts: [“192.168.150.130”,“192.168.150.130”,“192.168.150.129”]中加上tcp端口号例如:discovery.zen.ping.unicast.hosts: [“192.168.150.130:9300”,“192.168.150.130:9303”,“192.168.150.129:9301”]如果不加的话只能扫描到一个主节点其他的从节点扫
2020-08-12 18:50:11
320
原创 ajax前后端分离
AJAX前后端分离前后端分离处理前端------(数据)-----服务端----(数据)-----前端-----动态改变页面的内容json1、JSON(JavaScript Object Notation)以纯文本结构组织所要传送的数据,数据内容包括字符串、数字、数组和对象等,由于JSON易读以及纯文本格式的特性,可以非常容易地与其他程序进行沟通与数据交换。2、JSON的数据结构通过大括号、中括号、逗号和冒号来组织数据,冒号(键:值):一个键值(key)对应一个值(value),字符串
2020-08-03 14:46:48
1400
原创 ajax原理深入浅出
Ajax基础Ajax 概述它是浏览器提供的一套方法,可以实现页面无刷新更新数据,提高用户浏览网站应用的体验。Ajax 的应用场景页面上拉加载更多数据列表数据无刷新分页表单项离开焦点数据验证搜索框提示文字下拉列表Ajax 运行原理及实现Ajax 运行原理Ajax 相当于浏览器发送请求与接收响应的代理人,以实现在不影响用户浏览页面的情况下,局部更新页面数据,从而提高用户体验。Ajax 的实现步骤创建 Ajax 对象 var xhr = new XMLHttpReque
2020-08-03 14:37:50
15135
原创 为什么要使用basedao以及源码解析
BaseDao接口的过人之处在于:一般是提供从数据库 增加、删除、修改记录、查询所有记录、查询符合某个条件记录、取得某条记录等方法的底层数据操作自定义类。由于我们可能操作多个数据库表,这样就需要为每个表提供一个操作他的类 xxDAO, 这些DAO继承BaseDAO 就可以省略很多重复代码(从数据库 增加、删除、修改记录、查询所有记录、查询符合某个条件记录、取得某条记录等方法的代码)。其次对于泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这...
2020-07-16 19:59:06
951
原创 通俗理解mvc结构与servlet
MVC框架全明是Model View Controller,是是模型(model)-视图(view)-控制器(controller)的缩写优点:耦合性低重用性高部署快,生命周期成本低可维护性高缺点:MVC理解比较复杂调试困难增加了系统结构的复杂性这是java的mvc架构,这就像工厂中车间的情景一样,每个部门分管不同的流程和工作,比如dao即使data access object,主要负责处理数据库操作;biz,business层,负责整个应用程序的相关业务流程,...
2020-07-16 19:53:16
785
原创 jdbc连接数据库原理与反射机制
JDBC(java dataBase Connectivity):java语句使用JDBC来操作数据库,jdbc严格来说是java的一种规范。Jdbc开发的步骤:1.获得连接2.通过连接来创建statement或者是preparedstatement3.关闭资源那我们先来了解一下什么是反射:反射(Reflection): java的反射机制是在运行状态中,对于任意的一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用他的任意方法和属...
2020-07-07 18:51:30
1382
原创 利用basedao进行数据库连接以及增删改查的封装
import java.math.BigDecimal;import java.sql.*;import java.time.LocalDateTime;import java.util.Date; /** * 基础的数据库操作类 * 简化通用的基础的增删改查的操作,与具体业务逻辑无关 * @author passerbyYSQ */public class BaseDao { public interface PackResult<T> { // 将Result.
2020-07-07 18:40:55
1171
原创 数据库范式
MySQL三大范式阅读目录第一范式(1NF) 第二范式(2NF) 依赖 第三范式(3NF)回到顶部第一范式(1NF)数据表的每一列都要保持它的原子特性,也就是列不能再被分割。这张表就不符合第一范式规定的原子性,不符合关系型数据库的基本要求,在关系型数据库中创建这个表的操作就不能成功。不得不将数据表设计为如下形式。回到顶部第二范式(2NF)概率:属性必须完全依赖于主键。下满这张表不符合第二范式的要求。缺点表中的第一行数据都存储了系名、系主任,数据.
2020-07-06 09:56:34
114
原创 css样式总结
块级元素与行内元素块级(block-level);行内(内联、inline-level)。 块级元素包含块级和行内,行内元素只能包含文本和行为。 块级占据一整行空间,行内占据自身宽度空间。 宽度设置,内外边距的差异。 块级元素:div、h1-h6、p、hr、form、ul、ol、pre、table、li、dd、dt、tr、td、th. 行内元素:em、strong、span、br、a、img、button、input、label、select、textarea、code、script. 在一
2020-07-01 20:11:56
299
原创 map数据流
1 、ancestor descendant用法: $("form input") ; 返回值 集合元素说明: 在给定的祖先元素下匹配所有后代元素.这个要和"parent > child"区分开。 祖先元素中查找,包含子元素和子元素的子元素。 2、parent > child用法: $("form > input") ; 返回值 集合元素说明: 在给定的父元素下匹配所有子元素。注意:要区分好后代元素与子元素 父元素中查找,只包含子元素,不包含子元素的子元素。
2020-06-29 19:00:31
167
原创 关于弹性盒子
简单来说,当给父框添加{display: flex;}属性,就可以把父框变成弹性盒子的容器了先明白一个概念:主轴和交叉轴主轴是根据 flex-direction 的属性值来确定的。当值为column时,主轴是垂直方向的。当值为row时,主轴是水平方向的。那么交叉轴就是垂直于主轴的那条线。弹性盒子的属性分为容器属性和子项目属性。容器属性是来控制整体样式,加给容器里边的。子项目属性是来调整单个元素的样式。容器属性1. flex-direction属性:决定主轴的方向(即项目的排列方.
2020-06-23 19:48:27
331
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人