自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 SpringBoot整合SpringBatch实用简例

SpringBatch主要是一个轻量级的大数据量的并行处理(批处理)的框架。作用和Hadoop很相似,不过Hadoop是基于重量级的分布式环境(处理巨量数据),而SpringBatch是基于轻量的应用框架(处理中小数据)。这里使用SpringBatch做了一个能跑的最简单例子,进行描述SpringBatch的基本作用。如果需要进行深入学习,请详细参考阅读 https://docs.spring.io/spring-batch/4.0.x/reference/html/index.html ;英文不好的

2020-07-16 16:28:06 1014

原创 SpringBoot配置IDEA热部署

背景:在开发中,当我们修改代码之后,每次都要重新启动,很是浪费时间,在springboot中就有一种热部署方式,可以实现想要修改不需要每次都重新启动,保存即可生效用法:maven 添加 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true

2020-05-25 12:47:09 243

原创 Kafka 单节点多Broker部署及使用

配置Kafka拷贝server.properties三份cd $KAFKA_HOME/configcp server.properties server-1.properties cp server.properties server-2.properties cp server.properties server-3.properties修改server-1.properties文件# broker的全局唯一编号,不能重复broker.id=1# 监听listeners=PLA.

2020-05-25 09:51:55 400

原创 Spark-SQL之自定义数据源的构建

自定义数据源的构建常见的trait下面是interfaces.scala中常见的一些接口:下面各种类、方法,在源码里面都有详细的注释。//BaseRelation是Spark提供的一个标准的接口//由于是抽象类,如果要实现自己的外部数据源,必须要实现它里面的一些方法//这个里面是含有schema的元组集合(字段:字段类型)//继承了BaseRelation的类,必须以StructType这个形式产生数据的schema//继承了`Scan`类之后,要实现它里面的相应的方法@Interface

2020-05-24 21:02:45 521

原创 Spark on Yarn提交作业优化

问题复现我们这里直接用spark-shell测试,spark-submit底层也是调用的spark-shell[hadoop@hadoop001 bin]$ ./spark-shell --master yarn --name wuzhou --deploy-mode client我们每次在执行提交作业的脚本时,都会出现上图所示的场景;可以看出spark.yarn.jars、sparl.yarn.archive都没有配置,我们看下官网的说明http://spark.apache.org/do

2020-05-24 19:56:00 185

原创 Spark SortShuffleManager 运行原理

SortShuffleManager运行原理SortShuffleManager的运行机制主要分成两种,一种是普通运行机制,另一种是bypass运行机制。当shuffle read task的数量小于等于spark.shuffle.sort.bypassMergeThreshold参数的值时(默认为200),就会启用bypass机制。普通运行机制会把shuffle的数据先写内存[数据结构] 这里会有一个批次,至于内存数据结构是什么类型的下面有解释达到临界阈值会先对内存数据结构中已有的数据进行排序

2020-05-22 11:37:00 529

转载 Spark源码之reduceByKey与GroupByKey

Spark中针对键值对类型的RDD做各种操作比较常用的两个方法就是ReduceByKey与GroupByKey方法,下面从源码里面看看ReduceByKey与Gr...

2020-05-22 11:16:35 197

转载 数据库锁机制

1 前言数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。2 锁的种类共享锁(Shared lock)。例1:----...

2020-05-21 18:23:53 146

原创 Flume二次开发之Taildir Source实现递归读取目录下文件

