自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

架构师老狼

资深架构师,专注于区块链、微服务、大数据研究!坚定信念,乐观心态,永不止步!

  • 博客(58)
  • 资源 (7)
  • 收藏
  • 关注

原创 Spark ML处理样本类别不均衡问题

样本类别分布不均衡导致的危害?样本类别不均衡将导致样本量少的分类所包含的特征过少,并很难从中提取规律;即使得到分类模型,也容易产生过度依赖与有限的数据样本而导致过拟合问题,当模型应用到新的数据上时,模型的准确性会很差解决类别不平衡数据1 过采样代表性算法-SMOTE1.1 算法思想为了解决随机过采样中造成模型过拟合问题,⼜能保证实现数据集均衡的⽬的,出现了过采样法代表性的算法SMOTE 算法。SMOTE算法是对随机过采样⽅法的⼀个改进算法,由于随机过采样⽅法是直接对少数类进⾏重采⽤,会使

2021-12-21 11:44:12 1324

原创 spark3.x 生产调优笔记

1 spark sql写入mysql非常慢有这样一个业务场景:需要将通过Spark处理之后的数据写入MySQL,并在在网页端进行可视化输出。Spark处理之后有大概40万条数据,写入MySQL却要耗费将近30分钟,这也太慢了!后来翻看了Spark向JDBC数据源写数据的那部分源码,虽然源码中的实现使用的确实是 PreparedStatement 的addBatch()方法和executeBatch()方法,但是我们再去翻看executeBatch()方法的实现后发现,它并不是每次执行一批插入,而是循环

2021-11-05 16:40:48 1405

原创 开源精选 - Spark个性化推荐算法

理论篇1 推荐系统的意义 - 解决信息过载搜索引擎时代分类导航:雅虎搜索:谷歌、百度个性化时代(提高用户粘度、增加营收)系统自动推荐相关的东西:今日头条、豆瓣、电商2 推荐系统的分类基于人口统计学的推荐基于内容的推荐基于协同过滤的推荐3 基于人口统计学的推荐基于人口统计学的推荐机制(Demographic-based Recommendation)是...

2020-02-18 18:13:14 2810

原创 医疗数据仓库ETL (python版本)

2.6.1 方案的选择总结:1)Spark定位于内存计算框架:分布式计算RDD、实时计算spark stream、结构化查询saprkSQL、数据挖掘spark.ML2)类比hadoop生态:分布式存储hdfs、数据仓库hive(meta、数据存储基于hdfs)、yarn分布式资源调度、nosql数据库hbase3)综合优化方案:sparkSQL做多数据源IO接入,RDD做数据清理、转换...

2019-03-07 13:33:20 3018

原创 逻辑回归算法 - 乳腺癌预测

1 目标根据历史女性乳腺癌患者数据集(医学指标)构建逻辑回归分类模型进行良/恶性乳腺癌肿瘤预测2 数据集2.1 数据集来源数据集源于威斯康星州临床科学中心。每个记录代表一个乳腺癌的随访数据样本。这些是DR Wolberg自1984~1995随访搜集连续乳腺癌患者数据,数据仅包括那些具有侵入性的病例乳腺癌并没有远处转移的医学指标数据集。2.2 特征值(医学特征)3 算法3....

2018-10-08 15:32:16 7146

原创 朴素贝叶斯算法推导分析

'''@description :一级分类:监督学习,二级分类:分类(离散问题),三级分类:贝叶斯算法 算法优点: a 朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率 b 对缺失的数据不太敏感,算法也比较简 c 分类问题准确度高、速度快 算法缺点: a 由于使用了样本属性独立性的假设,所以如果样本属性有关联时其效...

2018-08-03 17:11:14 1249

原创 K-近邻算法实例分析

一级分类:监督学习,二级分类:分类(离散问题),三级分类:k-近邻算法'''@description : 算法优点: a简单、易于理解、易于实现、无需估计参数、无需训练 算法缺点: a懒惰算法,对测试样本分类时计算量大,内存开销大 b必须制定k值,k值得选择不当则分类精度不能保证@author wolf@time 2018-...

2018-08-03 17:06:43 1491 1

原创 SpringBoot redis 3.x cluster模式应用

redis3.2+升级cluster功能:1主从模式:主从分片,为每一个master节点创建replica,主节点宕机,从节点升级为主节点,保证服务延续性2负载均衡:集群根据流量redict to node3读写分离:主节点写操作,从节点备份读操作4ruby脚本简单创建集群部署

