- 博客(24)
- 收藏
- 关注
原创 基于语义相似度的商品搜索推荐实践
基于语义相似度的商品搜索推荐实践一、背景二、推荐目标三、推荐架构三、实时算法层介绍1. Query分词2. 意图识别3. 粗排4. 精排5. 重排四、后续优化1. 用户反馈数据运用2. 线上效果提升的关键因素一、背景搜索是一个发现用户主动兴趣的场景,query是用户兴趣的浓缩表达,用户输入的query可认为是一种ugc,在电商类产品中,普遍存在ugc推荐场景,因而query的推荐也扮演着不可小...
2020-03-08 12:36:58 1526 2
原创 从0到1实现文章个性化推荐系统
从0到1实现文章个性化推荐系统一、背景二、主要业务流程及核心模块1. 同步业务数据:2. 收集用户行为日志(1) 原始数据收集(2) ETL3. 构建离线文章画像(1) 构建方法(2) 文章画像存储结构(3) 实现步骤4. 构建离线用户画像(1) 构建方法5. 构建离线文章特征6. 构建离线用户特征7. 多路召回8. 排序(1) CTR预估-业界主流排序模型(2) 通过LR模型进行CT...
2020-02-03 16:38:55 1071
原创 kill -9杀不掉的进程?
kill -9杀不掉的进程?用ps和grep命令寻找僵尸进程一般可以用top命令发现动态进程表用ps和grep命令寻找僵尸进程ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'命令注解:-A 参数列出所有进程 -o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数 因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程 运行结果参考如下Z 12334 12
2020-08-11 13:14:48 718 1
原创 【Spark】深入浅出理解Spark工作原理
【Spark】深入浅出理解Spark工作原理一、Spark概述1.1 Spark与Hadoop1.2 Spark架构及生态1.3 Spark运行模式二、Spark中的计算模型2.1 Spark中的几个主要基本概念2.2 RDD2.2.1 RDD基本概念2.2.2 RDD依赖关系Partition2.3.1 Partition基本概念2.3.2 Partition数量影响及调整2.4 Job2.5 Stage2.6 Task一、Spark概述Spark是UC Berkeley AMP Lab开源的通用分布
2020-06-30 22:53:02 869
转载 【知识图谱】如何将知识图谱特征学习应用到推荐系统?
【知识图谱】如何将知识图谱特征学习应用到推荐系统? 编者按:在上一篇“推荐算法不够精准?让知识图谱来解决”一文中,我们为大家介绍了日常生活中几乎每天都会用到的推荐系统,以及用来提高推荐系统精准性、多样性和可解释性的推荐算法辅助信息——知识图谱。今天,我们将进一步为大家讲解将知识图谱特征学习引入到推荐系统的各种思路与实现方法。将知识图谱作...
2020-04-22 22:55:38 1307
转载 【知识图谱】通俗易懂的知识图谱技术
【知识图谱】通俗易懂的知识图谱技术一、知识图谱简介二、知识图谱表示三、知识图谱抽取1. 实体命名识别2. 关系抽取3. 实体统一4. 指代消解四、知识图谱融合五、知识图谱存储1. RDF存储与图数据库的区别2. 常用图数据库六、知识图谱应用七、搭建案例1. 数据收集与预处理2. 知识图谱设计一、知识图谱简介知识图谱是Google公司在2012年提出的概念,从学术上可以给出这样的概念:知识图谱...
2020-04-19 09:58:00 1384
原创 【Spark】Spark2.x版新特性
【Spark】Spark2.x版新特性一、API二、SQL三、性能四、 Spark Streaming五、Spark MLlib六、Other一、API出现新的上下文接口:SparkSession,统一了SQLContext和HiveContext,并且为SparkSession开发了新的流式调用的configuration API统一了DataFrame和DataSet。DataF...
2020-04-14 09:29:32 475
转载 五分钟搞清楚MySQL事务隔离级别
好久没碰数据库了,只是想起自己当时在搞数据库的时候在事务隔离级别这块老是卡,似懂非懂的。现在想把这块整理出来,尽量用最简洁的语言描述出来,供新人参考。首先创建一个表account。创建表的过程略过(由于InnoDB存储引擎支持事务,所以将表的存储引擎设置为InnoDB)。表的结构如下:表结构然后往表中插入两条数据,插入后结果如下:数据为了说明问题,我们打开两个控制...
2020-04-11 11:30:34 152
原创 【ElasticSearch】常用聚合统计技巧集锦
【ElasticSearch】常用聚合统计技巧集锦一、桶分页二、管道聚合三、聚合前/聚合后过滤四、类似Spark的struct的字段捆绑聚合——Top_Hits一、桶分页相较于Scroll召回数量大且吃内存严重,和SearchAfter滚动排序参数的难以维护,桶分页提供了更优化的分页召回思路:即在内存中基于全量数据排序,基于一页数据召回,减少了网络传输并避免了维护排序参数的繁琐。{ ...
2020-04-10 22:14:45 875
原创 【Java高并发】AQS自定义同步器
【Java高并发】AQS原理及其优化一、AQS概述二、基于AQS实现自定义同步器一、AQS概述一个FIFO的双向队列:队列元素的类型为Node,Node中的thread变量用来存放进入AQS队列里面的线程,waitStatus记录当前线程等待状态AQS中维持了一个单一的状态信息state,可以通过getState、setState、compareAndSetState函数修改其值AQS...
2020-04-02 23:52:37 579
原创 【Java高并发】CAS原理及其优化
【Java高并发】CAS原理及其优化一、CAS原理1.概念2. JDK具体实现方式及CAS实现原理二、ABA问题1. 定义2. 解决办法三、CAS优化1. CAS自旋等待问题2. LongAdder缓解自旋等待问题一、CAS原理1.概念CAS(Compare And Swap):比较并交换。包含3个操作数:V:内存位置值E:期望值N:新值如果内存位置值与期望值匹配,则将内存位置值...
2020-04-01 22:41:31 711
原创 【ElasticSearch】基于插件模式实现ES集群状态监控、查询监控与采样
【ElasticSearch】基于插件模式实现ES集群状态监控、查询监控与采样一、 业务需求背景二、查询流程源码分析三、具体实现步骤1. 通过实现ActionPlugin自定义Action过滤器2. 自定义Action过滤器3. 实现自定义ActionListener并上报数据四、监控页面与告警1. 查询时耗监控2. 集群状态监控导语:ES自6.0+版本以来,已经开源了Kibana、Xpa...
2020-03-29 00:03:56 1689
原创 【ElasticSearch】聚合查询优化实践
【ElasticSearch】聚合查询优化实践一、ES聚合功能源码解析1. ES底层存储结构2. ES聚合查询过程二、业务聚合查询使用场景及其痛点三、针对痛点的优化一、ES聚合功能源码解析1. ES底层存储结构ES底层采用Lucene做存储,ES中的一个索引由多个segment组成,每个segment会建立自己的倒排索引用于数据查询。在Lucene 4.0 之后,通过构建FST前缀索引加速检...
2020-03-23 23:01:47 1134 1
原创 【Spark】解析JSON格式HDFS大文件实践
【Spark】解析JSON格式HDFS大文件实践一、读取HDFS目录并分区二、将HDFS每一行JSON字符串按分区处理成RDD[Row]三、将RDD[Row]转换成DataFrame四、总结一、读取HDFS目录并分区其中validPath为目标文件所在的目录,默认读取目录下全部文件,指定读取到RDD后,分区数为8。mapPartitions为以某一个分区为单位,对该单位内的每一行做操作。...
2020-03-23 21:34:26 747
原创 【Spark】RDD、DataSet和DataFrame的区别
【Spark】RDD、DataSet和DataFrame的区别一、相同点1. Spark下分布式弹性数据集2. 惰性机制3. 自动缓存运算4. Partitions5. DataFrame和DataSet拥有完全相同的成员函数二、不同点1. RDD2. DataFrame3. DataSet三、三者转换1. DataFrame/Dataset转RDD2. RDD转DataFrame3. RDD转D...
2020-03-22 23:27:37 365
原创 编译社区版ElasticSearch5.6.10
编译社区版ElasticSearch5.6.101. ES5.6.10社区版git地址2. 编译步骤(1) 搭建Gradle编译环境:ES5.6.10社区版编译依赖Gradle4.7+与JDK8。(2) 项目根目录执行gradle assemble命令(3) 编译成功后打包文件存放的位置3. 本地测试(1) IDEA本地测试(2) 部署集群测试4. IDEA远程调试(1) 启动ES实例:ES根目录...
2020-03-15 21:55:52 612 1
原创 计算机网络概要及工程线网问题优化实践
计算机网络概要及工程线网问题优化实践一. TCP/IP协议体系的认知二. 链路层1. 以太网帧的格式2. MTU的概念3. ARP协议和RARP协议(掌握一下ARP缓存的原理)一. TCP/IP协议体系的认知二. 链路层1. 以太网帧的格式2. MTU的概念3. ARP协议和RARP协议(掌握一下ARP缓存的原理)网络层掌握IP的首部格式掌握IP的分片掌握IP选路ICMP协议...
2020-03-15 21:26:23 171
原创 【HDFS】Hadoop分布式文件系统
【HDFS】Hadoop分布式文件系统一、总体介绍二、架构1. 名称节点(NameNode)2. 镜像和日志(Image and Journal)3. 数据节点(DataNodes)4. HDFS客户端5. Checkpoint节点6. 备份节点(BackupNode)7. 升级和文件系统快照三、文件IO操作和副本管理1. 文件读写2. Block块放置3. 复制管理4. 均衡器5. Block...
2020-03-14 16:44:13 631
原创 【Linux运维】磁盘告警排查与修复
【Linux运维】磁盘告警排查与修复一、常用Linux命令二、磁盘告警排查步骤1. 查看机器当前磁盘挂载情况2. 查看各目录使用磁盘的情况3. 查看各目录使用磁盘的情况4. 修复Java文件已删除但引用未释放的bug一、常用Linux命令序号命令命令解释1df -h查看当前挂载磁盘的使用情况2du -h --max-depth=1查看当前一级目录磁盘...
2020-03-14 14:44:43 1677
转载 HashMap源码实现原理
这几天学习了HashMap的底层实现,但是发现好几个版本的,代码不一,而且看了Android包的HashMap和JDK中的HashMap的也不是一样,原来他们没有指定JDK版本,很多文章都是旧版本JDK1.6.JDK1.7的。现在我来分析一哈最新的JDK1.8的HashMap及性...
2020-03-13 09:04:05 133
原创 Spark Scala编程常用技巧集锦
Spark Scala编程常用技巧集锦一、读写HDFS1. 根据时间戳查找最新有效目录并按行解析JSON(1) 获取FileSystem(2) 根据时间戳获取最新目录(3) 读取最新目录下全部有效数据文件(4) 解析文件中按行存取的JSON,解析后存储到新的DataFrame中(5) 根据dataList创建新的DataFrame一、读写HDFS1. 根据时间戳查找最新有效目录并按行解析JSO...
2020-03-11 23:29:58 292
原创 【深入理解JVM-1】JVM字节码文件剖析
【深入理解JVM-1】JVM字节码文件剖析一、背景二、二进制字节码文件分析1. 使用javap -verbose 命令分析字节码文件1.1 分析字节码文件的魔数、版本号、常量池1.2 常量池1.3 AccessFlag访问标志、当前类名、当前父类名、当前接口数量1.4 字段表结构1.5 方法结构1.6 附加属性2. 方法表结构一、背景 当今互联网信息呈现爆炸式增长,简单的人工筛选、物...
2020-03-09 09:01:52 251
原创 图数据库-复杂关系型数据的查询优化
图数据库-复杂关系型数据的查询优化一、背景二、图数据库1. 图数据库2. 图论3. 应用场景三、Neo4j图数据库实践1. 基本元素与概念2. 节点创建3. 节点查询4. 关系查询5. Cypher查询语言四、Neo4j程序开发五、Neo4j安装部署六、参考文献一、背景 关系型数据库在处理以下几个问题时往往会显得捉襟见肘:关联查询中涉及到的关系可能会经常性的变化、增加、修改、或者删除...
2020-02-08 22:03:36 2054
原创 多线程编程概要
多线程关键知识点一、背景二、关键知识点1. 线程启动2. 线程暂停3. 线程停止(1) 两种方法(2) 步骤4. 线程优先级:setPriority5. 线程安全相关三、对象及变量1. synchronized(1) 可重入锁(1) synchronized同步方法=synchronized(this)同步代码块2. volatile四、线程间通信1. wait/notify2. 线程状态3. 生...
2020-02-07 23:09:23 168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人