- 博客(18)
- 收藏
- 关注
原创 lc718动态规划的题目
最长重复子数组给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。这里考虑使用动态规划,像是这种输出一个值的题,而且有这种迭代的感觉的题,一般考虑动态规划的思路。栋态规划的思路在于状态转移和迭代。试想一个长度为5和一个长度为4的数组的最长子数组,如果要状态转移,至少要保证状态连续,因此dp的装态可以设置为以该索引为右端的最长子数组,dp[4][3]就可以表示成由最后一个数字做右端构成的最长子数组。很显然,如果A[4]!=B[3],那么dp[4][3]为0.如果A[4]==B[
2020-07-02 14:02:46
190
原创 pd.merge一个df全为NAN的情况
这是由于key列dtype为object的缘故,必须要统一成一个数据结构df1.astype(int)df2.astype(int)
2020-06-22 16:09:21
2033
原创 python中的全局变量的使用
由于在刷题的时候有一个这样的需求,需要在dfs中反复修改一个变量值,这个时候想起来使用global来进行全局变量的修改。但是我只用过改一次的情况,迭代用global修改全局变量的方法一直我都没有成功。一直以来我都是使用list这种不会在迭代中产生歧义的方法来修改。今天我想到了一个更好的使用全局变量的方法,那就是把全局变量存在一个class里,这样在class里函数中都可以访问self里的变量。...
2020-06-21 12:40:17
1026
1
原创 hadoop的编程习惯
今天还剩点时间写一下我在写hadoop的编程习惯。昨天新给了一个活,而我今天基本上就把工作做完了。上面说我写的挺快的,其实这都得益于良好的编程习惯。我见过网上很多hadoop的入门和编程代码,我都发现一个共性的误导问题。就是网上的代码都不乐于去自定义writable类。而是在map里处理数据,然后写个combiner,写三个job串联就觉得很高大上了。但是实际这么写的问题是:数据可能变更字段,你还得去map函数里找数据不变但是会有新的需求,你还得重写一遍。有的数据格式极为复杂,你的map函数会变得
2020-06-11 19:39:23
160
原创 pandas中groupby,apply的几个用法的总结
apply的使用总共基本用于三处,1是你要对每条记录进行遍历去函数计算出一个值,2是你要对某一列进行操作,3是你groupby后要对每个group后的df进行操作输出一个东西出来OK,对应下来就这三种用法df.apply(lambda x:func(x,args**),axis=1)df.apply(lambda x:func(x,args**),axis=0)df.groupby([column1]).apply(lambda x:func(x,args**))这三种用法吃遍天...
2020-06-08 15:43:59
6037
原创 git删除远程仓库的文件
git删除远程仓库的文件这回碰到了一个这个问题,由于push代码前忘了写.gitignore,导致将100M的数据集文件夹上传了远程仓库。。。上传了几个后发现了这个问题ctrl+C了。后来就是想删掉远程的这个文件。具体操作如下:git rm -r --cached data_namevim .gitignoregit commit -mgit push主要就是删掉本地缓存的文件再提交...
2020-05-26 16:19:42
191
原创 MapReduce中FULLGC的问题
MapReduce中FULLGC的问题问题描述问题描述我在集群上将近好几T的数据需要遍历一遍,然后过滤出我想要的数据。我本来以为是一个简单的事情,没想到试了两三天也没有成功。总是会出现超时超内存的问题。超时的问题可能是一个reduce的量有点太大了。这里我把key值稀疏了一下。但是超内存的问题还是存在。这让我很费解。今天终于搞明白了在这个地方...
2020-05-20 15:12:00
281
原创 WGS84,GCJ02之间的区别
WGS84,GCJ02之间的区别84坐标系可以理解为是真实坐标系,是一个地点的实际坐标值。02坐标系是加密后的坐标系,是为了国家安全考虑。对应的不是实际的坐标值,但是在加密的坐标下,进行导航、定位等操作是完全不受影响的,只不过坐标不是真实的坐标而已。我国的各个地图软件,均使用02坐标系进行街景地图测绘和卫星地图测绘,因此可以看到我国的地图应用上均不会标注经纬坐标信息。不过也有个例外,百度地图采用BD09坐标系,在02坐标系上又进行了一次加密。谷歌地图的全球版在中国地段采用的是02坐标系,其他地段采用84
2020-05-18 09:13:35
26219
原创 翻转链表的思路
翻转链表的思路给定首尾节点给定首尾节点其实给定首尾节点后,可以采用迭代循环的方式。将首节点指向尾节点的下一节点,尾节点指向首节点(其实也可以不指,可以直接断掉),这样需要翻转的部分缩小了一个。反复迭代直到尾节点变成了头结点代码如下:def reverse(self,head,tail): prev = tail.next p = head while(prev!=tail): nex = p.next p.next = prev
2020-05-16 10:21:12
216
原创 MapReduce的Reduce处理过程
MapReduce的Reduce处理过程卡在了67%卡在了67%今天出现了一个问题,就是reduce的时候卡在了67%。我一直以为是数据量太大的缘故,因此我将数据量缩小了10倍,发现还是卡在了67%。reduce过程的百分比与对应的处理如下:0~33%是shuffle33~67%是sort67~100%才是reducer程序执行的过程。因此如果reduce卡在了67%,那么说明reducer一个也没有执行。因此我找到了问题的所在,所有的map输出的key值都相等,导致了一个re
2020-05-12 21:05:03
747
原创 MapReduce如何操作gz压缩包
MapReduce如何操作gz压缩包HDFS读取gz压缩包MapReduce如何做输入代码实例HDFS读取gz压缩包对于一些结构性和规律性特别好的数据而言,在集群里基本都是以gz来存储数据,压缩比例能达到1:100左右,还是挺可观的一种方法。但是问题就是,存是简单了,但是读取是有点费劲的。好在hadoop已经给我们做好了解压缩的方法。做成了gz数据流的方法,调用readline(),来进行读取操作。package edu.bupt.trace;import org.apache.hadoop.co
2020-05-11 20:42:16
812
原创 jupyter notebook修改默认路径
jupyter notebook修改默认路径jupyter notebook --generate-config 在.jupyter_notebook目录里生成配置文件修改c.NotebookApp.notebook_dir右键属性notebook图标将%USERPROFILE%去掉
2020-05-08 20:57:11
99
原创 空间数据入门
空间数据入门基本概念空间索引的基本策略单点索引方式索引方式的分类空间数据(spatial information)和传统的结构型数据以及非结构型的数据都有点不一样。空间数据虽然是有一定的结构性,但是其和非结构型数据一样难以按照结构型数据分析方法去操作。而像地图的测绘、定位算法、轨迹生成、轨迹分析,都是基于空间数据的dao层,因此从空间数据开始入门。基本概念bounding box:最基本的确...
2020-05-08 17:44:02
1433
原创 KMeans++算法和Hadoop关键代码实现
KMeans++算法和Hadoop关键代码实现算法关键描述轮盘法Hadoop关键代码实现Feature.javaKMeans.javaKMeanspp.java算法关键描述kmeans算法比较简单,比较难的问题在于初始簇的选择。因为如果初始簇选的不好,会出现空簇,聚类不收敛等问题。因此kmeans++就是增加了初始簇的选择方法。轮盘法轮盘法是一种非均匀分布的均匀分布实现方法。意思就是给定一...
2020-05-03 23:28:29
428
1
原创 JAVA常用的对象访问属性
JAVA常用的对象访问属性不得不说,java语言确实细节坑太多,今天遇到的一个坑是单元测试上的坑。还是那个道理,java这么多年了,一切你觉得有问题的东西,最后都能证明是问题在自己身上。我之前一直是在每个类的最后编写main方法来进行单元测试的。因为我觉得这样不用引入junit的包,也可以立即进行测试,方便很多。但是问题就来了,我今天突然发现竟然可以自由操作private属性的变量。这个我就太...
2020-05-03 10:54:01
387
原创 hadoop中本机和集群跑的结果不一样
hadoop中本机和集群跑的结果不一样问题描述解决方法问题描述我在写kmeans算法的时候,将Mapper和Reducer函数写到一个Kmeans方法内,首先在本机上跑,结果是通过的,然后在服务器上跑,出现了无效的结果。这个让我调试了快一个下午,终于发现了问题。问题在于我给Kmeans方法设了一个全局变量feature_num。然后仅在map的setup中重写从conf中读取了feature...
2020-05-02 19:08:44
370
原创 在virtualbox下配置hadoop学习环境
配置hadoop学习环境虚拟机环境的配置virtualbox的安装和配置hadoop集群的配置虚拟机环境的配置virtualbox的安装和配置安装server版的ubuntu,这里面坑很多,第一是不带ssh-server环境,需要:sudo apt-get install openssh-server增强功能安装出现问题sudo mount /dev/cdrom /mnt/s...
2020-04-29 14:53:29
663
原创 关于CGR路由算法的一点理解
关于CGR路由算法的一点理解接触图路由算法的大致介绍存在的一点疑问接触图路由算法的大致介绍算法的详细的介绍和相关概念参考: [Contact Graph Routing draft-burleigh-dtnrg-cgr-01](https://tools.ietf.org/html/draft-burleigh-dtnrg-cgr-01) 根据我的理...
2020-04-29 06:59:20
1072
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人