2017-11-29 17:54:39 4197 2

原创 SpringBoot 通用项目配置

springBoot项目实践,本项目涉及常用场景关键技术点。 请求与响应加密传输、Response加密(AES)全局响应、 访问权限控制、 高并发(唯一终端+一次完整请求生成)

2017-11-10 17:50:22 2723 1

原创 SpringBoot RabbitMQ 集群模式

springBoot出现是soa开发模式的一次革命,把javaer从xml配置中解放出来,这也是微服务流行起来的重要原因,使分布式成为主流。同时无缝连接springcloud提供服务治理、服务网关、配置热启动刷新、断路由、服务监听等,接下来记录曾经的点点滴滴!

2017-10-19 14:09:49 2795 1

原创 电商交易数据分析(hive版)

05年项目使用spark+hadoop,最近公司分享给小伙伴们,就整理出文档供大家学习交流。整理hdfs+hive+spark stream+spark sql实战系列,有些数据是网上搜索下载的,同时整理时也参考其他博文以及《spark实战》

2017-09-30 13:16:22 2609 2

原创 电商订单派单模式实践(Java版)

思路:来源于某家装互联网公司,c端下订单,订单派单中心的职责把订单按派单算法分配给b端。

2017-08-01 11:25:41 6165 5

原创 多个视频文件合成画中画效果(Python版)

远程录制两段视频,通过ffmpeg合成画中画效果(类似微信)。

2017-08-01 10:45:00 5540

原创 区块链基础之密码学及安全技术

