- 博客(474)
- 资源 (17)
- 收藏
- 关注
原创 工作方法论—马斯克的任务分解法
美国政府曾经算过一笔账,把一个人送上火星,以现有技术是可实现的,需要花多少钱呢?先看“20”:现在的火星飞船一次只能承载5个人,马斯克的打算是,把火箭造大一点,一次坐100人,这样,就等于把成本降低20倍。他的目标变了,他准备把人均费用降到50万美元,也就是一个想移民的人,把地球房子卖了能够凑出的钱。所以,我们关注的重点来了:马斯克的第二步是,把2万分解成20×10×100。这是一道简单的数学题,也是马斯克三个重点的努力方向。这么算下来,你是不是觉得,马斯克的目标不像最开始听到的那样不靠谱了呢?
2023-08-04 22:51:23
385
原创 工作方法—番茄工作法
首先,番茄工作法是什么?简单来讲,就是把每天的工作拆解到一个又一个几乎不可再拆解的原子模块,在限定的时间内(25分钟),只专注于完成一件事。这样做的好处是,你可以在每个限定的时间内得到你完成任务的结果,收获一定的成就感,同时成就感也是一种推动力。「一个人做多次猜测的平均结果比单次猜测的结果更接近事实」,在不断的回顾分析中,可以让人更好的去制定更加合理的方案,同时通过对每次没完成任务的原因进行了总结,也能更好的优化。可以推后的事情扔到「待办列表」里面等着接下来的日子的排期就好啦,但是一定要记录,不然会忘记。
2023-08-04 22:47:35
290
原创 李沐《工作五年反思》笔记与思考
自己学习了李沐的《工作五年反思》,做如下总结:工作五年反思 - 哔哩哔哩工作后的最大不同是你有太多可以最求的目标。这个带来的改变是你需要决定哪些事情现在做,哪些以后做,哪些可以不去做。 决定优先级应该是根据事情的价值。受益人数 x 人均时间 x 单位时间价值差 。对你个人有学习价值 ,对别人有价值。 服务社会最后也是服务自己。对自己价值高的不一定对别人价值高。优化对社会的价值自己也会延迟获得回报。做对别人有价值的事,可以获得自己的满足感和影响力,最终促使自己有内在动力去把事情做好,这是不断成长的..
2021-12-23 11:42:26
568
原创 理想十年。
想一想自己在毕业十年以后是什么样子?自己想自己的未来一定是精英的样子,技术专家或者领域学者或者优秀管理者,这些只是自己给自己设定的目标,但也可能是老油条或者老白兔。如何避免呢?要么对事业有强大的信念,对金钱有巨大的渴望,或者对工作对行业的喜欢和热枕。
2021-12-21 15:47:22
315
原创 高质量Hive的常见用法
查询sql进行不使用select *,而是select具体字段,节省资源,减少网络开销,*查询时,很可能就不会使用到覆盖索引,就会造成回表查询 如果知道查询结果只有一条,或者只要最大/最小一条数据,建议用limit 1 尽量避免在where子句中用or连接,可以换成两个查询用union all连接,使用or可能导致索引失效 优化like语句,like '%123'和like '123%'有区别,把%放前面不走索引,放后面会走索引 使用where条件限定要查询的数据..
2021-10-29 11:50:56
908
原创 工作一年半个人思考和总结
今天听了分享,带来了很多思考,现总结几点:就个人而言,工作是一个 痛苦->舒适->痛苦->舒适的往复过程,刚开始的痛苦与技能、业务熟悉程度有关,过了这个阶段就进入一个平缓期,做好需求写好代码。过了很久后,又会陷入一个痛苦的过程,业务要优化的点太多不知从何下手,事情太多太杂,会议太多且低效,甩锅撕逼扯皮,各种调整交接;这些事情非常懊恼,想把所有事情都做好仅靠个人太难了,但是还是想自己先做好。然后又陷入一个困境:思考的太多、要优化的地方太多、要做的事情太多、历史遗留问题太多,这又占据了大部
2021-08-19 20:25:07
793
1
原创 presto与hive字符串常用操作(字符串截取、字符串拼接、字符串分割)
1、字符串截取substrpresto:substr(string, start, length) → varchar 如: select substr('1599319787151',1,10)功效:返回字符串A从下标start位置开始,长度为len的字符串substr(string, start) → varchar 如: select substr('1599319787151',1)功效:返回字符串A从下标start位置到结尾的字符串ps:对String来说,...
2021-07-24 15:07:18
9305
1
原创 Hive常用优化方法
1.常用MapReduce作业配置参数可在客户端的mapred-site.xml中配置,作为MapReduce作业的缺省配置参数。也可以在作业提交时,个性化指定这些参数。 参数名称 缺省值 说明 mapreduce.job.name 作业名称 mapreduce.job.priority NORMAL 作业优先级 ..
2021-04-26 10:26:51
443
原创 jupyter notebook出现ImportError: DLL load failed: 找不到指定的程序
然后按照下面的方式来解决:把路径Anaconda3/Library/bin下面的文件libcrypto-1_1-x64.dll和libssl-1_1-x64.dll复制到路径Anaconda3/DLLs下,在运行该命令就可以了。
2021-04-22 14:06:38
2465
4
原创 Container killed on request. Exit code is 143
原因:程序运行时所需内存 >memory。一般是因为处理数据量或者缓存的数据量较大,已有内存不足 并且内存分配速度 > GC回收速度导致。解决方案:增大memory、减少单个Executor的并发数(cores)、减少不必要的cache操作、尽量不要对比较大的数据做broadcast、尽量避免shuffle算子或者对程序逻辑/底层数据进行优化...
2021-04-14 14:38:05
7915
原创 org.apache.spark.shuffle.FetchFailedException: Java heap space
原因:程序运行时所需内存 >memory。一般是因为处理数据量或者缓存的数据量较大,已有内存不足 并且内存分配速度 > GC回收速度导致。解决方案:增大memory、减少单个Executor的并发数(cores)、减少不必要的cache操作、尽量不要对比较大的数据做broadcast、尽量避免shuffle算子或者对程序逻辑/底层数据进行优化...
2021-04-14 14:37:17
1115
原创 java.lang.OutOfMemoryError: Java heap space
原因:程序运行时所需内存 >memory。一般是因为处理数据量或者缓存的数据量较大,已有内存不足 并且内存分配速度 > GC回收速度导致。解决方案:增大memory、减少单个Executor的并发数(cores)、减少不必要的cache操作、尽量不要对比较大的数据做broadcast、尽量避免shuffle算子或者对程序逻辑/底层数据进行优化...
2021-04-14 14:36:20
698
原创 YarnAllocator:Container killed by YARN for exceeding memory limits. spark.yarn.executor.memoryOverhe
原因:运行时memoryOverhead+memory >MonitorMemory解决方法:通过-–confspark.sql.shuffle.partitions=XXX增大partitions个数;或增大executor.memory的大小,不超过(Max)MonitorMemory即可。若已经到max仍然报错,可以减少单个Executor的并发数(cores),增大Executor数量。...
2021-04-14 14:34:06
290
原创 presto常用sql函数(字符串操作、数学函数、日期操作、正则表达式、json、聚合函数、位运算)
字符串函数concat(string1,…,stringN)连接给定的字符串 length(string) 返回给定字符串的长度 lower(string) 返回字符串的小写格式 upper(string) 返回给定字符串的大写格式 lpad(string,size,padstring) 给定字符串的左填充 rpad(string,size,padstring) 给定字符串的右填充 ltrim(string) 从字符串中删除字符左侧空格 rtrim(string) 从字符串中删除字符右侧空
2021-04-13 15:10:54
8175
原创 presto时间转换、时间加减、时间差
Hive中对应的日期操作见:https://blog.csdn.net/qq_21997625/article/details/111473520问题1:时间格式转换例子: 当前时间20200110 转化为2020-01-10--prestoselect (format_datetime(date_parse('20200110','%Y%m%d'),'yyyy-MM-dd')问题2: 时间的加减例子: 原时间为20200110 需先转化为标准日期形式再加减--presto.
2021-04-13 14:20:28
16251
1
原创 presto获取上月第一天和最后一天、当月第一天
SELECT concat(SUBSTR(sysdate(0), 1, 7), '-01'), --本月第一天 date_add('day', - 1, CAST(concat(SUBSTR(sysdate(0), 1, 7), '-01') AS DATE)), --上月最后一天 concat(SUBSTR(cast(date_add('day', - 1, CAST(concat(SUBSTR(sysdate(0), 1, 7), '-01') AS DATE)) as varchar.
2021-04-13 14:16:09
7197
2
原创 hive解析json get_json_object
1,对于jsonArray(json数组),如person表的xjson字段有数据:[{"name":"王二狗","sex":"男","age":"25"},{"name":"李狗嗨","sex":"男","age":"47"}]取出第一个json对象,那么hive sql为:SELECT get_json_object(xjson,"$.[0]") FROM person;结果是: {"name":"王二狗","sex":"男","age":"25"}取出第一个json
2021-04-12 17:03:17
1617
原创 hive读取jsonarray
下面语句直接可以识别hive中的json array类型get_json_object(orientation, "$.[0].wlRatio")下面语句可以将jsonarray一行转换为多行,然后进行处理或者遍历SELECT id, pcFROM app.table_name LATERAL VIEW explode(split(regexp_replace(regexp_replace(regexp_replace(orientation, '\\[', ''), '\\]'..
2021-04-12 16:56:44
2455
原创 scala初始化hashmap
可以使用google的工具guava,这和hashset一样import com.google.common.collect.Setsval cid1wl5Set = Sets.newHashSet("1713", "652", "737", "9987", "6728")val cid1wl10Set = Sets.newHashSet("6144", "5169", "1316", "1319", "1320", "12218")val cid1wl15Set = Sets.newHashS
2021-04-12 16:49:14
616
转载 Guava新增集合类型
Guava新增集合类型Guava新增了一些JDK中没有的,但是被广泛使用到的新集合类型Multiset SortedMultiset MultiMap BiMap Table ClassToInstanceMap RangeSetMultisetMultiset和Set的区别就是可以保存多个相同的对象。Multiset占据了List和Set之间的一个灰色地带:允许重复,但是不保证顺序。常见使用场景:Multiset有一个有用的功能,就是跟踪每种对象的数量,所以你可以用来进行数字
2021-04-12 16:46:57
142
转载 Guava工具类
强大的集合工具类Guava提供了很多类似java.util.Collections的静态工具类Guava中工具类与集合的对应关系如下:集合接口 来自于JDK/Guava 对应的Guava工具类 Collection JDK Collections2 List JDK Lists Set JDK Sets SortedSet JDK Sets Map JDK Maps SortedMap JDK
2021-04-12 16:45:22
1171
原创 spark dataframe过滤查询filter
filter过滤条件直接写sql的条件就行ordDF.filter("pin_ct <= 5 AND ratio > 0.6 AND adowner_ct <= 5").orderBy(desc("ratio"))
2021-03-17 16:09:28
3305
转载 spark dataframe降序排序
package com.dkl.leanring.spark.dfimport org.apache.spark.sql.SparkSessionobject DfSortDesc { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().appName("DfSortDesc").master("local").getOrCreate() val data = Array((7,.
2021-03-17 16:06:51
1861
原创 Hive获取上月第一天和最后一天
SELECT concat(SUBSTR(DATE_SUB(FROM_UNIXTIME(UNIX_TIMESTAMP()),DAY(FROM_UNIXTIME(UNIX_TIMESTAMP()))),1,7) ,'-01'), DATE_SUB(FROM_UNIXTIME(UNIX_TIMESTAMP()),DAY(FROM_UNIXTIME(UNIX_TIMESTAMP())))
2021-03-10 14:32:16
5746
原创 安装automl包h2o
pip install requestspip install tabulatepip install scikit-learnpip install -f http://h2o-release.s3.amazonaws.com/h2o/latest_stable_Py.html h2o
2021-03-10 10:06:02
279
转载 Idea刷leetcode插件
1.安装在 IDEA(2019)的 setting 的 Plugins 的 Marketplace 中搜索 leetcode,即可以找到该插件,安装完成了,重启即可728 x 509 1015 x 7092.配置1、重启完成后,第一次使用的时候,需要一些基本的配制,在 setting 中的 Tools 中可以找到该插件工具,为 leetcode plugin,在里面,可以选择访问的为国际的 LeetCode 还是国内的,以及何种语言,同时,输入自己账户名(LoginName)和密码(Pa
2021-03-08 09:25:09
1218
原创 java.lang.StackOverflowError
使用maven打包项目的时候,报了错误:[ERROR] error: java.lang.StackOverflowError[INFO] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5365)[INFO] at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)[INFO] at scala.tools.nsc
2021-02-04 10:42:44
747
3
转载 hive与presto时间转换对比
文章转自:https://zhuanlan.zhihu.com/p/164645100问题1:时间格式转换例子: 当前时间20200110 转化为2020-01-10--输出 2020-01-10--hiveselect to_date(from_unixtime(UNIX_TIMESTAMP('20200110','yyyyMMdd')));--prestoselect (format_datetime(date_parse('20200110','%Y%m%d'),'yyyy-M
2020-12-21 14:00:06
2030
原创 python获取前n月第一天和最后一天
import datetime#获取前n月第一天和最后一天,n大于等于1def getNMonthBefore(date, n): month = date.month year = date.year for i in range(n-1): if month == 1: year -= 1 month = 12 else: month -= 1 last_day .
2020-12-14 20:05:19
909
原创 python获取前n周第一天和最后一天
import datetimetoday = datetime.datetime.today().date()#获取前n个自然周第一天和最后一天def getNWeeksBefore(today,n): ywd = datetime.datetime.now().isocalendar() #(year,week,周几) next_week_start = today + datetime.timedelta(days=today.weekday() - 6-ywd[2] - 7.
2020-12-14 20:03:00
916
原创 spark submit参数详解
spark-submit 详细参数说明参数名 参数说明 --master master 的地址,提交任务到哪里执行,例如 spark://host:port, yarn, local --deploy-mode 在本地 (client) 启动 driver 或在 cluster 上启动,默认是 client --class 应用程序的主类,仅针对 java 或 scala 应用 --name 应用程序的名称 --jars 用逗号...
2020-11-18 14:05:32
707
原创 Scala查看变量类型
使用.getClass.getSimpleName查看println(1.getClass.getSimpleName)
2020-11-16 13:47:40
3562
OpenCV 3.x with Python By Example 2nd .txt
2019-06-01
OpenCV with Python By Example.pdf
2019-06-01
OpenCV-3-x-with-Python-By-Example-master.zip
2019-05-31
传智播客python课件
2019-01-26
强化学习Reinforcement learning:An introduction第二版
2018-10-16
斯坦福cs234强化学习ppt教程reinforcement learning
2018-10-10
迁移学习教程,Transfer learning介绍,TL调查
2018-10-08
深度学习优化算法大全
2018-10-08
Deep Learning for Computer Vision by Dr. Stephen Moore
2018-09-18
Deep Learning for Computer Vision with Python123
2018-09-18
Hands On Machine Learning with Scikit-Learn and TensorFlow20173
2018-07-03
David Silver强化学习课件ppt
2018-07-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人