- 博客(263)
- 资源 (6)
- 收藏
- 关注
原创 2022年总结&2023展望
2022年是风雨飘摇的一年,经历了从某开水公司离职,空窗期的迷茫、国有大行机会的抉择、央企管理岗的选择,最终选择了某个饼画的比较好的城商行消费金融子公司。1.目前有些空闲时间,但是要充分利用,不能浪费,要形成自己的核心竞争力、给自己贴好标签、做好汇报工作。1.全面了解消费金融业务,确定好实时数仓能够对业务的加分项。2.做好实时数据的展示,通过非报表样式展示好数据价值。4.和上下游业务方打好关系,建立良好的沟通渠道。3.做好汇报和沟通,和上级建立良好的汇报关系。
2023-01-05 16:07:13
380
原创 Hive on Tez 参数调优
Hive on Tez 调优一、配置参数调优1、开启ORC表向量化执行:向量化查询执行通过一次处理一个 1024 行的块来大幅提高IO效率(必须以ORC格式存储数据)set hive.vectorized.execution.enabled = true;set hive.vectorized.execution.reduce.enabled = true; – 当前环境hive版本暂不支持2、优化ORC表谓词下推根据ORC表的特性尽早过滤数据,提高执行效率...
2022-06-06 17:58:38
3700
原创 如何找技术方向
1.关注Gartner、infoQ等技术曲线。第一曲线内关注位置。第二曲线关注什么时候启动第二曲线。2.通用思路:复杂问题简单化、简单问题标准化、标准问题流程化、流程问题自动化、自动问题智能化(算法化)3.找到技术大趋势,比如算法是大趋势。算法正在深入方方面面,帮助提升效率。4.有什么前提假设,前提假设能否被打破。5.不断做模式抽象,相当于不断标准化。6.团队人数如果被砍一半,但是依然需要支持好业务。我们需要做什么。7.如果管理的颗粒度降低,需要做什么。比如管理表到管理字段到管理ETL规范。8
2022-03-28 21:47:59
917
原创 2020年总结与2021年计划
又到了写年终总结的时候,回顾下自己的2020年吧2020年的总结1.年初离开了某个神奇的网站,来了一家喝开水不要钱的公司。最可怕的是温水煮青蛙,每天做一眼望不到边的事情;现在这里空间很大,要学的东西很多,目前还看不到终点2.曾经有过机会,但是没有把握好,导致机会从手边溜走了。曾经机会很好,但是坑也很多。要学会辨别机遇和风险,面对那次机会,自己还是保守了,要学会抓住重点;向上管理的重要性超过向下管理和平级管理3.做一件事情前必须先判断他是不是核心,能给自己和团队的带来多大的收益,不做又能带来多大的
2021-02-18 00:20:44
168
原创 疫情下的互联网公司百态
疫情下的公司百态最近要离开某数字厂,去往TMD中的一家,希望这是我的最后一家互联网公司甚至是最后一家公司,跳槽真的很累,每次都要重新适应新的环境,构造新的人际关系。最近的互联网形式变化的真快。王兴说的2019年是前十年的最差的一年,但是会是后十年的最好的一年。疫情的来临让每个人都不知所措,也让很多公司露出了血淋淋的真面目,直接给N+1裁员的竟然算是矬子里的将军了,有直接降薪的、有强制休事假的...
2020-03-05 23:35:57
307
原创 spark参数说明
应用配置参数 默认值 说明 建议spark.driver.maxResultSize 1g 对Spark每个action结果集大小的限制.。 spark.driver.memoryOverhead driverMemory * 0.10, with minimum of 384 为driver分配的堆外内存。支持on yarn和Kubernetes。 spark.executor.memo...
2020-03-04 14:45:57
2606
原创 spark job 异常问题
== spark job 异常问题 ===== 1、java.io.IOException : Cannot run program “/usr/local/bin/python”===yarn-client模式 sparrk-python 任务异常 java.io.IOException: Cannot run program “/usr/local/bin/python”: error=...
2020-03-04 13:47:49
1565
原创 自动bulid kylin cube脚本
#!/bin/bashcubeName=$1echo $cubeNamebuildType=$2echo $buildType#BUILD MERGE REFRESHstartTime=$((date -d $3 +%s*1000)) #$1:20190101 14400000echo $startTimeendTime=$((date -d $4 +%s*1000))echo ...
2020-03-02 16:10:42
250
原创 Kylin膨胀率优化
维度设置Hierarchy Dimensions:维度列中彼此间存在层级关系的列职类(一二级职类)、行业(一二级行业)、地域(省、市、区)这些必选维度都可以设置为层级关系列,可大大降低维度组合的可能性Aggregation Group:在不同的查询中,两组维度组合之间不会产生交叉Rowkey顺序将partition column 放在第一排;将基数大的column放置在前面。...
2020-03-02 16:06:52
716
原创 2019年总结
2020已经过了一个多月了,一直没有心情写年终总结,最近随便写写吧动荡的2019公司部门合并,我们成了被合并的部门,述职加薪的机会都没有,个人在大浪中真的无能为力,这一年除了抽表之外的收获数据仓库的分层理念 ODS、DWD、DWS、DIM和ADS,清晰的数据能节约大量的工作;多维分析平台 维度和事实的组合出的数据分析工具,真的能找到数据的薄弱点、拐点、通电;招聘B用户画像 从基本信息、...
2020-02-10 21:59:35
360
原创 58招聘数据仓库技术架构图
数据源有三个来源1.自己的后端表(包括mysql和hive)2.APP自己的埋点日志3.其他部门的hive表ODS层数据抽取1.Flume抽取埋点日志2.kafka抽取实时信息并存入HDFS3.Sqoop抽取mysql表DW层对数据进行加工1.spark、hive直接处理表,归类成维度表和事实表2.spark、MR处理日志文件成事实表3.sparkstreaming直接处理...
2019-10-21 16:05:58
443
原创 Redis优化
核心特性1.1主从复制多数据副本数据备份1.2高可用和分布式主从哨兵模式分片集群模式1.3简单稳定,客户端支持多代码精炼,实现模型简单主流语言客户端全部支持1.4功能丰富消息队列、发布订阅、lua脚本、事务、pipeline流水AOF不RDB优缺点比较Redis数据是全部存储在内存中的区分业务是缓存还是持丽化应用,如无必要关闭持丽化持丽化丌能代替数据库,重要...
2019-08-06 20:05:49
202
转载 SparkStreaming两种从Kafka中接收数据的方式
1.基于Receiver(接收器)的方式:使用Receiver来接收Kafka中的数据。Receiver是一个基于Kafka高级消费者API实现的,对于所有接收器来说,这些接收器都是通过Receiver来接收Kafka中的数据并保存数据到 Spark的executor中,之后通过SparkStreaming启动Job来处理这些数据。 然而在默认的配置下,这种方式在某些异常情况下回出现数据丢失情况...
2019-06-05 19:27:32
323
原创 SparkSQL/hivesql参数调优
set spark.sql.autoBroadcastJoinThreshold=-1;set spark.sql.shuffle.partitions=1000;set spark.sql.files.maxPartitionBytes=536870912;set spark.sql.files.openCostInBytes=4194304;set spark.sql.adaptive...
2019-05-14 17:23:38
1809
原创 2018年总结和2019年计划
2018年总结和2019年计划多灾多难的2018过去了,跳了一次槽,来到了某数字厂,经历了一次P2P的跑路,损失了几乎一年的税后工资。总结下2018年的得失吧。1.工作方面:做的大数据相关,关联部分算法,AI部分相关。推荐效果还可以,但是部门即将发生变动,覆巢之下,岂有完卵。2.生活方面:远离风险,不要以为自己很精明,离风险远远的,这次的教训还能接受,下次会更惨。3.谈薪水的时候谈月薪,...
2019-02-12 16:01:34
503
原创 spark bulkload数据到hbase
spark bulkload数据到hbase1. 查询数据放到dataframe查询数据放到dataframe val imDate = sql(imSQL)2. 放入指定格式的RDD并排序放入指定格式的RDD并排序 val res = basicData.rdd .flatMap { row => { val kvs = ...
2018-10-19 11:42:47
1228
原创 58招才猫重构总结
58招才猫重构总结招财猫系统因为历史原因很是庞大冗余,业务流程特别复杂,最近参加了58招才猫的重构,总结重构的以下几点:兼容旧的代码业务层抽离边际值判定日志处理对外接口要用户友好异常处理测试用例代码规范接口文档兼容旧的代码因为以前的代码正在良好的运行,因此新的代码在实现重构的情况下,测试通过项目上线后为了防止异常情况紧急切回旧接口解决方案实现一个...
2018-06-10 22:50:03
717
1
原创 scala开发环境搭建和spark入门
scala开发环境搭建和spark入门1. 下载scala并配置环境变量下载链接 https://www.scala-lang.org/download/2.10.7.html 配置内容 %SCALA_HOME% D:\ENV\scala-2.10.7 %PATH% %SCALA_HOME%\bin配置完成后命令行输入scala返回...
2018-05-28 20:46:30
393
原创 感悟人生之欲望
今年又换工作了,为了职业发展,为了钱,为了自己的欲望。还记得刚毕业的青涩的我,那时候真的是为了梦想来到北京,虽然我都忘了那时候的梦想。那时候听着老板的画饼,在一家公司待了三年,还傻傻的相信老板;现在老板的承诺刚有变黄的趋势,自己就找到了退路。不知道是谁打开了欲望的大门,现在的社会真的是物欲横流。可能欲望真的是人类进步的源泉吧,第一个释放平民欲望的秦国统一了六国,最近一次释放平民的欲望也完成了统一。...
2018-04-24 22:23:53
403
原创 给自己的忠告
1.怀疑的头脑看待领导的承诺 2.猎头拿的是公司的钱,不是你的,他肯定会夸她推荐的公司 3.全额缴纳社保公积金的公司都不会太差,全部最低缴纳的都不会太好 4.谈薪水月薪base就好,其他的不要抱太大期望 5.时刻保证自己的状态,不要安逸在自己的舒适区...
2018-04-16 15:10:51
331
转载 二元分类评估结果优化
需求描述对于二元分类算法,在训练完模型后,用testData对模型进行评估,可以得到*(score,label)的数据。在存在shreshold的情况下,我们认为score>=shreshold的情况下,该数据为positive*,相反则为negative。进一步得到*(prediction,label)的数据(prediction就是预测的label值),比较prediction和l
2018-04-04 15:06:38
560
转载 CheckPoint的一些探寻
由于上项目的模块计算部分依赖于spark,那么在spark的使用上,需要针对不同规模和形式的数据,都要能最大限度的做到数据变换,模型计算等计算的稳定性支持。这也是elemental目前急需优化的瓶颈所在。这里,我们针对下面的场景所遇到的问题进行一部分探讨:在数据规模过大,无法cache到memory上DataFrame在transform多次后,进行action后,生成的Phy
2018-04-03 16:56:35
399
转载 如何只依靠Scala的语言特性实现高逼格的依赖注入
如何只依靠Scala的语言特性实现高逼格的依赖注入 什么是依赖注入? 对象是面向对象世界中的节本组成单元,依赖注入将对象组合在一起。以最简单的方式看,依赖注入所做的事情就是通过构造器或setter方法将依赖注入到对象。 如果使用适当的容器,我们还可以将系统每个组件的依赖都抽取到配置文件或配置代码中,并在需要的时候由容器完成注入,这就是高逼格的依赖注入。 依赖注入的好处其实...
2018-03-28 15:19:03
567
转载 性能调优
目 录12 性能调优12.1 配置原则12.2 Manager12.2.1 提升Manager配置服务参数的效率12.2.2 根据集群节点数优化Manager配置12.3 HBase12.3.1 提升BulkLoad效率12.3.2 提升连续put场景性能12.3.3 Put和Scan性能综合调优12.3.4 提升实时
2018-03-28 15:12:50
3597
原创 spark2.3.0 的agg 方法现在限制数量
spark2.3.0 的agg 方法现在限制数量,30个可以,60个不可以,记录一下 以后agg超过30个之后需要分次处理 原代码 scala val intervalCollectArr = df.agg(cols.toArray.head, cols.toArray.tail: _*).collect().apply(0) 修改为scala ...
2018-03-28 14:58:46
1420
原创 自定义sbt仓库位置并打包给指定路径下的maven仓库
自定义sbt仓库位置并打包给指定路径下的maven仓库1. 修改sbt仓库直接修改sbt安装路径下的conf/sbtopts似乎不行需要修改bin/sbt-launch.jar 用winRAR打开sbt-launch.jar,修改sbt/sbt.boot.properties,修改ivy-home:为 F:\sbt_repository ivy-home: F:...
2018-03-23 14:44:19
2342
原创 WebSocket在各种框架下的应用
1. 概述WebSocket协议是基于TCP的一种新的网络协议。 它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。 最初的http协议不支持服务器端向浏览器主动推送消息,需要各个浏览器安装插件才能支持。 后来随着时代的发展,越来越多的网页端需要更好、更灵活,轻量的与服务器通讯,因此新版本的标准开始支持WebSocket协议。2. 特点相
2017-12-17 20:30:52
1129
原创 google guice使用
1. 概述Guice是Google开发的一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(IOC)。Guice非常小而且快。Guice是类型安全的,它能够对构造函数,属性,方法(包含任意个参数的任意方法,而不仅仅是setter方法)进行注入。Guice采用Java加注解的方式进行托管对象的配置,充分利用IDE编译器的类型安全检查功能和自动重构功能,使得配置的更改也是类型安全的
2017-11-14 17:39:43
785
原创 相似度计算
1. 相似度计算1.1 概念从多个维度分析两组数据的相似度,比如大的文本使用word2vec转成向量,类别根据最大的类别数量N拆成n维0或1表示的vector,数值类型归一化之后表示一个维度,然后根据cos、L1、L2等方式计算相似度1.2 用处可以用于推荐系统、协同过滤等算法1.3 细节注意double值的精度处理1.4 公式1.4.1 COSINE将向量根据
2017-10-30 17:41:17
1733
原创 play框架的基本应用
1. 概述目前kmdm项目中有java写的rest服务,今后不再扩展,将迁移到elemental中scala的play服务。 目前我觉得play框架有以下优点 1. 省代码:scala天然的便利性 2. 容易测试:测试用例很容易写 3. 容易部署: 热部署2. 使用2.1 配置文件/conf/routes应用入口路由文件,所有的HTTP请求将通过该文件转发到指定的Scala对象处理
2017-10-21 17:09:28
670
1
原创 NLP分词
NLP分词jar包很大,不建议使用maven下载,几百M,直接官网下载package testimport edu.stanford.nlp.ling.{CoreAnnotations, CoreLabel}import edu.stanford.nlp.pipeline.{Annotation, StanfordCoreNLP}import org.apache.commons.la
2017-09-28 12:11:27
508
原创 Ansj分词
/** * Created by liuwei on 2017/8/24. */object AnsjTest { def main(args: Array[String]): Unit = { val string = "test环境服务器启动方式更新为supervisor启动" val t = tfidfAnsj(string, List.empty[S
2017-09-25 11:10:11
313
原创 聚类LDA
1. 聚类LDA1.1 概念LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。[1] LDA是一种非监督
2017-09-12 16:08:41
1423
原创 SVD降维
1. SVD降维1.1 概念奇异值分解(Singular value decomposition)现实世界里,为了实现类似特征值分解的计算,我们使用奇异值分解。奇异值分解适用于任何矩阵,如下所示,其中A是一个m*n的矩阵:A=Um∗mΣm∗nVTn∗nA=Um∗mΣm∗nVn∗nT其中U 是一个m*m的正交矩阵,其向量被称为左奇异向量V 也是一个n*n的正交矩阵,其向量
2017-08-21 17:23:49
1536
原创 PCA降维
1. PCA降维1.1 概念主成分分析( PrincipalComponent Analysis, PCA)或者主元分析。是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。PCA类训练一个模型,用PCA将向量投射到一个低维度空间 1.2 用处数据降维,将复杂的维度简单化,减少运算量1.3 细节Vector
2017-07-20 19:05:45
540
原创 文本词频TF-IDF
1. 文本词频TF-IDF1.1 概念词频-逆向文件频率(TF-IDF)是一种在文本挖掘中广泛使用的特征向量化方法,它可以体现一个文档中词语在语料库中的重要程度。词语由t表示,文档由d表示,语料库由D表示。词频TF(t,,d)是词语t在文档d中出现的次数。文件频率DF(t,D)是包含词语的文档的个数。如果我们只使用词频来衡量重要性,很容易过度强调在文档中经常出现而并没有包含太多与文档有
2017-07-14 13:55:20
789
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人