自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 sparkstreaming实时数仓总结

7 sparkStreaming实时数仓总结1、SparkStreaming实时数仓用到的存储介质都干啥事了--实时数仓中存储介质都干了些啥?1. redis 64G①存mid到set集合,重复的mid返回0则被过滤达到去重的目的(保留第一次启动数据)②窗口法双流join的去重③缓存法双流join缓存流数据④手动保存偏移量(除了消费dws_order_wide主题)2. hbase①从ods层消费维度表(主题)写到hbase(维度表的dwd层,初始化维度表只做一次)②user_st

2021-07-11 18:47:50 518 1

原创 dolphinscheduler-Cluster部署

软硬件环境软硬件环境建议配置集群部署(Cluster)基础配置# software和module 创建dolphinscheduler 上传安装包mkdir dolphinschedulercd dolphinscheduler/mkdir /opt/module/dolphinschedulertar -zxf apache-dolphinscheduler-1.3.6-bin.tar.gz -C /opt/module/dolphinscheduler/cd /opt/module/

2021-06-24 21:46:49 347

原创 手动校正扫描pdf目录解决方案

下载安装pdf插件其中天诺下载开源版本5.2,新版本已收费,不适合白嫖PdgCntEditor是校正页码和格式的工具,其实使用脚本也可以,考虑到部分扫描出来的格式问题各不一样,就没写脚本处理了。直接手撸FreePic2Pdf工具是导出和导入书签目录源码的工具,下面介绍V0505是获取文献SS码的工具还有这个截图神器,长截图解决了QQ截图的限制特点,一键宏操作,导出pdf,nice~目录清洗使用FastStone Capture将pdf目录截图下载保存成pdf文件由于开源ocr识别

2021-05-30 23:06:31 466

原创 hadoop-yarn资源优化

配置NM的注册资源<property><name>yarn.nodemanager.resource.cpu-vcores</name><value>30</value><discription>每个nodemanager可分配的cpu总核数</discription></property><property><name>yarn.nodemanager.resource.m

2021-05-20 17:03:11 204 1

原创 redis集群模式部署

redis安装安装哨兵模式暂无集群模式安装家目录的bin下编写脚本redis-cluster-build.sh#! /bin/bash#########################配置redis集群cluster#######################cd /opt/module/redis/redis-3.2.5if [ ! -e redis-sentinel-config ]then mkdir redis-sentinel-configfiif [ !

2021-05-17 20:14:50 131

原创 python简单实现redis分布式乐观悲观锁

