- 博客(182)
- 资源 (1)
- 收藏
- 关注
原创 DFS 、BFS、回溯
dfs(res,当前结构,当前候选热数据,当前目标值,当前搜索的层级)BFS(Breadth first search)对于树来说,BFS就是层次遍历而图的BFS 与树的BFS 不同点在于,树有根节点,图没有,所以图的BFS 要任意选择某节点进行遍历。如图,若选择A节点作为开始节点,与A直接相连的节点为B和C,则下一层遍历是B和C。A B C D E F注意,B 和C 调换顺序没关系...
2022-12-05 17:53:59
279
1
原创 力扣2-两数相加
参照官方解题方法/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = ne.
2021-08-29 16:50:44
89
原创 力扣5-最长回文子串
定义dp[i][j]的含义为i到j位置是否为回文子串,状态转移方程为:class Solution { public String longestPalindrome(String s) { int n = s.length(); String ans = ""; boolean[][] dp = new boolean[n][n]; //dp[i][j]表示从i到j是否为回文子串 for (int i = n-1; i >.
2021-08-29 16:48:31
104
原创 单调队列解题记录
剑指offer-59 滑动窗口的最大值元素从左边移除,右边加入,可以用队列解决不断维护一个单调递减的队列,两个点:1)新加元素跟队尾元素比较,队尾元素小于当前值,就不断弹出,直到队列为空,或者队尾元素大于当前值2)当前值的下标和队首元素下标大于k,则弹出队首元素,保证窗口的大小不超标public class SlideWindow_59 { public int[] maxSlidingWindow(int[] nums, int k) { if (nums.length
2021-08-08 23:33:29
105
原创 Pandas优化加速小技巧
【场景】使用Pandas对DataFrame数据某个维度进行操作,如query、id等【问题1】循环筛选符合条件的样本,使用df[df[‘query’]==‘query_1’]非常耗时【解决】使用词典结构,将同一query下的样本index放入list中,如query_idx = {“query_1”:[1,3,10],…}在筛选为query_1的样本时,直接使用df.iloc[query_idx[‘query_1’],:]进行筛选,由于使用哈希表的搜索操作,4500万数据的运行时长由300+小
2021-06-25 16:43:58
1435
2
原创 Python:安装jieba库,以及进入python交互模式出现应用商店问题
背景:需要用到jieba分词,安装jieba库时,pip安装一直报错如下Fetching package metadata .......CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://nanomirrors.tuna.tsinghua.edu.cn/anaconda/cloud/linux-64/rpodata.json>Elapsed: -An HTTP error occurred when trying
2021-04-12 14:39:48
274
转载 Maven:关于添加依赖时的classifier元素
首先来看这么一个依赖<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version></dependency>看似没问题吧?你觉得能下得下来吗?答案是否定的,下不下来。来看看Maven的文件索引目录:Index of /maven2/n
2021-04-10 17:25:34
544
原创 Spark调整日志输出等级
现象在跑Spark程序时,会输出很多INFO信息,看着很杂乱,可以通过调整输出日志等级避免输出INFO信息具体步骤:1)到Spark根目录的conf文件夹下,找到log4j.properties.template文件;2)复制上述文件,并改文件格式为log4j.properties;3)打开新文件,将log4j.rootCategory=INFO, console中的INFO改为WARN或者ERROR,保存退出;4)将文件log4j.properties复制到IDEA项目src/main/
2021-04-10 17:21:11
1071
原创 Spark报错:java.lang.NoSuchMethodError: org.apache.hadoop.security.authentication.util.KerberosUtil
现象Spark报错:java.lang.NoSuchMethodError: org.apache.hadoop.security.authentication.util.KerberosUtil.hasKerberosKeyTab(Ljavax/security/auth/Subject;)Z原因该博客提到,NoSuchMethod可能是因为项目中混合了多个版本的jar包,需要检查下项目依赖查看了pom文件里,这里的依赖有点问题(可能是其他jar包中已经包含了hadoop-common.jar,不
2021-04-10 17:04:37
1046
原创 Spark报错:Failed to locate the winutils binary in the hadoop binary path
现象Spark报错:Failed to locate the winutils binary in the hadoop binary path但不影响最终的输出结果原因环境变量没有配置好,没安装winutils解决IDEA进行Hadoop-HDFS API编程报错:Failed to locate the winutils binary in the hadoop binary path...
2021-04-10 16:52:20
278
原创 Spark报错:Unable to instantiate SparkSession with Hive support because Hive classes are not found
现象用IDEA写Spark,在初始化SparkSession时,设置enableHiveSupport()报错,报错信息为Unable to instantiate SparkSession with Hive support because Hive classes are not found.SparkSession sc = SparkSession .builder() .master("local[*]")
2021-04-10 16:45:09
6885
原创 Python读写文件、json文件/格式数据处理
平时都用pandas库里的read_csv()和to_csv()方法来读写文件,疏忽了原生方法,在此记录学习。读多行文件用readlines()方法读取【此处是读取json的多行文件】json_list = []path = "./data/20201210/"with open(path,"r") as f: lines = f.readlines() for line in lines: json_list.append(json.loads(line.str
2020-12-20 18:06:28
536
2
转载 关于hive中从hdfs上load数据到表中而HDFS上的数据却消失的若干问题
原链接:https://blog.csdn.net/shuaikang666/article/details/80357075今天偶然间发现hive中一个我之前没有注意到的一个小细节(我怀疑你们之前也可能没有注意到):那就是当我们试图从HDFS上导入数据到我们自己所创建的表中的时候load data inpath '/xxx/xxx/test.txt' into table mytable;发现原来存在于HDFS上的数据/xxx/xxx/test.txt 竟然消失不见了我试图寻找它的一丝踪迹却发
2020-12-20 17:42:53
3262
原创 Spark(1):由Spark的job,stage,task划分引出的宽依赖,窄依赖问题
【spark新手,如有不对,请一定指正】先说job、stage、task的关系一个job ——> 一或多个stage ——> 一或多个taskjob所谓一个 job,就是由一个 rdd 的 action 触发的动作,可以简单的理解为,当你需要执行一个 rdd 的 action 的时候,会生成一个 job。stagestage的划分依靠宽、窄依赖,遇到一个宽依赖shuffle,就划分为一个stage。spark 划分 stage 的整体思路是:调度器从DAG图末端出发,逆向遍历整个依
2020-12-20 17:26:34
251
原创 Pytorch指定GPU
1:直接在终端设置CUDA_VISIBLE_DEVICES=1 python my_script.py2:使用torch.cuda.set_device()torch.cuda.set_device(1)3:使用torch.device()device = torch.device("cuda:1")4:使用"CUDA_VISIBLE_DEVICES"(官方推荐)import osos.environ["CUDA_VISIBLE_DEVICES"] = '1'(同时调用两块GPU)
2020-10-29 09:57:50
211
原创 关于修改文件(夹)权限chomd 777 dictory/filename
https://blog.csdn.net/pythonw/article/details/80263428
2020-09-05 15:21:27
359
原创 关于csv文件导入excel出现“此文本文件包含的数据无法放置在一个工作表中。如要继续导入可容纳的数据,请单击确定。。。”的错误
https://blog.csdn.net/u010290051/article/details/84374098https://blog.csdn.net/jwyhappy/article/details/81711369参考链接里说的很清楚csv默认的文件换行符号是"\n"(换行LF),而excel默认的文件换行符号是"\r"(回车CR) + “\n”(换行LF),所以csv文件里的数据对于excel来说是没有换行的,因此会因为列数过多导致报错,正确的做法是将csv文件用notepad打开,选择新
2020-09-05 15:15:53
4718
原创 Hive(10):由筛选两张表相同/不同的数据引出的exists/not exists
参考链接Mysql筛选出两张表中不同的数据的SQLHive之——怎样写exist/in以及not exists/not in子句Hive 实现 IN 和 NOT IN 子句
2020-09-05 14:42:20
3147
原创 Hive(七):分区表partition
文章目录参考链接参考链接https://blog.csdn.net/qq_36743482/article/details/78418343https://www.jianshu.com/p/be5fef204cd1insert into ttable __ partition(a=, b=) values()
2020-09-05 11:29:43
177
原创 HIve(六):聚合函数
https://blog.csdn.net/yhao2014/article/details/46340471/https://www.cnblogs.com/fujian-code/p/8798413.html
2020-09-05 10:49:17
196
原创 Python:numpy array数组如何添加一行/一列
对于一个numpy的array数组,可以利用np.rowstack()添加一行,np.column_stack()添加一列例子:h = np.array([[1,2,3],[4,5,6],[7,8,9]])在第一列添加一列h = np.column_stack((np.arange(1,4),h))结果为:在最后添加一行h = np.row_stack((h,np.arange(1,5)))结果为:注意添加的列和行要和原来array数组的大小相匹配参考链接numpy arra
2020-08-21 10:45:37
23246
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人