摘要: 一.概述 Structured Streaming是一个可扩展、容错的流处理引擎,建立在Spark SQL引擎之上。开发者可以用离线批处理数据相同的表示来表示流计算的逻辑,并且保持其逻辑的一致性(流批一体)。Spark SQL引擎会处理好增量连续运行,并随着流式数据的接收持续更新最终结果。开发者可以 阅读全文
posted @ 2022-04-07 17:58 Arli 阅读(741) 评论(0) 推荐(0) 编辑
摘要: 一.概述 二.Lucene On HDFS实现 Solr作为基于Lucene的分布式搜索引擎之一(另一个知名的基于Lucene的搜索引擎产品是ElasticSearch),其曾在SolrCloud源码中实现了基于HDFS的索引,但8.6版本后被标记为Deprecated,9.0版本之后从solr-c 阅读全文
posted @ 2022-03-25 18:03 Arli 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 一.场景描述 使用ElasticSearch做用户画像+人群画像时,面临的比较难以解决的问题是用户画像和详情记录间的关联,虽然ES支持任意维度的标签,但在大量维度的标签存储和查询时时一般仅能支持到标签维度而非数值。 如下面的方案,会存在无法独立使用ES计算用户画像和详单数据关联的问题: https: 阅读全文
posted @ 2021-09-15 10:07 Arli 阅读(658) 评论(0) 推荐(0) 编辑
摘要: index中数据量很大的时候会出现接口超时的情况,另外也会出现version conflict等问题。根据ES 参考文档 https://www.elastic.co/guide/en/elasticsearch/reference/7.x/docs-delete-by-query.html 1.d 阅读全文
posted @ 2021-08-25 17:57 Arli 阅读(1056) 评论(0) 推荐(0) 编辑
摘要: 一.联通SGIP网络架构图 二.开发工具包 三.和联通侧的约定 1.SMG 的host,port,LoginName,LoginPassword. 2.SP 的IP,PORT NodeId(节点编码) 3.企业编码(corp_id),接入号(sp_number) 四.代码开发 SpClient 初始 阅读全文
posted @ 2021-05-22 11:40 Arli 阅读(1037) 评论(1) 推荐(0) 编辑
摘要: 背景 app打点日志的上报和收集,是互联网公司的基本需求。 一.方案选择 1.1 protobuffer vs json 探究一种以最高效的方式上报和解析打点数据是一个系统性的问题,需要解决的子问题有很多,例如降低网络传输成本,减少序列化反序列化的性能开销,可靠性和高峰期的水平扩展,以及非耦合的编码 阅读全文
posted @ 2020-09-27 14:46 Arli 阅读(1453) 评论(0) 推荐(0) 编辑
摘要: 一.pom.xml com.alibaba easyexcel 2.2.6二.必须要finish才会写入,不finish只会创建empty的文件。WriteSheet writeSheet = EasyExcel.writerSheet("测试1").head(list).build(); excelWriter.write(data, wr... 阅读全文
posted @ 2020-07-08 11:34 Arli 阅读(1300) 评论(0) 推荐(0) 编辑
摘要: 1.通过/_cat/indices/ api查看所有index的段情况和当前正在进行merge的文档数。GET /_cat/indices/?s=segmentsCount:desc&v&h=index,segmentsCount,segmentsMemory,memoryTotal,mergesCurrent,mergesCurrentDocs,storeSize,p,r2.查看各个节点forc... 阅读全文
posted @ 2020-05-08 18:12 Arli 阅读(2450) 评论(0) 推荐(1) 编辑
摘要: 一.限制单个index在单个节点上的总shard数。index.routing.allocation.total_shards_per_node一般在冷热分离的场景种,冷数据会设置副本,热数据为了保证写入速度,只有主分片。当以均衡index中的shard数为目的,设置了该限制后,若冷数据节点数不够,容纳热数据节点2倍的分片,则会导致大量shard无法分配到节点上。 阅读全文
posted @ 2020-05-08 17:21 Arli 阅读(1238) 评论(0) 推荐(1) 编辑
摘要: 一.硬件配置3台服务器配置如下:CPU: 2物理CPU,12核/CPU , 48 processor Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz内存: 128GB硬盘: 480GB*1 SSD盘(OS)+6TB*7 SAS盘Broker节点数: 3个网络:10GE二.测试方案2.1 测试套件使用kafka官方提供的性能测试工具 kafka-perf-te... 阅读全文
posted @ 2020-03-26 15:00 Arli 阅读(3483) 评论(0) 推荐(2) 编辑
摘要: 一.下载安装包使用在线安装特别慢,所有的安装包加起来有9个G左右,所以需要先下载相关安装包到服务器,通过配置本地源的方式来实现的离线安装。在私有集群中部署时,客户机房的网络情况不可预测,因此也需要使用离线部署的方式。根据官方文档https://docs.cloudera.com/HDPDocuments/Ambari-2.7.4.0/bk_ambari-installation/content/h... 阅读全文
posted @ 2020-03-26 14:55 Arli 阅读(2097) 评论(0) 推荐(1) 编辑
摘要: 概述Kafka 的数据如何传输到HDFS?如果仔细思考,会发现这个问题并不简单。不妨先想一下这两个问题?1)为什么要将Kafka的数据传输到HDFS上?2)为什么不直接写HDFS而要通过Kafka?HDFS一直以来是为离线数据的存储和计算设计的,因此对实时事件数据的写入并不友好,而Kafka生来就是为实时数据设计的,但是数据在Kafka上无法使用离线计算框架来作批量离线分析。那么,Kafka为什么... 阅读全文
posted @ 2019-11-08 11:23 Arli 阅读(3082) 评论(1) 推荐(0) 编辑
摘要: Knn算法实现 k近邻算法¶ 0.引入依赖¶ In [8]: import numpy as np import pandas as pd #这里直接引入sklearn里面的数据集,iris 鸢尾花 from sklearn.datasets import load_iris from sklear 阅读全文
posted @ 2019-08-31 20:52 Arli 阅读(372) 评论(0) 推荐(0) 编辑
摘要: grad_desc 简单线性回归(梯度下降法)¶ 0.引入依赖¶ In [1]: import numpy as np import matplotlib.pyplot as plt 1.导入数据¶ In [34]: points = np.genfromtxt("data.csv",delimit 阅读全文
posted @ 2019-08-29 10:30 Arli 阅读(6549) 评论(6) 推荐(1) 编辑
摘要: 简单线性回归(最小二乘法)¶ 0.引入依赖¶ In [7]: import numpy as np import matplotlib.pyplot as plt 1.导入数据¶ In [15]: points = np.genfromtxt("data.csv",delimiter=",") #p 阅读全文
posted @ 2019-08-29 10:26 Arli 阅读(11338) 评论(0) 推荐(2) 编辑
摘要: 背景介绍: Nginx为app打点数据,打点日志每小时滚动一次。目录结构如下 文件中的数据如下( cat -A 2019072414r.log 后的结果,-A为显示隐形的符号,下方^A为指定的分隔符。$为行尾结束符,换行的时候会自带,不用关注。) ^A分隔的15列数据依次对应如下列。 ip,date 阅读全文
posted @ 2019-07-24 16:27 Arli 阅读(1183) 评论(0) 推荐(0) 编辑
摘要: 用抖音拍完视频后,想分享给朋友的时候发现有水印,感觉瞬间low了一个档次,于是找了一些去水印微信小程序, 用手机去水印的好处是去完马上能微信分享给朋友了。对比之后感觉下面这款小程序做的是最简单好用的。 记录一下使用步骤,也给大家分享一下。 第一步:在抖音中点击 转发图标->复制链接 。 第二步:扫码 阅读全文
posted @ 2019-06-12 20:03 Arli 阅读(3512) 评论(0) 推荐(0) 编辑
摘要: 1) --conf spark.dynamicAllocation.enabled=false 如果正在使用的是CDH的Spark,修改这个配置为false;开源的Spark版本则默认是false。 当为true时,即使指定了num-executors个数,spark-streaming应用也会占用 阅读全文
posted @ 2018-09-04 17:45 Arli 阅读(4128) 评论(0) 推荐(2) 编辑
摘要: 主要原因是spark.dynamicAllocation.maxExecutors这个配置, 在CDH中,默认开启了动态资源占用,即资源如果空余时,SparkStreaming会自动按照并发度(并行的block数)来占用资源,而spark-streaming作为一个实时处理系统,在大多数时候是不需要 阅读全文
posted @ 2018-08-02 21:17 Arli 阅读(801) 评论(0) 推荐(0) 编辑
摘要: scala和java都是在jvm之上的语言,相对来讲,scala热度比较低,其实并不是一个特别好的语言选择。 原因倒不是因为scala本身的缺点,而是使用人群不够多,论坛和社区不够活跃。这就跟社交软件一样,大家都用微信,短信就没人用了。 但是scala是写分布式程序的一门非常方便的语言,因为scal 阅读全文
posted @ 2018-07-20 15:05 Arli 阅读(10185) 评论(0) 推荐(0) 编辑
摘要: 基本配置: 1.quartz.properties #============================================================== #Configure Main Scheduler Properties #============================================================== ... 阅读全文
posted @ 2018-05-30 11:21 Arli 阅读(910) 评论(0) 推荐(0) 编辑
摘要: git cherry-pick c7081607cfd1bfa99b6e6c70c208e71fbd8767ae 阅读全文
posted @ 2018-05-28 15:00 Arli 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 当需要合并两个不同项目或者是多个分开配置的服务器时,你既可以使用lucene-misc里面的IndexMergeTool工具,也可以使用CoreAdminHandler。 要合并索引,必须满足如下要求: 1.两个索引必须兼容:schema需要包含相同的字段,并且字段分析方法相同。 2.必须不包含相同数据。 最好两个索引是用相同的schema.xml文件生成的。 一.使用I... 阅读全文
posted @ 2018-05-09 13:10 Arli 阅读(366) 评论(0) 推荐(0) 编辑
摘要: spring boot 对jpa的支持极为方便,基本上不需要作太多配置,只需要加上注解就能支持事务: @Controller @Transactional(rollbackOn = Exception.class) public class TestController { @Autowired TestRepository testRepository; @Reques... 阅读全文
posted @ 2018-04-28 15:13 Arli 阅读(4900) 评论(0) 推荐(0) 编辑
摘要: 修改app.json,加上tarBar元素。 效果: 阅读全文
posted @ 2018-03-07 14:05 Arli 阅读(791) 评论(0) 推荐(0) 编辑
摘要: 阅读demo有助于理解逻辑,而且demo源码中应该包含了框架开发人员想要表达的意思的精华,先从app.js着手来阅读。 附带贴下说明: https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/app.html //app.js App({ onLaunch: function () { // 展示本地存储能力 ... 阅读全文
posted @ 2018-01-24 16:35 Arli 阅读(369) 评论(0) 推荐(0) 编辑
摘要: “跳一跳”的诞生,让人感觉小程序要开始发力了,于是赶紧申请了小程序的账号,下载了客户端,如何申请就不说了,毕竟申请流程是微信定的,啥时候都有可能会改。 先看看微信开发者工具,用管理员账号扫码登陆进来,出现了一个demo程序,以及目录结构。客观来说,这个结构作为一个HelloWorld的demo应用来说有点复杂了。 自顶向下地说,小程序框架为微信自研的MINA框架。 基本的,MINA框架包含一个入... 阅读全文
posted @ 2018-01-24 15:23 Arli 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 前言&一些资料: Docker之父:Solomon Hykes Docker生日:2013年3月 Docker历史小故事 1.下载地址:(daocloud是一个中国的docker服务商,知不知名我就不知道了) https://get.daocloud.io Docker支持的是Windows10以上(未测试过是否能在Win7下安装成功),官方建议在安装到Win7下时,用Docker ToolBox... 阅读全文
posted @ 2017-10-27 18:12 Arli 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 在前文《Solr Update插件自定义条件索引》中,我介绍了如何通过插件的模式,自定义Solr的Update过程。但是在大半年的使用过程中,发现这种方式存在如下弊端。 1.环境难以维护。CDH没有对Solr插件的管理,而这就导致,我们每次更新插件,都需要挨个服务器去部署,重载core。 2.代码难 阅读全文
posted @ 2017-09-26 10:48 Arli 阅读(579) 评论(0) 推荐(0) 编辑
摘要: 使用nginx做http代理时,在Header中使用了一个名为api_key的属性,碰到http header不转发的问题。 问题源码: rc = ngx_http_parse_header_line(r, r->header_in, cscf->underscores_in_headers); if (r->invalid_header && cscf->ignore_invalid_head... 阅读全文
posted @ 2017-06-13 16:50 Arli 阅读(1652) 评论(0) 推荐(0) 编辑