本质上,同态加密是指这样一种加密函数,对明文进行环上的加法和乘法运算再加密,与加密后对密文进行相应的运算,结果是等价的。具有同态性质的加密函数是指两个明文a、b满足Dec(En(a)⊙En(b))=a⊕b的加密函数,其中En是加密运算,Dec是解密运算,⊙、⊕分别对应明文和密文域上的运算。,mk),或写成:f(En(m1),En(m2),…,En(mk))=En(f(m1,m2,…口令的安全性:仅将口令的哈希值进行保存,进行口令检验时仅需对比哈希值即可,即使攻击者获取了口令的哈希值,也无法计算出口令。

2023-06-24 17:14:32 2162

原创 区块链基础之共识机制

区块链上的共识机制主要解决由谁来构造区块,以及如何维护区块链统一的问题。

2023-06-04 21:36:12 1485

原创 Fabric架构详解

1 整体架构2 运行架构Fabric CA(可选)peer:主节点模块,负责存储区块链数据,运行维护链码orderer:交易打包,排序模块cryptogen:组织和证书等资料生成模块configtxgen:生成用于通道配置的文件和创世区块等configtxlator:负责解析格式化后的区块和交易文件3 网络运行流程4 交易流程5 共识过程

2023-05-27 18:09:28 277

原创 区块链应用:椭圆曲线数字签名算法ECDSA

椭圆曲线数字签名算法,因其高安全性,目前已广发应用在比特币、以太坊、超级账本等区块链项目中。

2022-09-07 20:44:24 2884

原创 Spark+Flink+Iceberg打造湖仓一体架构实践探索

数据湖-大数据生态杀青数据仓库的痛点只能存储结构化数据,无法采集存储非结构化数据无法存储原始数据,所有的数据须经过ETL清洗过程离线数仓的数据表牵一发而动全身,数据调整工程量大实时数仓存储空间有限,无法采集和存储海量实时数据回溯效率低下,实时数据和离线数据计算接口难以统一Kafka 做实时数仓,以及日志传输。Kafka 本身存储成本很高,且数据保留时间有时效性,一旦消费积压,数据达到过期时间后,就会造成数据丢失且没有消费到将实时要求不高的业务数据入湖、比如说能接受 1-10 分钟的延迟。因

2022-03-16 17:47:40 5476 2

原创 2022 Mysql优化来一波

1 redo log(重做日志)1)InnoDB首先将redo log放入到redo log buffer,然后按一定频率将其刷新到redo log file。下列三种情况下会将redo log buffer刷新到redo log file:Master Thread每一秒将redo log buffer刷新到redo log file每个事务提交时会将redo log buffer刷新到redo log file当redo log缓冲池剩余空间小于1/2时,会将redo log buffer刷新

2022-01-27 11:32:18 1221

原创 clickhouse 21.x生产实践优化

1 时间字段类型建表时能用数值型或日期时间型表示的字段就不要用字符串,全String 类型在以Hive(hbase)为中心的数仓建设中常见,但 ClickHouse 环境不应受此影响。虽然 ClickHouse 底层将DateTime 存储为时间戳Long类型,但不建议存储Long 类型,因为DateTime 不需要经过函数转换处理,执行效率高、可读性好。2 Nullable类型官方已经指出Nullable 类型几乎总是会拖累性能,因为存储Nullable 列时需要创建一个额外的文件来存储 N.

2022-01-23 14:40:26 1727

原创 2021 个人成长复盘

感恩2021,畅想202201 工作复盘过去的一年里,你能往简历中浓妆艳抹地写几笔吗?你学了什么新的技术?做了什么大的项目?取得了什么成绩?获得了什么认可?这一年你进步了多少?02 学习复盘你看了多少本书?听了多少堂课?列一个书单和课单看一看。你有没有考取什么认证或资质?你有没有掌握新的学习方法或学习途径?03 财富复盘你全年的收入和支出,你一年下来的结余和存款,你的睡后收入,注意不是纳税的税,是你闭着眼睛睡大觉也有钱进来的睡后收入,你有什么样的规划?04 健康复盘你的身体健康状况如何?如

2022-01-07 09:18:14 362

原创 微服务治理系列二

注册中心Nacos1 主流注册中心对比2 CAP实践C是所有节点在同一时间看到的数据是一致的;而A的定义是所有的请求都会收到响应。何时选择使用何种模式?如果不需要存储服务级别的信息且服务实例是通过nacos-client注册,并能够保持心跳上报,那么就可以选择AP模式。当前主流的服务如 Spring cloud 和 Dubbo 服务,都适用于AP模式,AP模式为了服务的可能性而减弱了一致性,因此AP模式下只支持注册临时实例。如果需要在服务级别编辑或者存储配置信息,那么 CP 是必须,K8S服

2021-12-31 15:29:21 1735

原创 微服务治理系列一

响应式编程:1 spring mvc与spring webflux两个框架都可以使用注解方式,都运行在 Tomet 等容器中;SpringMVC 采用命令式编程,Webflux 采用异步响应式编程SpringMVC 方式实现,同步阻塞的方式,基于 SpringMVC+Servlet+Tomcat;SpringWebflux 方式实现,异步非阻塞 方式,基于 SpringWebflux+Reactor+Netty2 响应式编程(Reactor 实现)响应式编程操作中,Reactor 是满足 R

2021-12-30 17:50:15 333

原创 医疗机构数字化转型 -无纸化诊疗产品思维

1 纸质化医疗行业痛点《医疗机构管理条例实施细则》“门诊病历的保存期不得少于15年;住院病历的保存期不得少于30年”《电子病历应用管理规范》“有条件的医疗机构电子病历系统可以使用电子签名进行身份认证,可靠的电子签名与手写签名或盖章具有同等的法律效力”2 无纸化医疗解决方案2.1 应用全场景2.2 可信度卫生部于 2010 年发布了《卫生系统电子认证服务管理办法》,从行业角度提出使用电子认证服务保障卫生信息系统安全,满足卫生信息系统在身份认证、授权管理、责任认定等方面的信息安全需求。

2021-11-26 09:19:36 471

原创 clickhouse 20.x实践小计

1 列式存储与行式存储对比采用行式存储时,数据在磁盘上的组织结构为:好处是想查某个人所有的属性时,可以通过一次磁盘查找加顺序读取就可以。但是当想查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的。采用列式存储时,数据在磁盘上的组织结构为:这时想查所有人的年龄只需把年龄那一列拿出来就可以了对于列的聚合,计数,求和等统计操作原因优于行式存储。由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重。由

2021-11-25 17:29:31 381

原创 kafka优化笔记

1 mq的作用解耦、异步、削峰填谷2 kafka架构1)Producer :消息生产者,就是向 kafka broker 发消息的客户端;2)Consumer :消息消费者,向 kafka broker 取消息的客户端;3)Consumer Group (CG):消费者组,由多个 consumer 组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。4)Broker :一台

2021-11-14 21:31:22 106

原创 元数据管理理论

1 为什么需要数据治理?通过数据治理实现企业数据的标准化、提高数据质量、提升业务处理的效率,为数据分析提供准确的数据支撑,赋能业务,助力企业实现数字化转型。2 数据治理的本质数据要产生价值,需要一个合理的“业务目标”,数据治理的所有活动应该围绕真实的业务目标而开展,建立数据标准、提升数据质量只是手段,而不是目标。因此数据治理的第一步不是分析数据问题,而是分析业务问题,找到企业的核心业务诉求,定义数据治理的目标和范围。3 数据治理架构在DAMA 数据管理知识体系指南中,数据治理位于数据