下载源码包flume-ng-1.6.0-cdh5.7.0-src.tar.gz解压导入IDEA找到我们需要修改的getMatchFiles方法 /** * 修改flume源码,使其支持递归 * @param parentDir * @param fileNamePattern * @return */ private List<File> getMatchFiles(File parentDir, final Pattern fileNamePatt

2020-05-20 20:17:52 632

原创 Flume之同时向HDFS以及Kafka写数据

前言本篇文章详细的介绍了Flume的Agent配置Multiple flows向Kafka以及hdfs些数据,涉及的Hadoop、Zookeeper、Kafka均是伪分布式部署。基础环境组件版本组件名称组件版本Flumeflume-ng-1.6.0-cdh5.7.0Zookeeperzookeeper-3.4.5-cdh5.7.0Kafkakafka_2.11-0.10.1.1安装部署安装Flume这里略过安装单点Zookeeper可参考ZooKe

2020-05-20 19:27:44 247

原创 Docker上安装部署Superset

一、Docker上安装部署Superset1、查看正在运行中的镜像[root@hadoop001 ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES[root@hadoop001 ~]# 2、查看所有已经安装的镜像[root@hadoop001 ~]# docker im

2020-05-13 20:23:47 1364

转载 Mysql使用UUID和自增主键ID性能对比测试

 测试缘由  一个开发同事做了一个框架,里面主键是uuid,我跟他建议说MySQL不要用uuid用自增主键,自增主键效率高,他说不一定...

2020-05-13 10:26:43 2532 1

原创 Linux-Memory详解

[root@hadoop001 ~]# free -m total used free shared buffers cachedMem: 3830 3142 687 0 180 1559-/+ buffers/cache: 1403 2427Swap: 0 0

2020-05-13 09:47:00 2290

原创 《Spark Structured Streaming》 官方文档解读

模型思想从Spark 2.0开始,Spark Streaming引入了一套新的流计算编程模型:Structured Streaming,开发这套API的主要动因是自Spark 2.0之后,以RDD为核心的API逐步升级到Dataset/DataFrame上,而另一方面,以RDD为基础的编程模型对开发人员的要求较高,需要有足够的编程背景才能胜任Spark Streaming的编程工作,而新引入的Structured Streaming模型是把数据流当作一个没有边界的数据表来对待,这样开发人员可以在流上使用S

2020-05-12 23:03:10 191

原创 初识Spark Structured Streaming结构化流

http://spark.apache.org/docs/latest/structured-streaming-programming-guide.html官网Overview概述Structured Streaming is a scalable and fault-tolerant stream processing engine built on the Spark SQL engine.结构化流是一个基于Spark SQL可扩展以及容错的流式处理引擎You can express yo.

2020-05-12 23:01:27 452

原创 CDH之生产常用的基本操作介绍

1.CDH的启动关闭顺序1.1启动顺序第一步:先启动Mysql service mysql start第二步hadoop001再启动Server:/opt/cloudera-manager/cm-5.16.2/etc/init.d/cloudera-scm-server start第三步hadoop001-003再启动Agent:/opt/cloudera-manager/cm-5.16.2/etc/init.d/cloudera-scm-agent start第四步在Web界面启动Cloude

2020-05-12 15:38:13 1001

转载 Hive中拉链表

在有些情况下,为了保持历史的一些状态,需要用拉链表来做,这样做目的在可以保留所有状态的情况下可以节省空间。拉链表适用于以下几种情况吧数据量有点大,表中某些字段有变化,但是呢变化的频率也不是很高,业务需求呢又需要统计这种变化状态,每天全量一份呢,有点不太现实,不仅浪费了存储空间,有时可能业务统计也有点麻烦,这时,拉链表的作用就提现出来了,既节省空间,又满足了需求。一般在数仓中通过增加begin_date,end_date来表示,如下例,后两列是start_date和end_date.1 2016-

2020-05-09 20:48:43 226

原创 实时数仓-ERP项目环境准备

一、下载IDEA+Maven安装包1、IDEA下载https://blog.csdn.net/weixin_42032199/article/details/96601459网上自行下载处理后进行安装2、Maven下载http://maven.apache.org/windows下载bin-zip二、IDEA安装+激活参考博客:https://blog.csdn.net/...

2020-05-06 18:30:12 228

原创 Flink实战系列(三)之Sink的使用

回顾上一篇文章 :package com.ruozedata.flink.flink02import java.sql.{Connection, PreparedStatement}import com.ruozedata.flink.fink01.Domain.Studentimport com.ruozedata.flink.utils.MySQLUtilsimport org...

2020-05-05 23:05:00 1074

原创 Flink实战系列(二)之基础API补充以及Source的使用

Transformation顶层类Function map ==> MapFunction filter ==> FilterFunction xxx ==> XxxFunction RichXxxFunction *****

2020-05-05 11:01:46 920

原创 Flink实战系列(一)之基础概念以及基础API使用

官网https://flink.apache.org/简介Apache Flink — Stateful Computations over Data Streams我们前面学习的离线处理一般是不需要状态的(这个批次同上一批次没多少关系),不过也有项目用到state watermark,而Flink是基于流处理,有状态的基于事件驱动流式处理框架,比如storm等都有这个特点对...

2020-05-01 00:06:32 351

转载 【SpringBoot】SpringBoot整合Redis(Spring Data Redis)

一、前言:现在做J2EE开发基本上都用spring全家桶了,由于项目中需要减轻数据库的访问压力,所以考虑添加缓存,之前采用SSM框架的时候对redis进行操作都是用的jedis。其实呢redis的客户端有两种实现方式,一种是调用jedis来实现,二是可以使用spring data redis,通过spring的封装来调用。二、整合1、添加redis依赖<!--与spring Data...

2020-04-29 14:24:09 320

原创 Redis编译安装以及简单使用

官网 https://redis.io简介Redis是NoSQL的数据库,ey-value方式存储的内存数据库(key :通常是String类型、value:strings, hashes, lists, sets, sorted sets选择哪一个根据业务来定的),而对于存在内存里的数据,万一挂掉的情况,内部有机制,定时的把内存数据 刷到磁盘上面,重启之后可以把磁盘上的数据加载进来的特...

2020-04-29 14:12:25 478

原创 ElasticSearch6.6.2JavaApi详解

The Java High Level REST Client https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.6/java-rest-high.html前言一台机器上面要起多个节点一定要通过参数的方式启动,节点就是一个JVM进程,生产上ES单独部署,提供非常快速的数据的写入或者查询,而且是SSD,不是和Ha...

2020-04-28 23:07:58 408

原创 HBase架构以及生产上的调优点

https://mapr.com/blog/in-depth-look-hbase-architecture/HBase架构先抛出一个问题:HBase读写是否都经过HMaster节点?Client读写请求:Meta cache(第一次会cache meta信息,第二次检索直接走cache,除非数据移动、丢失、遗漏,二次检索:检索数据+ 更新cache)HMASTER1.Region...

2020-04-27 20:51:36 153

转载 HBase基础:HBase写流程

架构图架构图摘自网络,后续例子使用个人集群进行讲解HBase写流程详解假如我们有三台机器,ruozedata001 ruozedata002 ruozedata00...

2020-04-27 20:09:02 237

转载 为什么不建议在 HBase 中使用过多的列族

我们知道,一张 HBase 表包含一个或多个列族。HBase 的官方文档中关于 HBase 表的列族的个数有两处描述:A typical schema has between 1 and 3 ...

2020-04-27 16:49:07 188

转载 HBase基础:HBase的数据模型

NameSpace命名空间,类似于关系型数据库的 DatabBase 概念,每个命名空间下有多个表。HBase 有两个自带的命名空间,分别是 hbase 和 default,hbase 中存...

2020-04-27 16:45:26 145

转载 HBase基础:HBase物理存储结构

物理存储结构以逻辑存储结构中的部分数据为例:  personal_info   office_info Row Key name ...

2020-04-27 16:42:54 182

转载 HBase基础:HBase逻辑结构

前言逻辑上,HBase的数据模型和关系型数据库类似,数据存储在一张表中,有行有列。注意,这个结构为逻辑结构,并非真正的存储格式。是用来理解hbase。通过Excel表格来理解HBase的...

2020-04-27 16:38:08 402

原创 HBase基础:HBase架构

架构图hbase顶层存储依赖于HDFS存储,依赖于zookeeper进行管理协助hbase自身有两个核心组件:HMaster以及HRegionServer。HMaster管理ddl操作以及namespace的操作。RegionServer管理dml的操作以及管理源数据。一个RegionServer维护多个HRegion,RegionServer通过HLog完成数据的预写操作,一个HReg...

2020-04-27 16:34:59 159

转载 jps命令查看DataNode进程不见了(hadoop3.0亲测可用)

jps: java process status tools表示java进程查看工具.解决方案就两个:1.清空tmp目录2.把tmp目录下的NameNode和DataNode的clusterID,在VERSION文件里改成一样的即可。liugen@ubuntu:/usr/local/hadoop/tmp/dfs/name/current$ gedit VERSION DataNod...

2020-04-25 14:11:38 535

原创 Spark on Kubernetes

http://spark.apache.org/docs/latest/running-on-kubernetes.htmlThe Kubernetes scheduler is currently experimental. In future versions, there may be behavioral changes around configuration, container...

2020-04-22 23:06:27 105

原创 Kubernetes实战(部署+生产案例)

K8S的搭建在https://blog.csdn.net/weixin_43212365/article/details/105665215可以查看我们要在K8S上启动Mysql服务分为以下几步首先我们认识一下以下几个关键词pod 逻辑概念 k8s调度的单元 可以认为就是一个container实例,一般的pod可能在这台机器上面运行,如果失败了,会飘到另外一台机器上面去重新创建...

2020-04-22 21:51:01 760

原创 部署kubernetes(K8S)

https://kubernetes.io/https://docs.docker.com/install/linux/docker-ce/centos/环境配置内容参数操作系统centos机器环境阿里云CPU核心数4内存16G因为处于初级学习阶段,所以就先部署单机的,这里需要注意的是,K8S一般都会涉及到梯子,但对于小白来讲,梯子是什...

2020-04-22 16:27:37 2813

原创 私有镜像仓库Harbor仓库v1.8.1离线安装以及生产基本使用

官网https://goharbor.io/部署文档https://github.com/goharbor/harborHarbor概述Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等,足以满...

2020-04-21 18:23:40 669

原创 Docker的入门以及安装(阿里云)

https://docs.docker.com/Docker provides a way to run applications securely isolated in a container, packaged with all its dependencies and libraries.容器认识首先想一下Windows环境下,我们安装虚拟机,比如有VM1、VM2、VM3等,这些...

2020-04-20 13:22:46 1972

原创 ElesticSearch6.6.2生产最佳实战

前言前面我们已经介绍了ElesticSearch6.6.2的入门以及安装部署,当然工作生产中对于ES是需要装很多插件的,其中有一个就是head插件,htlm5编写的一个可以浏览的页面先了解一个配置文件[hadoop@hadoop001 config]$ cat jvm.options ## JVM configuration###############################...

2020-04-18 16:29:21 501

转载 MySQL Binlog 介绍

Binlog 简介MySQL中一般有以下几种日志:日志类型写入日志的信息错误日志记录在启动,运行或停止mysqld时遇到的问题通用查询日志记录建立的客户端连接和执行的语句二进制日志记录更改数据的语句中继日志从复制主服务器接收的数据更改慢查询日志记录所有执行时间超过 long_query_time 秒的所有查询或不使用索引的查询DDL日...

2020-04-18 10:27:58 64

原创 HBase入门实战以及官网解读

http://hbase.apache.org/HBase认识定位:Hadoop databasea distributed, scalable, big data store 分布式的,可扩展的数据库存储random realtime read/write 想要做随机读写或者实时读写,更适合用Hbasevery large tables billions of rows...

2020-04-17 21:37:13 633

空空如也

空空如也

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

TA关注的人

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