```import redisimport timefrom redis import StrictRedisfrom redis import WatchErrorPARAM_COMMIT_RETURN_ = ''' pipeline方法: 链式调用 execute执行 redis方法pipe.set().sdd().incr().execute() :param commit: 是否开启事务 .

2021-05-16 00:32:46 166

原创 java实现分布式锁01

java实现分布式锁package com.yiran.redis;import org.junit.Test;import redis.clients.jedis.Jedis;import java.net.PortUnreachableException;/** * @program: BigdataSrc * @description: * @author: Mr.Yang * @create: 2021-05-15 14:41 **/public class RdisT

2021-05-16 00:27:22 71

原创 hbase01-架构原理

1.Habse架构原理1.1)Hbase定义Hbase是一种分布式、可扩展、支持海量存储的NoSQL数据库1.2)数据模型Name Space:命名空间,类似关系数据库database自带两个命名空间:hbase和defaulthbase存放hbase的内部表default存放用户默认创建的命名空间Region:类似关系数据库的表RowHBase表中的每行数据都由一个RowKey和多个Column(列)组成,数据是按照RowKey的字典顺序存储的,并且查询数据

2021-05-12 21:30:17 185

原创 集群shell脚本

安装配置脚本自动ssh免密脚本-auto-ssh.sh和root-auto-ssh.sh使用方法:放在同目录下如果不同用户只需修改host和集群用户名密码auto-ssh.sh#!/bin/bash# Program:# to realize automic ssh connection among the cluster# 2021/05/06 Shuu First releasefunction gen-ssh() {echo 'start insta

2021-05-08 18:36:59 237

原创 kafka彻底删除topic及其数据

前言:删除kafka topic及其数据,严格来说并不是很难的操作。但是,往往给kafka 使用者带来诸多问题。项目组之前接触过多个开发者,发现都会偶然出现无法彻底删除kafka的情况。本文总结多个删除kafka topic的应用场景,总结一套删除kafka topic的标准操作方法。step1:如果需要被删除topic 此时正在被程序 produce和consume,则这些生产和消费程序需要停止。因为如果有程序正在生产或者消费该topic,则该topic的offset信息一致会在broker更新。

2021-05-06 21:32:20 342

转载 kafka性能基准测试

[kafka性能基准测试]转载自:http://www.cnblogs.com/xiaodf/1、测试环境该benchmark用到了六台机器,机器配置如下l IntelXeon 2.5 GHz processor with six coresl Six7200 RPM SATA drivesl 32GB ofRAMl 1GbEthernet这6台机器其中3台用来搭建Kafka broker集群,另外3台用来安装Zookeeper及生成测试数据。6个drive都直接以非RAID方式挂载

2021-05-06 21:22:46 575

原创 sublime配置连接linux

Sublime是一款强大的编辑器,它的强大体现在它强大的插件。要实现Sublime 远程连接 Linux服务器,需要使用插件SFTP。一. 插件安装用Package Control安装插件按下Ctrl+Shift+P调出命令面板输入install 调出 Install Package 选项并回车,然后输入sftp,下拉列表中会出现一些相关的插件,选中sftp进行安装就行。插件安装过程可以查看Sublime左下角的状态栏的信息。二.基本连接插件安装完成以后,需要进行配置。选菜单栏中的File-

2021-04-30 14:02:12 527

原创 hadoop10-HdfsYarn的HA配置

HDFS-HA集群配置步骤1:创建ha文件夹,修改文件所有者所属组(前提杀死hdfs集群)sudo mkdir -p /opt/hasudo chown -R atguigu:atguigu /opt/ha步骤2:准备配置的hadoop集群cp /opt/module/hadoop-3.1.3 /opt/harm -rf /data /logs步骤3:修改配置文件core-siet.xml<configuration> <!-- 指定NameNode的地址 --&g

2021-04-27 19:17:54 190

原创 notepad++ 分割符替换

今天在做个事情,遇到下面字符,就想将每个词,如cluster,zookeeper都单独的一行[cluster,activemq,controller,brokers,zookeeper,admin,isr\_change\_notification,kafka\_eagle,otter,controller\_epoch,kafka-manager,consumers,SPARK\_TASK\_OFFSET\_CONFIG,config,hbase]所以,想了下,在notepadd++中,将逗号作

2021-04-24 22:52:04 3025

原创 Obsidian01-完全安装教程

obsdian 完全安装配置教程简单使用操作单个数据库配置先在设置为中文完全配置编辑器文件与链接外观打开帮助文档 – 不懂可查核心插件下载插件如果无法打开社区关闭程序重进即可插件使用请点这里具体文件目录规划...

2021-04-24 09:35:27 3790 1

原创 hive03-数精度选择

BigDecimal舍入模式尽管数据库存储的是一个高精度的浮点数,但是通常在应用中展示的时候往往需要限制一下小数点的位数,比如两到三位小数即可,这时就需要使用到setScale(int newScale, int roundingMode)函数,作为BigDecimal的公有静态变量,舍入模式(Rounding Mode)的运算规则比较多,公有八种,这里作个说明,官方文档也有介绍。ROUND_UP向远离零的方向舍入。舍弃非零部分,并将非零舍弃部分相邻的一位数字加一。ROUND_DOWN向接近零

2021-04-22 16:05:37 373

原创 hive02-DBeaver安装和使用

一、DBeaver安装1、在DBeaver官网进行数据库工具下载,下载好后双击运行2、一路默认配置安装路径改一下二、连接MySQL数据库方法1、点击文件,选择新建2、选择数据库连接,点击下一步3、选择连接类型(DBeaver含有多种连接类型可供选择使用)这里选hive4、按如下配置 jar包在githun上下载,将初始的下载jar包的github路径删掉,填入自己的7、双击连接,展开后如图,即说明已经成功连接上数据库三、使用配置DBeaver待补充...

2021-04-22 10:21:56 166

原创 hive01-环境搭建

hive的环境搭建2.2 MySql安装2.2.1 安装包准备1)卸载自带的Mysql-libs(如果之前安装过mysql,要全都卸载掉)[atguigu@hadoop102 software]$ rpm -qa | grep -i -E mysql\|mariadb | xargs -n1 sudo rpm -e --nodeps2)将安装包和JDBC驱动上传到/opt/software/hive/MySQL,共计6个01_mysql-community-common-5.7.29-1.el

2021-04-21 20:07:09 140

原创 hadoop阶段试题

*【正确】 题目1:*下列关于hadoop中partition描述正确的是?- A、reduce的个数小于分区个数且不等于1的时候会报错- B、默认只有一个reduce,虽然自定义了分区,但不会使用自定义分区类- C、分区个数小于reduce的个数时,会有空文件出现- D、自定义分区的分区号默认从0开始【参考答案】: ABCD(1)如果reduceTask的数量 > getPartition的结果数,则会多产生几个空的输出文件part-r-000xx;(2)如果reduceTask的数

2021-04-21 19:15:05 2679

原创 优化版海龟策略

//周期:30分钟//品种参数参考文件内EXCEL文档//策略思想:去掉原版海龟的加仓模块和止损模块,因为会降低性能。 增加趋势判断和过滤的模块,将原有长周期突破开仓调整为出场条件参数调节的模块。//------------------------------------------------------------------------Params //默认螺纹参数 Numeric XX(0.4); // 收敛系数 Numeric boLength(25); //

2021-04-21 13:25:58 1136

原创 策略分享-基于海龟交易模型的优化 暂存

海龟简介海龟交易法是著名的公开交易系统,1983年著名的商品投机家理查德. 丹尼斯在一个交易员培训班上推广而闻名于世,它涵盖了交易系统的各个方面。其法则覆盖了交易的各个方面,并且不给交易员留下一点主观想象决策的余地。它具备一个完整的交易系统的所有成分。海龟交易策略,利用唐安奇通道来跟踪趋势产生买卖信号,利用ATR(真实波幅均值)分批加仓或者减仓,并且动态进行止盈和止损。唐奇安通道在趋势信号的扑捉上,海龟交易法则使用了一个非常重要的技术指标—唐奇安通道(Donchian channel)。这个

2021-04-20 19:49:23 2777 1

原创 hadoop09-hadoop调优(MR优化)

hadoop调优MR优化数据输入合并小文件除了CombinTextInputFormat还有什么方法合并?使用CombinTextInputFormat合并小文件Map阶段减少溢写(spill)次数减少合并(merge)次数不影响业务需求下,使用combin处理Reduce阶段合理设置map和reduce个数:,并不一定是128M如果性能足够好,可以多划分map提高并行处理效率(虽然会有跨节点读数据,但是比单个maptask处理效率要高)设置map、

2021-04-20 19:47:39 240

原创 zookeeper04-Java Api(2)事件监听

Watcher监听机制在创建zookeeper会话时会传入一个Watcher,里面有两个特别关键的类:KeeperState(连接状态)和EventType(事件类型)。如何拿到事件状态或类型?//获取事件的状态Event.KeeperState state = watchedEvent.getState(); //获取事件的状态//获取事件的类型Event.EventType type = watchedEvent.getType(); //获取事件的类型KeeperStateKeepe

2021-04-20 09:55:19 125 1

原创 zookeeper03-java的Api操作(1)

Java ApiZK java的API主要复现shell的方法,增加了同步和异步的实现方法。ZK的客户端可以是观察者也可以是被观察者。注册监听的对象Watcher就是观察者,能接受事件回调的信息。同时我们也可以自己实现Watcher接口,重写process方法自定义事件的输出Api主要有连接,(是否异步or递归)创建节点,(是否异步or递归)删除节点,更新节点数据,查看节点信息,判断节点存在,获取子节点,关闭连接,实现监听等pom和log依赖 <dependencies>

2021-04-20 09:54:58 96

原创 zookeeper02-shell操作

Zookeeper的shell操作# zkCli.sh默认是连本机 指定-server可以连接集群zkCli.sh [-server][host:port]# 显示目录ls -s 相当于ls + stat ls -s /kafka -w 客户端向服务端 注册监听节点 服务端一旦返回监听事件 监听结束 ls /ls /XX/XX...# 创界节点 # 所有节点默认有序列号,不使用-s只是节点末尾不显示,就算把之前的节点数据删除序列号也不会重置create -s 创建带序列号

2021-04-20 09:54:40 53

原创 zookeeper01-基本概念原理

Zookeeper概念zk是开源的具有高可用、高性能、具有分布式的数据一致性,为分布式应用提供服务的数据管理及协调apache项目。工作机制客户端是观察者订阅特定被观察者节点状态的程序特点如果更新数据的时候有一个节点挂了其他的依然能更新等节点复活后会同步数据所有的请求都由Leader处理由于更新时顺序进行的,所谓实时性是在请求被处理才能读到最新数据核心功能数据发布订阅负载均衡命名服务分布式协调/通信集群管理Master选举分布式锁分布式队列数据发布和订阅(配

2021-04-20 09:54:11 89

原创 向gitee上托管项目代码

Git 全局设置:git config --global user.name "Mryang"git config --global user.email "[email protected]"创建 git 仓库:mkdir big-data-learning-workbookcd big-data-learning-workbookgit inittouch README.mdgit add README.mdgit commit -m "first commit"git remot

2021-04-18 22:40:07 163

原创 hadoop08-HDFS的写数据流程(源码)

其实这个流程里面有很多我们值得学习的东西,比如写数据到 DataNode,如何保障数据一致性,如何保障数据在写的时候不丢失,重试如何做的,如何做三备份的?那么这次咱就趴一趴 HDFS 的写数据流程吧。二、往 HDFS 写数据的客户端代码我们用 HDFS 的 api ,从一个写数据的代码开始剖析这个过程:public class TestWriteHdfsFile { public static void main(String[] args) throws IOException {

2021-04-18 21:38:57 246

原创 Hadoop总结-阶段面试题(持续更新)

Hadoop阶段面试题HDFSMapReduce1.介绍一下 MR 的工作原理MapTask的工作机制read:通过RecordReader,从输入的InputSplit中解析出一个个kv假设待处理文件/user/input/ss.txt为200m(hadoop默认切片与分块大小为128M)切片大小实现:computeSplitSize(Math.max(minSize,Math.min(maxSize,blocksize)))=blocksize=128M客户端在提交submit前现获

2021-04-18 15:23:01 417

原创 shell基础

Shell编程变量#特殊变量 --脚本专用-$n 1-9-$# 参数个数-----------------------$* 参数作为整体 无法迭代---/""包括-$@ 逐个参数列表 可迭代 --/如果不包括两种写法都是逐个参数列表-----------------------$? 状态码 上个程序运行状态 0正确 1错误∗和*和∗和@区别运算符#算数运算符 + - \* / % a=1 b=2 echo $[$a+$b] echo $(($a+

2021-04-17 22:24:16 66

原创 Linux基础

Linux基础vim#一般模式 # 复制一行多行 yy ydy # 删除一行多行 dd d2d # 撤销 u # 粘贴 p # 复制一个字 yw # 向后删除一个词 x #向前删 X # 移动到行头 shift+^ # 移动到行位 shift+$#编辑模式 # aoi # 当前位置 i # 当前单词后 a # 当前行后一行 o # AOI # 当前行头 I # 行前行尾 A # 上一行 O #命令模式 # set su /nosu 显示行号、取消显示

2021-04-17 22:23:13 2199 6

原创 hadoop07-HDFS和MR的java Api

HDFS 和 MR的常用javaApi通用日志配置log4j配置log4j2.xml文件<?xml version="1.0" encoding="UTF-8"?><Configuration status="error" strict="true" name="XMLConfig"> <Appenders> <!-- 类型名为Console,名称为必须属性 --> <Appender type="Cons

2021-04-17 22:13:38 165

原创 hadoop04-web页面详解

hdfs标题栏概述数据节点数据节点卷故障快照启动进度实用工具工具栏浏览文件系统日志: hadoop进程日志信息,出现问题时,需要查询日志,关注度一般日志水平指标配置进程线程转储数据节点概述datanodes:显示所有datanode节点信息,关注度一般Datanode Volume Failures:失败的数据节点卷,关注度低snapshot: 快照,关注度低startup progress:启动的过程,关注度低Utilities Bro

2021-04-17 19:32:12 1895

原创 hadoop06-Mapper类的源码解析

Mapper类的源码解析1.类型:org.apache.hadoop.mapreduce.Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>2.Mapper的结构: void setup(Context context):在任务执行前调用一次, void map(KEYIN key, VALUEIN value, Context context):为输入分片中的每个键/值对调用一次 void cleanup(Context c

2021-04-17 16:03:41 182

原创 hadoop05-map阶段shuffer源码解读

1、Map输出跟踪: 以年份温度的mr程序为示例,进行分析: 【MyMapper.class】context.write(yearT, temperature);//将数据写出 -->【Wrap

2021-04-17 15:48:06 141

原创 hadoop03-mapreduce基础

Mapreduce核心思想一个MapTask是一个进程,完全并行MR优缺点优点易于编写开发性能扩展性高,计算资源不够增加资源方便高容错,一台机器挂了,任务会被调配到另外的节点计算适合处理pb级离线数据缺点由于读写磁盘产生大量io开销,不擅长实时计算不擅长流式计算,数据如数据必须是批数据不擅长DAG计算,不能将一个计算结果快速传给下一个算子计算,难以实现spark那样的RDD串行计算MR进程MrAppMaster:负责计算过程调度MapTask:map阶段的数据处理R

2021-04-14 19:46:05 75

原创 hadoop2--hdfs的shell操作

HDFS 的shell操作hadoop fs [命令] [文件目录] [文件目录]hdfs内外文件交互# 外部文件->hdfs #文件移动到hdfs -moveFromLocal <localsrc> <dst> 类似put 文件移到hdfs系统中 原src会被删除 -moveToLocal [-crc] <src> <dst> #文件放入hdfs -put [参数][ - | <lo

2021-04-12 15:01:19 104

原创 hadoop01--完全分布式的配置

分布式配置模板机配置# 给模板虚拟机yum安装需要的依赖sudo yum install -y epel-releasesudo yum install -y psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git# 关闭防火墙stop/disable注意阿里云防火墙是firewalld.servicesudo systemctl stop firewalldsudo systemctl d

2021-04-12 14:59:05 68

原创 Druid的update方法源码解读

研究背景今天想试试对mysql实现的jdbc接口做二次封装。java是强面向对象的语言。每一张数据表都对应着一个数据表类。并不能直接像python一样直接跑数,需要关注防止sql注入的危险。而传入的参数setxxx方法是强类型的,这里我们研究下Druld是如何实现这个不定长参的拼接的。我们进入这个方法看到是调用了fillSatement静态方法,传入了preparedstatement对象和不定长参数对象,这里传进来应该是object对象。主要逻辑就是stmt的setObject方法,我们去看看

2021-03-30 22:33:07 311

原创 java文件相对绝对路径和工程路径

今天在Properties读配置文件的时候老是出现路径的错误。总结一下有关路径的一些坑关于getResourceAsStream和getResource的问题这两种方法在类和类加载器上都有这个方法分别说明下,getResourceAsStream方法Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。Class.getResou

2021-03-30 18:24:43 217

空空如也

空空如也

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

TA关注的人

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