2021-10-22 11:45:06 785

原创 hive3.x on spark3.0生产调优实践

1 数据倾斜绝大部分任务都很快完成,只有一个或者少数几个任务执行的很慢甚至最终执行失败,这样的现象为数据倾斜现象。将数据倾斜分为单表携带了 GroupBy 字段的查询和两表(或者多表)Join 的查询。1.1 单表数据倾斜优化1.1.1 Map 端进行聚合 - GroupBy 操作同时聚合函数为 count 或者 sumset hive.map.aggr = true;set hive.groupby.mapaggr.checkinterval = 100000;set hive.grou

2021-09-16 20:18:39 981 2

原创 Hadoop3.x生产环境调优之高可用

1 hadoop HA高可用实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。前提:配置zookeeper集群1.1 HDFS HA 高可用工作机制元数据管理方式需要改变:内存中各自保存一份元数据;Edits日志只有Active状态的NameNode节点可以做写操作;两个NameNode都可以读取Edits;共享的Edits放在一个共享存储中管理(journal和NFS两个主流实现);需要一个状态管理功能模块:实现了一个zkfai

2021-09-13 16:26:10 326

原创 Flink分布式缓存

分布式缓存Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件,并把它放在taskmanager节点中,防止task重复拉取。 此缓存的工作机制如下:程序注册一个文件或者目录(本地或者远程文件系统,例如hdfs或者s3),通过ExecutionEnvironment注册缓存文件并为它起一个名称。 当程序执行,Flink自动将文件或者目录复制到所有taskmanager节点的本地文件系统,仅会执行一次。用户可以通过这个指定的名称查找文件或者目录,然后从taskma

2021-07-09 11:00:15 324

原创 Flink检查点机制与状态管理

1 检查点机制1.1 CheckPoints为了使 Flink 的状态具有良好的容错性,Flink 提供了检查点机制 (CheckPoints) 。通过检查点机制,Flink 定期在数据流上生成 checkpoint barrier ,当某个算子收到 barrier 时,即会基于当前状态生成一份快照,然后再将该 barrier 传递到下游算子,下游算子接收到该 barrier 后,也基于当前状态生成一份快照,依次传递直至到最后的 Sink 算子上。当出现异常后,Flink 就可以根据最近的一次的快照数据

2021-07-07 14:29:03 1002 1

原创 Flink Window API

窗口(window)就是将无限流切割为有限流的一种方式,它会将流数据分发到有限大小的桶(bucket)中进行分析window类型时间窗口(Time Window)滚动时间窗口滑动时间窗口会话窗口2.计数窗口(Count Window)滚动计数窗口滑动计数窗口滚动窗口(Tumbling Windows)将数据依据固定的窗口长度对数据进行切分时间对齐,窗口长度固定,没有重叠滑动窗口(Sliding Windows)滑动窗口是固定窗口的更广义的一种形式,滑动窗口由.

2021-06-30 13:32:37 103

原创 Flink运行架构

运行时组件作业管理器(JobManager)控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的JobManager 所控制执行JobManager 会先接收到要执行的应用程序,这个应用程序会包括:作业图(JobGraph)、逻辑数据流图(logical dataflow graph)和打包了所有的类、库和其它资源的JAR包JobManager 会把JobGraph转换成一个物理层面的数据流图,这个图被叫做“执行图”(ExecutionGraph),包含了所有可以并发执行的任务

2021-06-29 16:50:37 97

原创 微服务性能监控 APM工具

