- 博客(59)
- 资源 (2)
- 收藏
- 关注
转载 python语法总结
1、Python 中 absl 库的用途https://blog.youkuaiyun.com/chr1991/article/details/94492128absl 库全称是 Abseil Python Common Libraries。它原本是个C++库,后来被迁移到了Python上。它是创建Python应用的代码集合。这些代码从谷歌自己的Python代码基地中搜集而来,已经过全面的测试并广泛用于生产中。特点:简单的应用创建分布式的命令行标志系统用户自定义的记录模块,并拥有额外的功能。拥
2020-06-28 11:47:24
323
原创 一些查过好用的hdfs命令
gzip 文件查看 HDFS 上 gzip 文件的命令 12345 hadoop fs -cat /shining/temp.txt.gz | gzip -d 或hadoop fs -cat /shining/temp.txt.gz | zcat 转载自:https://sukbeta.github.io/hadoop-lzo-gz-bz2/hadoop上命令行查看lzo、gz、bz文件或者对各种文件都可以使用-text选...
2020-06-27 22:53:11
345
转载 md5使用
背景:需要用MD5压缩字符串问题:java实现的MD5类是线程不安全的问题描述代码及解决方案:https://www.cnblogs.com/xujishou/p/8044339.html
2019-11-12 14:46:18
337
转载 kaggle好文:一个框架解决几乎所有机器学习问题(2016.7.18)
是16年一个大神写的做数据问题的常见思路和参考demo,据说需要调的超参经验非常好;可以试着按这个流程来试验一次问题。原链接:https://www.linkedin.com/pulse/approaching-almost-any-machine-learning-problem-abhishek-thakurApproaching (Almost) Any Machine ...
2019-05-23 02:31:07
811
转载 storm常用模式
storm常用模式Apache Storm是目前最流行的实时计算框架之一,基于streams, spouts, bolts, and topologies这些基本组件,可以组合出一些计算模式,每个模式对应解决一类现实中的问题。下面介绍7种计算模式,并给出代码示例,希望对读者有所帮助:(我这只看到3种)模式1: JOINJoin一般是指基于摸个共同的属性,把2类内容合并到一起。传统数据库的j...
2019-03-30 02:07:38
391
原创 spark程序性能优化--合并文件
背景:把总量3T的文件和40G的文件合并按key合并,把3T中40G有的记录换成40G的,40G中3T没有的加上。原先是按其中一个数据域经过hash,把数据分成3个part进行处理,大概每个半小时,3个任务1.5小时处理完(之前3T的数据总量大约1.2T)。但随着数据增加,每个部分数据变为了1T,并且数据长度增长,原先半小时的任务跑2个小时都跑不完,进行优化。(1)读入优化:对每条记录用spl...
2018-08-17 18:00:15
1941
原创 Mllib学习
http://spark.apache.org/docs/latest/mllib-data-types.html 这里有很多例子1、vector基础用法:import org.apache.spark.mllib.linalg.Vectors object Test { def main(args: Array[String]) { val vd = Vectors...
2018-06-15 16:58:51
477
原创 spark进行map,join分worker数少的一些问题
1、fullouterjoin导致的分配worker少:一开始然后加coalesce(1000)还是用的worker很少然后调整join顺序,之前是(小数据)fullouterjoin(大数据),把大小数据顺序调换,worker多了,执行变快最后结果ps:改变join时spark shuffle用的worker数--conf spark.sql.sh...
2018-04-24 10:47:42
733
原创 scala中用json
文件结构:{ "DenseFeature": [ { "field":0, "Features":[ “feature1” ]}]}是这样的4层结构,不管用哪套api解析我都是崩溃的,想看看原来怎么拼成这么复杂的结果的。用scala自带的json解析特别崩溃,因为从map里面拿出来是some类型,json对象还需要拿里面的对象才可以得到内容。用google的gso...
2018-03-24 18:49:43
6675
3
原创 linux技巧总结
1、时间https://www.cnblogs.com/tangshiguang/p/6735367.html 总结很全取一天后日期date=`date -d "$date 1 day" +%Y%m%d`取一天前日期date=`date -d'1 days ago' +%Y-%m-%d`取指定日期前几天date -d '20190220 20 days ago' +%Y...
2018-03-14 17:53:08
289
原创 spark编程cheat-sheet
1、pysparkspark routain:from pyspark import SparkContextfrom pyspark import HiveContextif __name__ == '__main__': global_dic = get_dic(target_date) sc = SparkContext(appName='get_sub_stra
2018-01-02 16:35:46
635
原创 MapPartition一次oom问题解决
1、问题:每次跑到MapParititon就会停住 看起来是repartition的问题,实际出问题的是之前的mapPartition executor表现: 出问题的代码:val process_data = data.mapPartitions( rs => { val delLabelMapbc = delLabelMap.value
2017-09-13 12:52:20
3328
原创 groupByKey一直OOM处理
1、一个任务很简单,就是把2T数据读入,按\t拆分,取里面四个字段,之后groupByKey,但是遇到了一直groupByKey就一直fullGC的问题。这里第一个stage很快就跑完了,应该是在拉数据,map之类的。但是只产出19G数据,groupByKey直接处理应该还是绰绰有余的,但现实是我试了一个周末加一天加两个小时,一直FullGC。这个原因不明,对于整个过程内存到底怎么使用还不完全清楚。
2017-09-13 11:35:16
983
1
原创 用GC日志看spark程序是不是在driver,Executor内存效率不高
1、设置conf的方式有三种: set by SparkConf: conf.set(“spark.driver.maxResultSize”, “3g”) set by spark-defaults.conf: spark.driver.maxResultSize 3g set when calling spark-submit: –conf spark.driver.maxResultSi
2017-09-12 15:09:04
3786
转载 Scala中函数组合器用法
http://blog.youkuaiyun.com/springlustre/article/details/52882205 讲的挺全
2017-07-20 02:41:24
729
原创 第二篇一次查询
问题:sparksql用GROUPPING SETS同时做不同维度组合的聚合,原先刚刚好危险的在一个小时内跑完,又新加了两个维度,维度组合翻倍(大致30个组合),结果要聚合的数据量也翻倍了。。。每次数据量大于2T,导致倾斜严重,运行慢的问题。(注,图的笔记利用了两个很相同的查询,只是为了说明一下情况) 尝试改进1:用mr跑会不会更快?没有,mr跑了2小时,spa
2017-07-10 22:26:22
479
原创 hive查过的函数
1、正则匹配函数 regexp 1.正则匹配 数值型 hive > select 1 regexp '^[0-9]*$' from dual; > true 2.正则匹配数值开头结尾 hive > select '1aa1' regexp '^[0-9].*$' from dual; > tru
2017-07-03 14:31:24
331
原创 sql设计模式
可以参考一系列文章:http://www.cnblogs.com/SavionZhang/p/4015290.html其他 group set系列
2017-06-01 12:01:13
938
原创 失败的sparkSql使用问题记录
问题1、为什么很大的表,最里层的map只用1094个task呢?导致一直gc, 最后失败。问题2,用row获取数据的时候,在sql中聚合的结果到底是integer还是long呢,总报数据类型转换错误,全改成Integer不对,全改成long也不对(这是在第一个问题换成极小的数据后发现的问题。。。df,schema看一下schema可以解决,但是第一个解决不了我就懒得看了。。
2017-05-02 22:11:16
3468
2
原创 易错的api和坑
java1、正则,replaceAllhttp://www.cnblogs.com/iyangyuan/p/4809582.html
2017-04-22 17:37:28
400
转载 vim 命令 & intellij快捷键
转载自:http://www.codeceo.com/article/useful-vim-command.html如果我的关于这个话题的最新帖子没有提醒到你的话,那我明确地说,我是一个 Vim 的粉丝。所以在你们中的某些人向我扔石头之前,我先向你们展示一系列“鲜为人知的 Vim 命令”。我的意思是,一些你可能以前没有碰到过的命令,但可能对你来说很有用。作为第二免责声明,我不知道哪些命
2017-04-15 23:25:29
1395
原创 pom学习
1、pom问题记录[ERROR] /Users/bingdada/recproj/recommend-offline/spark-etl/src/main/scala/com/meituan/recommend/etl/package.scala:6: error: object mobile is not a member of package com.meituan[ERROR] im
2017-04-05 14:18:02
1268
原创 linux查过的问题
1、sort查\t分割的结果:sort -k 2n -t $'\t' cntData > cntDataSort (列是从1开始编号的,不是从0开始;必须带$才能用\t,否则报以下错误:sort: 多字符标签"\\t")。2 一个参数总结很全的博客:http://www.cnblogs.com/end/archive/2012/02/21/2360965.htmlgrep -...
2017-03-18 18:33:07
569
原创 git查过的问题
常用命令写的很好的页面:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.htmlgit 一 git 配置个人信息1、默认配置个人信息有三层最高层系统层默认配置保存在/etc/gitconfig 文件,使用 git config 时用 --system 选项,读写的就是这个文件。下一层用户层默认配置保存在~/.gi
2017-03-13 21:09:21
346
原创 python语法练习
1、str.split(‘分隔符’) 返回根据分隔符分的列表 str.split(‘分隔符’,n) 返回分割前n个分隔符的分割结果列表 注意str不能为None,否则会报异常>>> a = "Line1-abcdef \nLine2-abc \nLine4-abcd";>>> a.split('\n',2)['Line1-abcdef ', 'Line2-abc ',
2017-02-21 22:23:47
685
原创 pySpark记录
1、combineByKey使用x = sc.parallelize([('B',1),('B',2),('A',3),('A',4),('A',5)])createCombiner = (lambda el:str(el))mergeVal = (lambda aggr,el:aggr+";"+el)mergeComb = (lambda agg1,agg2 : agg1+";"
2017-02-21 16:32:55
5095
原创 java中array,list,map的排序
代码块map值得排序: List<Map.Entry<Integer, Double>> entryList = AlgorithmUtil.sortMapByValue(dealScore, true);//按分数降序排列
2017-02-02 13:03:15
1995
转载 java中map,set,list,array相互转化
package com.example.test; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map;
2017-02-02 12:07:47
500
转载 提高效率的方法
俗话说,天下武功,唯快不破。也就是说要练成天下高手的话,出招速度一定要快,这样才能在江湖上立足,不至于掉了脑袋。而程序员要在IT界混出个名堂,也要有高效的工作效率才行。IT行业时时刻刻都产生着新知识、新技术,要想跟上变革肯定要有几把刷子。而我本人很喜欢各种各样的方式来提高自己的工作效率,可以分享给大家一些经验。键盘功底要扎实。敲键盘时要使用标准指法。可能你认为这是程序员的基本功
2017-02-01 20:41:05
702
原创 优化,测试自己的代码
在开发中,只有把遇到的问题解决,以后才不会再发生;只有之前的工作清晰,且有良好完整的纪录,后面的工作才可能清晰和容易分析;只有前面的工作/代码鲁棒,高效,稳定,后续的代码才可能高效,而且自己不用陷在维护中。
2017-01-08 18:58:45
596
原创 java静态代码块知识
一个初始化顺序讲的很好的例子http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html
2016-12-11 15:35:02
295
转载 java处理异常较好的实践
转载链接:http://www.blogjava.net/freeman1984/archive/2013/07/26/148850.html六种异常处理的陋习你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ..
2016-12-04 11:14:12
476
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人