- 博客(29)
- 资源 (4)
- 收藏
- 关注
转载 关于group by的基础用法和原理
写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉group by好陌生,总有个筋别不过来,为什么不能够select * from Table group by id,为什么一定不能是*,而是某一个列或者某个列的聚合函数,group by 多个...
2019-06-21 23:25:00
15643
13
原创 Python3实现原生爬虫,不用框架,用正则表达式【详细代码+注释】
简单说下我对爬虫的理解,爬虫即对HTML进行文本分析,提取所需内容在爬虫前,需要明确目的,找到数据对应的网页,并分析网页结构找到数据的标签要爬的网站是熊猫TV目的:熊猫TV下,某个游戏下主播的人气排行,爬取主播名字、观看人数版本是python3.5.2,以学习为主,只使用正则表达式from urllib import requestimport reclass Spider():...
2018-12-24 22:11:13
1028
原创 Kafka容错性测试【高可用性】
部署好Kafka【单节点3个broker】,我们可以对其容错性进行测试: 首先查看topic及详细信息: 1)用jps -m显示 2)现在3是主broker,可以用kill -9 3147 结束2,只剩3和1 3)再看下详细信息: Isr中已经没有2了 4) kill -9 3208结束3,发现仍然能测试生产消费信息【在生产终端输入,消费终端有显示】 5) 再看下...
2018-08-04 21:44:34
2313
原创 kafka分别在单节点单broker和单节点多(3)broker中的部署和生产、消费信息测试
LZ是在自己的笔记本电脑的虚拟机上部署的,只有一台机器,所以尝试了这两种方式下生产和消费信息的使用 学一门新技术肯定要看官方文档,上面有比较详细的说明,但是有的地方有点错误,还是在这里记录下,以供参考!官方文档链接 1、首先安装kafka 版本选用0.9.0.0,选择与scala2.11相配的版本 1)拷贝地址,然后wget下载,再解压,配置系统环境变量【vi ~/.bash_profil...
2018-07-09 23:01:29
2053
原创 Windows下dataX的安装配置和初步使用实例
1、安装配置 此方法也适用于linux下,前提条件: 事先安装python2.x,JDK1.8,Maven3.x [方便用源码编译,也可以直接使用二进制包] 其中wiki上有相关步骤quickstart 这里稍微解释下: 如果采用第一种方法,可以直接下载dataX.tar.gz文件,解压后即可运行 采用第二种源码编译的话,先下载zip文件,解压后,以管理员身份运行cmd,进入到解压后的...
2018-06-27 21:14:32
12506
2
原创 Flume完整实例一:从指定网络端口采集数据输出到控制台
LZ最近在学习Flume(分布式日志收集框架),从简单的例子入手,以供参考 需求:从指定网络端口采集数据输出到控制台 首先要安装Flume,其源码是Java,所以先安装JDK(我装的是1.8),Flume解压配置好环境后,检测flume是否安装成功:在bin目录下,比如:/home/apache-flume-1.6.0-cdh5.7.0-bin/bin 输入:flume-ng version...
2018-06-26 23:04:28
3519
原创 windows64位在IDEA下配置pyspark环境
之前一直在用scala,用IDEA配合maven使用,就没有在本地搭建spark环境,现在改用python,发现配置麻烦了很多,记录下,方便参考: 1)本地已经装好了JDK1.8,IDEA2017,scala2.11.8 2)先安装python,这里装的是2.7.15,下载地址:python安装包官网下载 安装后记得配置环境变量,命令行输入python,如下图所示即成功: 在IDEA中搜p...
2018-06-13 21:47:31
2139
原创 Spark开发:Job aborted due to stage failure: Task 0 in stage 0.0 failed 1 times, most recent failure问题
LZ最近在用spark清洗日志信息时(Scala编程),出现了一条异常: Exception in thread “main” org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 1 times, most recent failure: 追朔异常日...
2018-06-11 21:53:01
61417
8
原创 安装scala出现Failed to initialize compiler以及IDEA中编写scala程序出现错误: 找不到或无法加载主类问题的解决
主要是解决以下两类问题: 1)在安装scala时出现: Failed to initialize compiler: object java.lang.Object in compiler mirror not found. 具体见下: 2)在IDEA中构建maven项目,用scala编写时,出现: 错误: 找不到或无法加载主类 原因: java.lang.ClassNotFoun...
2018-06-04 14:21:00
11023
5
原创 linux中用spark进行单词数统计--wordCount例子操作详解【scala版】
这是命令行的简单操作案例,借用spark里面的API:flatMap、reduceByKey来实现,步骤如下: 1)启动spark shell:./spark-shell --master local[2]注:spark shell 是spark自带的一个快速开发工具,在spark目录下bin目录里面2)读入需要处理的单词文件val file = sc.textFile("fil...
2018-05-13 16:19:11
2218
原创 使用IDEA+Maven开发wordCount案例【MapReduce编程实现】
这是学习MR编程的一个典型模型,这里分享一下。 wordCount需求是统计文件中每个单词出现的次数。 处理过程中主要是将作业拆分成Map阶段(Mapper tasks)和Reduce阶段(Reducer tasks),数据转换过程如下:(input) <k1, v1> -> map -> <k2, v2> -> combine -> &...
2018-05-02 19:35:26
2132
原创 IDEA中编译maven打包中出现 Perhaps you are running on a JRE rather than a JDK的问题解决
LZ是在IDEA新建的maven项目,到DOS界面打包时,提示:[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK这个报错的意思是maven需要JDK环境而不是JRE环境。网上搜了一堆都是修改eclipse的环境配置,而我用的是...
2018-05-01 16:52:59
19236
5
原创 Java API操作HDFS文件,利用Junit单元测试
操作HDFS文件,约有以下两种方法 (1)shell,这个相信大家基本都会; (2)Java API 的操作 这次主要记录下Java API操作HDFS文件的相关测试环境:IDEA+JDK10.0.1,虚拟机centos 版本:hadoop2.6.0-cdh5.7.0, junit 4.11,maven3.0事先要在pom.xml中添加相关依赖,并指定一个仓库测试代码如下:...
2018-04-29 15:30:57
894
原创 路径压缩——并查集的第四种优化【Java版】(递归与非递归版本)
/** *【路径压缩】处理并查集中的深的结点 * 对find方法进行优化 * 路径压缩中时间复杂度近乎为O(1) *就是让当前结点指向自己父亲的父亲,减少深度 *非递归的路径压缩 *路径压缩也可以采用基于集合中元素的个数而非深度来 */public class UnionFind5 { private int count; private int[]...
2018-03-28 23:06:54
833
原创 并查集的三种优化【Java版】
/** *优化方法二:快速union,慢find *方法一合并时,需要将p元素集合中所有元素都合并到q集合中,效率为O(n) *现只需将p元素所属集合中根节点所在的元素和q合并即可,构成一棵树,O(1) *每个元素均有自己的父节点,根节点才是最终元素所属的集合 *合并时,将两个元素的根节点合并 */public class UnionFind2 { priv...
2018-03-25 23:09:58
491
原创 数组实现并查集【Java版】--基本实现
/** * 数组实现并查集 * 可以判断元素之间是否连接 * 可以很好实现网络中节点的连接问题 */public class UnionFind { //定义一个数组,数组下标表示并查集所有元素,对应的值表示元素所属的集合 private int[]id; //数组中包含的元素个数 private int count; public ...
2018-03-19 21:14:12
582
原创 第三种堆排序---原地堆排序【Java版】
/** *实现堆排序[原地堆排序] *堆适用于动态数据的维护,不适合系统级的排序 *时间复杂度O(nlogn),从小到大排序,前两种堆排序均开辟了额外空间 *不需开辟额外空间,也不需为额外空间进行处理,所以,空间复杂度为O(1) *根节点从0开始,左孩子:2i+1,右孩子2i+2; */public class HeapSort3 { public voi...
2018-03-18 17:55:12
347
原创 最大堆建堆过程的优化及第二种堆排序【Java版】
*最大堆建堆过程的优化 *与上条博客区别在于构造函数,heapify过程,具体来说:public class MaxHeap { private int count; //记录堆中存储元素的个数 private static int[] data; //用数组存储二叉堆 private int capacity;//***********************...
2018-03-17 21:56:01
792
1
原创 实现最大堆(包括插入和从堆中取出元素)及第一种堆排序【Java版】
/** *实现最大堆 *用数组存储 *小优化:将swap用赋值代替,先不急着交换,先复制,再移动,最后赋值 *第一种堆排序,从小到大排序 *时间复杂度为O(nlogn) *空间复杂度O(n) */public class MaxHeap { private int count; //记录堆中存储元素的个数 private static int[] ...
2018-03-15 22:11:30
1076
原创 快速排序的实现及三种优化方式【Java版】
1、普通快速排序/** *实现快速排序(普通快速排序) *对arr[l,,,,r]共n个元素进行排序 *用递归方法,O(nlogn) *方法一 *缺点:在近乎有序的数组下,该快排比归并要慢很多 *因为每次排序后,左右两个子递归规模相差悬殊,构成的二叉树平衡因子没有归并好 *在完全有序时,退化为O(n^2) *优化:随机选取基准值 */public c...
2018-03-12 19:57:36
3323
原创 归并排序的实现及优化【Java版】
/** *实现归并排序 *对arr[left,,,,right]共n个元素进行排序 *用递归方法,O(nlogn),自顶向下,可以再用迭代方法(自底向上) */public class MergeSort { public void mergeSort(int[] arr,int n) { __mergeSort(arr,0,n-1);//只在mer...
2018-03-11 21:29:44
361
原创 选择排序的实现及优化【Java版】
1、基本实现/** *实现选择排序 *方法一 *O(n^2) */public class SelectSort { public void selectSort(int []arr,int n) { for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { ...
2018-03-10 22:14:53
351
原创 插入排序的实现及优化【Java版】
1、基本实现/** *实现插入排序 *方法一 *O(n^2) */public class InsertSort { public void insertSort(int[]arr,int n) { for(int i=1;i<n;i++) { for(int j=i;j>0;j--) { ...
2018-03-10 22:09:37
477
原创 二叉搜索树的实现(包含插入、查找、遍历、删除等)【Java版】
package com.BinarySearchTree; import java.util.LinkedList; /** *实现二分搜索树 *O(logn) *适用于查找表(字典)//定义树的结点 private class Node { private Key key; //键,相当于字典中的单词 private Value v...
2018-03-08 22:33:19
520
原创 二分查找的递归与非递归实现【Java版】
/** *递归实现二分查找 *时间复杂度O(logn) *前提:数组有序 *如果找到target,返回相应的索引,未找到,返回-1 * */public class BinarySearch { public static int binarySearch(int[]arr,int l,int r,int target) { if(l>r) return -1; //找不到返回...
2018-03-03 22:47:22
252
原创 关于链表问题的常见注意点(JAVA)
在编程测试中,关于链表问题的常见注意点:1、如果输入的头结点是 NULL,或者整个链表只有一个结点的时候:if(head==null||head.next==null) return head;2、链表断裂的考虑链断开之前一定要保存断开位置后边的结点
2018-01-15 20:15:41
935
原创 Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法
LZ初学SQL,本来以为开源的安装很简单,但是中间出现了一些问题,记录下来,希望能帮助到他人。mysql官网下载地址:https://dev.mysql.com/downloads/mysql/点击打开链接以5.7.20版本为例首先安装包解压后,没有网上教程里面提到的data文件夹和my-default.ini,如下图所示配置环境变量请参照网上教程,这个一般没有问题,即在环境变...
2018-01-04 15:22:46
61329
76
原创 JAVA中如何判断一个数组或者字符串是否为空
int [] array数组为空的条件: if( array==null||array.length==0)String str字符串为空的条件: if(str == null || str.length() == 0);s==null是有必要存在的。 1 如果想调用一个方法,首先要有一个对象,但是null并不是一个对象,内存中都没有它的空间,所以null是不能够调用String中的方法的,i...
2018-01-03 22:39:53
61738
1
原创 JAVA中的基本数据类型
Java中数据类型分为基本数据类型(或叫做原生类、内置类型)和引用数据类型,所以数组不是原生类其中基本数据类型有以下八种:byte、short、int、long、float、double、char、boolean 1、整型 【主要区别在于取值范围】(1)byte占用1个字节,取值范围为-128~127(-2的7次方到2的7次方-1); (2)shor占用2个
2017-12-28 16:55:33
197
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人