Elastic APMElastic APM是基于Elastic Stack构建的应用性能监控(APM)系统。请求日志:用来实时监控应用性能信息,包括HTTP请求调用时长、数据库查询信息、缓存调用信息和外部的HTTP请求调用信息。有助于我们快速找出并解决性能问题。日志跟踪:自动收集应用中未处理的错误和异常,显示异常的堆栈信息,有助于快速定位异常和了解出现频率。JVM度量:度量指标是调试生产系统时的另一个重要信息来源。Elastic APM Agent 会自动收集主机级别的度量指标(比如Java J

2021-06-20 10:28:50 1014

原创 用户画像 - 挖掘标签

RFM 用户价值模型1 需求假设我是一个市场营销者, 在做一次活动之前, 我可能会思考如下问题谁是我比较有价值的客户?谁是比较有潜力成为有价值的客户?谁快要流失了?谁能够留下来?谁会关心这次活动?其实上面这些思考, 都围绕一个主题 价值RFM 是一个最常见的用来评估价值的和潜在价值的工具2 RFM 是什么RFM通过最后一次消费距今时间, 单位时间内的消费频率, 平均消费金额来评估一个人对公司的价值, 可以理解为 RFM 是一个集成的值, 如下RFM = Rencency(最后一

2021-06-19 19:14:57 1147

原创 智慧医疗 - 微服务最佳实践

01 产品分析与定位02 微服务架构设计以业务为中心高内聚低耦合高度自治弹性设计日志与监控自动化03 实时消息推送技术演进接入层负载均衡基于http七层负载均衡,从HA演进到NginxHA支持TCP与Http协议,支持8种负载均衡策略,支持通过URL健康检测,支持心跳检测,工作在网络4层和7层,但对ws协议支持不好,造成ws消息堆积Nginx支持Http协议,工作在网络7层,支持WebSocket协议,支持通过端口健康检测,支持强大的正则匹配规则Nginx分流:ser

2021-05-17 09:27:23 662 1

原创 Elastic search restful应用指南

倒排索引全文搜索引擎目前主流的索引技术就是倒排索引的方式。传统的保存数据的方式都是:记录→单词。而倒排索引的保存数据的方式是:单词→记录, 基于分词技术构建倒排索引,每个记录保存数据时,都不会直接存入数据库。系统先会对数据进行分词,然后以倒排索引结构保存。可以看到 Lucene 为倒排索引(Term Dictionary)部分又增加一层 Term Index 结构,用于快速定位,而这 Term Index 是缓存在内存中的,但 MySQL 的 B+tree 不在内存中,所以整体来看 ES 速度更快,但

2021-05-17 09:04:02 300

原创 实时计算-智慧大屏分析

需求分析按省份|用户性别|用户年龄段,统计当日新增付费用户首单平均消费及人数占比技术栈数据库监控与采集 maxwell实时数仓存储 kafka实时计算 spark stream中间层OLAP hbase可视化层OLAP elastic searchtopic offset手动提交 redisBI可视化 echart、Superset、Kibana业务流程Maxwell 监控抓取 MySQL 数据bootstrap采集维度数据bin/maxwell-bootstrap

2021-05-10 15:15:46 530 3

原创 spark stream消费kafka Exactly-once

精确一次消费(Exactly-once)是指消息一定会被处理且只会被处理一次。不多不少就一次处理至少一次消费(at least once)主要是保证数据不会丢失,但有可能存在数据重复问题最多一次消费 (at most once)主要是保证数据不会重复,但有可能存在数据丢失问题数据丢失实时计算任务进行计算,到数据结果存盘之前,进程崩溃,假设在进程崩溃前 kafka调整了偏移量,那么 kafka 就会认为数据已经被处理过,即使进程重启,kafka 也会从新的偏移量开始,所以之前没有保存的.

2021-04-03 20:11:32 225

原创 RabbitMQ实现支付订单延迟消息

1. RabbitMQRabbitMQ是一个被广泛使用的开源消息队列。它是轻量级且易于部署的,它能支持多种消息协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模、高可用性的需求。2. RabbitMQ机制3. 死信队列“死信”是RabbitMQ中的一种消息机制,当你在消费消息时,如果队列里的消息出现以下情况:消息被否定确认,使用 channel.basicNack 或 channel.basicReject ,并且此时requeue 属性被设置为false。消息在队列的存活时间

2021-02-14 17:19:25 1902

spring各种版本下载官方地址

spring各种版本下载官方地址,包括开发指南,各种依赖包,为了lib包,找了很久,终于找了全的。1分绝对值。

2013-09-26

php MongoDB操作实例

php MongoDB操作实例,代码齐全

2013-08-23

llinux命令大全

超级实用的linux命令大全,实用方便!

2012-08-22

一网打尽浏览器的兼容性

DIV+CSS设计IE6、IE7、FF_兼容性

2012-08-22

公司常用的wp7面试题

公司常用的wp7面试题,包括wp7基础理论,c#语法

2012-07-10

权威经典的SEO电子书

超级权威,超级经典的seo使用工具书,看看seo高手总结的策略!

2012-07-10

超级阳光漂亮的PHP校园订餐系统

超级阳光漂亮的PHP校园订餐系统,php+mysql

2012-07-10

空空如也

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

TA关注的人

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