自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 Flume的安装和配置

首先将压缩包放到虚拟机的/opt/install下然后解压tar -zxf /opt/install/flume-ng-1.6.0-cdh5.14.0.tar.gz -C /opt/soft/进入到soft文件夹下,改名字mv ./解压后的文件 flume160进入到flume下的conf文件夹 复制一份flume-env.sh修改flume-env.sh文件,修改22行和25行,其中22行是java路径,25行Xms2000m -Xmx2000m中的2000m-..

2021-12-21 11:45:47 711

原创 Spark GraphX 应用示例2

构建用户社交网络关系顶点:用户名、年龄边:打call次数找出大于30岁的用户假设打call超过5次,表示真爱。请找出他(她)们import org.apache.spark.graphx.{Edge, Graph}import org.apache.spark.sql.SparkSessionobject GraphDemo3 { def main(args: Array[String]): Unit = { val spar...

2021-12-16 20:15:16 854

原创 Spark GraphX 应用示例

构建用户合作关系属性图顶点属性用户名职业边属性合作关系import org.apache.spark.graphx.{Edge, Graph}import org.apache.spark.rdd.RDDimport org.apache.spark.sql.SparkSessionobject GraphDemo2 { def ma...

2021-12-16 19:54:31 1131

原创 Spark GraphX

为什么需要图计算 许多大数据以大规模图或网络的形式呈现 许多非图结构的大数据,常会倍转换为图模型进行分析 图数据结构很好的表达了数据之间的关联性

2021-12-16 19:39:02 1029

原创 Spark用户留存分析:计算用户的次日留存率(次周留存率同理)

日志数据,下面是一行日志信息,已经经过数据清洗写入到full_access_logs表中2018-09-04T20:27:31+08:00 http://datacenter.bdqn.cn/logs/user?actionBegin=1536150451617&actionClient=Mozilla%2F5.0+%28Windows+NT+6.1%3B+WOW64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F.

2021-12-16 18:34:57 3468

原创 Spark:日志文件数据清洗

日志数据,下面是一行日志信息2018-09-04T20:27:31+08:00 http://datacenter.bdqn.cn/logs/user?actionBegin=1536150451617&actionClient=Mozilla%2F5.0+%28Windows+NT+6.1%3B+WOW64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F63.0.3239.132+Safari%2F537.36&amp.

2021-12-16 00:08:48 8204

原创 Spark SQL 操作外部数据源之mysql

使用idea操作,需要导入依赖包mysql-connector-java-5.1.25.jarimport java.util.Propertiesimport org.apache.spark.sql.{DataFrame, SaveMode, SparkSession}object SparkToMysql { def main(args: Array[String]): Unit = {//创建SparkSession对象 val spark = SparkSession.

2021-12-10 23:10:11 1279

原创 用Scala实现打印九九乘法表

for (i<-1 until 10){ for(j<-1 to i ){ print(j+"*"+i+"="+j*i+"\t") } println() }until :左闭右开to:左闭右闭

2021-12-03 15:52:18 951

原创 Scala之HelloWorld案例

1创建IDEA项目工程1)打开IDEA->点击左侧的File->选择New->选择Project。。2)创建一个Maven工程,并且点击next3)指定分组和工程名scalademo4)指定项目工作目录空间5)默认下,Maven不支持Scala的开发,需要引入Scala框架在scalademo项目上,点击右键->Add Framework Support..->选择Scala->点击ok注意:如果是第一次引入框架,Use libary看不到

2021-12-02 17:04:24 839

原创 Scala插件安装

默认情况下IDEA不支持Scala的开发,需要安装Scala插件。1)插件离线安装步骤(1)建议将该插件scala-intellij-bin-2017.2.6.zip文件,放到Scala的安装目录下,方便管理(2)打开IDEA,在左上角找到File->在下拉菜单中点击Setting..->点击Plugins->点击左下角Install plugin from disk..,找到插件的存储位置,ok2)插件在线安装(可选)(1)在搜索插件框里面输入Scala->

2021-12-02 16:01:07 339

原创 Scala环境搭建

1)安装步骤(1)首先确保JDK1.8安装完成(2)下载对应的Scala安装文件scala-2.12.11.zip(3)解压scala-2.12.11.zip ,我这里解压到D:\Tools(4)配置Scala的环境变量注意1:解压路径不能有任何中文路径,最好不要有空格注意2:环境变量要大写SCALA_HOME2)测试需求:计算两数a和b的和。步骤(1)在键盘上同时按win+r键,并在运行窗口输入cmd命令(2)输入Scala并按回车键,启动...

2021-12-02 15:49:55 1023

原创 简介Scala(一)

1.1.1:为什么学习scala1)Spark是新一代内存级大数据计算框架,是大数据的重要内容2)Spark就是Scala编写的,所以要先学习Scala3)Spark的兴起,带动Scala语言的发展1.1.2 :Scala发展历史马丁.奥德斯基(Martin Odersky)2001年开始设计Scala1.1.3:Scala和Java关系Scala是基于Java的1.1.4:Scala语言特点Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最

2021-12-02 15:28:17 1500

原创 自动安装JDK、HADOOP、ZOOKEEPER、HIVE的shell脚本

看脚本需要注意的地方是用【" "】双引号括起来的字段一般是带有$某个东西的,例如$hostname,需要取值的一般都用""不然会出错,如果不想取值,直接保留$hostname的时候,就用【''】单引号#!/bin/bash#设置触发条件jdk=truehadoop=truezookeeper=truehive=true#定义主机名hostname=`hostname`#定义用户名whoami=`whoami`#定义一个安装目录,如果不存在就创建installdir=.

2021-11-09 20:08:37 1566

原创 简单介绍如何搭建MyBatis开发环境

1.首先导入jar包2.写一个resource根文件夹,写一个配置文件db.properties3.写一个User类4.写一个接口,写一些方法5编写UserDao配置文件6.编写mybatis配置文件7.编写测试类...

2021-09-25 11:34:36 104

原创 在Linux环境下配置MySQL

命令:(常用到的命令,复制ctrl+insert,粘贴shift+insert)cd /opt 切换到opt文件夹下ll 查看文件夹下的东西tar -zxf jdk-8u221-linux-x64.tar.gz 解析和安装jdk包。ll 查看是否有jdk1.8.0_221vi /etc/profile 配置环境变量按shift+g到最后一行,再按个小o,可以在下方插入以下内容export JAVA_HOME=/opt/jdk1.8.0_221export CLASSPAT...

2021-09-22 11:10:37 118

原创 用VMware创建新的虚拟机及配置

点击创建新的虚拟机,来到向导,选择自定义,点击下一步,点击下一步,选择稍后安装操作系统,点击下一步。客户端操作系统选择Linux,版本选择CentOS7 64位,点击下一步。虚拟机名称和位置最好全英文,最好不要放在C盘,虚拟机名称与位置的最后一段保持一致,点击下一步。处理器配置建议是22。点击下一步,内存最好选择4GB,点击下一步。接下里是重点了:首先选择仅主机模式网络,点击下一步。I/O控制类型选择推荐的即可,点击下一步。磁盘类型选择推荐的即可,点击下一步。选择创建新虚拟磁盘,点击下一步。

2021-09-22 11:07:58 1199

原创 如何配置Tomcat Server

首先我们用idea创建一个java项目,自己手动添加web模块一、添加web模块的步骤1点击项目结构2.点击Facet添加Web3.选点击确定4.点击Create Artifact就可以了二、配置Tomcat1.点击添加配置2.点击加号,找到Tomcat Server 本地3.点击配置,找到你tomcat解压后的文件夹,下面有个修复,修复一下4.点开项目结构,选择模块,找到依赖,在后面的加号中选择库,选择你的Tomca...

2021-09-22 10:11:41 5990 1

原创 使用JDBC操作数据库

驱动名及数据库static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";数据库的用户名和密码static final String USER = "root";static final String PASS = "123456";注册jdbc驱动Class.forName(JDBC_DRIVER);打开链接Connectionconn = DriverManager.getConnection(DB.

2021-09-22 09:17:36 300

原创 JAVA多线程

线程和进程:一个进程可以有多个线程。进程往往是应用程序执行任务本身。线程是应用程序向cpu请求的各个运行步骤。JAVA中用Thread类来实现线程。核心方法为:start(),程序调用start0()。实现多线程的方法:1:继承Thread类,重写run方法,构造对象,调用start方法。2:实现Runnable接口,重写run 方法,构造对象,装入Thread对象中,调用Thread对象的start方法。3:实现Callable接口,重写call方法。。。。区别:当一个

2021-08-31 09:23:51 86

原创 JAVA输入和输出处理(IO流)

IO从程序的角度出发:程序的读和写。文件:相关记录或放在一起的数据的集合。文件一般存储在硬盘中。Java程序访问文件属性通过java.io.File 类。File类访问文件属性:导入File类>>>>创建文件对象:File file = new File( String pathname(里面填你要访问的文件的路径"c:\\test .txt" 或 "c:/test .txt") );>>>>通过文件对象的方法操作文件或目录的属性 (路径、权限、日

2021-08-26 11:18:19 240

原创 JAVA实用类

枚举:枚举指由一组固定的常量组成的类型。package work;//一周七天的枚举public enum Week { MON,TUE,WED,THU,FRI,SAT,SUN}

2021-08-26 09:12:47 179

原创 JAVA集合框架和泛型(二)

Set接口:Set接口存储一组唯一,无序的对象。HashSet是Set接口常用的实现类。Set set = new HashSet();HashSet可以看作是HashMap的key:key的hash值不能相等。Set方法只能增删。Set中存放对象的引用。Set接口通过对象的equals()方法比较两个对象是否相等,进而判断加入的元素是否已经存在。遍历方法有:增强for和迭代器(iterator)Iterator itor = new list.iterator(); ..

2021-08-18 19:57:49 123

原创 JAVA集合框架和泛型(一)

Collection :所有集合类的基础接口,定义了标准(数据存放的标准)。里面的数据都是无序的、可重复的,没有顺序要求,也没有去重要求。里面的方法定义了一个集合应该有的功能:添加一个或者多个元素:add(Object o),addAll(Object o).返回列表中的元素个数:size()判断列表中是否存在指定元素:contains(Object o)从列表中删除元素:remove(Object o)清空列表:clear()判断是否为空:isEmpty()迭...

2021-08-17 20:17:40 92

原创 JAVA异常

异常:会导致程序中断。以前我们见过的:编译报错:无法运行运行报错:可执行一部分,但遇到有问题的代码,会中断 数组越界 类型转换 输入不匹配 空指针解决异常情况一般有以下几种处理办法:1选择另一种方式处理该异常。2提前预处理某些可能要发生的问题、避免异常发生3不处理异常处理:try-catch-finally:try块包裹可能发生异常的代码catch(可能的异常类型 参数){发生异常执行的代码...

2021-08-14 11:28:03 108

原创 JAVA之抽象类和接口

抽象:将多个事物的共同特征,本质抽取出来。抽象类与普通类的区别:1、抽象类不能被实例化。但可以创建一个引用变量,其类型是一个抽象类,指向非抽象的子类实例。2、普通类可以被实例化。抽象方法与普通方法的区别:有无方法体。抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象类。如果子类没有实现父类的所有抽象方法,子类必须被定义为抽象类。没有抽象构造方法,也没有抽象静态方法。抽象类中可以有非抽象的构造方法,创建子类的实例时可能调用。抽象类不能被实例化(不能创建对象)

2021-08-12 21:02:07 80

原创 JAVA之方法重写与多态

1、方法重写:又叫覆盖,特指子类中有和父类同名的方法。重写时可以用super.方法的方式来保留父类的方法。构造方法不能被重写。2、方法重写的规则:方法名相同。参数列表相同。返回值类型相同或者是其子类。访问权限不能严于父类。父类的静态方法不能被子类覆盖为非静态方法,父类的非静态方法不能被子类覆盖为静态方法。子类可以定义与父类同名的静态方法,以便在子类中隐藏父类的静态方法(注:静态方法中无法使用super)。父类的私有方法不能被子类覆盖 。不能抛出比父类方法更多的异常

2021-08-11 22:38:32 151

原创 JAVA之封装与继承

封装:目的是为了保护成员不被随便访问,提供公共的访问接口。包的作用:区分不同的文件,便于管理。访问修饰符 作用域 修饰符 同一个类中 同一个包中 子类中 任何地方 private 可以 不可以 不可以 不可以 默认修饰符 ...

2021-08-10 23:43:38 99

原创 JAVA类和对象简单练习之用户密码管理

需求说明模拟实现用户密码管理:输入旧的用户名和密码,如果正确,方有权限更新;从键盘获取新的密码,进行更新。思路:首先写一个原始密码的类import java.util.Scanner;public class Administrator { String name = "张三"; String pssword = "123456"; public void changePsssword(){ Scanner input = new Scanner(S

2021-08-09 12:13:41 3268

原创 JAVA方法的调用应用:一个景区根据游人的年龄收取不同价格的门票。请编写游人类,根据年龄段决定能够购买的门票价格并输出

思路:首先我们要写一个游人类,其中类的属性是游人姓名和年龄。public class Visitor{ String name; int age; public void price(){ if(age>60||age<10) { System.out.println(name + "的年龄为:" + age + ",门票免费"); } else{ System.

2021-08-08 23:56:13 9280 2

原创 JAVA的类和对象的简单练习

创建School类public class School{ String name; String address; void show(){ System.out.println("学校的名称"+name\n+"学校的地址"+address);}}创建和使用对象public class ZhanshiSchool{ public static void main(String[] args){ School center

2021-08-08 23:02:45 140

原创 JAVA方法与方法重载

1.定义带参数的方法<访问修饰符>返回类型<方法名>(<形式参数列表>){ //方法的主体}2.调用带参数的方法对象名.方法名(参数名1,参数2,......,参数n)3.基本数据类型传递的是值,引用类型传递的是地址。4.构造方法:系统会默认提供无参构造方法public 类名(){}一旦显式的写出构造方法,系统不再默认提供。当自定义了有参构造,无参构...

2021-08-08 22:33:59 88

原创 JAVA的类和对象

对象:由静态(特征)方法和动态(特征)方法构成。类:一组有相同属性和方法的对象的集合。对象是类中具有具体属性值和具体方法的成员。类是对象的抽象,对象是类的具体体现。类的定义:public class 类型{ 属性类型 属性名; ........ 方法(){} .........}对象的定义:类型 对象名=new 类型();对象名.属性// 调用属性对象名.方法()// 调用方法方...

2021-08-07 09:26:01 69

原创 JAVA一维数组求最大值

从键盘输入本次Java考试五位学生的成绩,求考试成绩最高分。代码如下:public static void main (String[] args){ int[] score=new int[5]; System.out.println("请输入五位同学的成绩"); Scanner input=new Scanner(System.in); for(int i=0;i<score.length;i++){ System.out.print("请输入

2021-08-04 13:00:16 849

原创 如何使用JAVA遍历一个一维数组

新手一枚有一个数列:8,4,2,1,23,344,12。循环输出数列的值。代码如下:public static void main(String[] args){ int[] a={8,4,2,1,23,344,12}; System.out.print("["); for(int i=0;i<a.length;i++){ if(i==a.length-1){ System.out.print(a[i]+"]"); }.

2021-08-04 11:54:54 322

原创 学习JAVA的七天:一维数组

1.为什么需要数组:如果需要定义多个变量,把每个变量都定义一次会很繁琐,不利于数据处理。这个时候就可以用数组来存储相同数据类型的一组数据。其实数组就是一个变量,声明一个数组就是在内存空间划出一串连续的空间。2.什么是数组:数组包括以下几种基本要素(1)标识符:数组的名称,用于区分不同的数组(2)数组元素:向数组中存放的数据(3)数组下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问(4)元素类型:数组元素的数据类型(5)数组地址:数组本身的值注意:数组中的所

2021-08-04 11:29:42 105

原创 学习JAVA的第六天:多重循环结构

1.为什么使用多重循环:比如如何使用循环输出矩形?这个时候我们就要用到外层循环控制行数,用内层循环控制列数。2.什么是多重循环:一个循环体内又包含另一个完整的循环结构。3.多重循环使用时应注意以下几点:(1)各循环可以互相嵌套(2)一般不超过三层 127次(3)外层循环变量变化一次,内层循环变量要变化一遍4.break语句:用于do while、while、for循环中来改变程序,可跳出循环而执行循环后面的语句。5.continue语句:(1)只能用在循环里(2)..

2021-08-04 09:54:45 93

原创 学习JAVA的第六天

今天讲的是循环结构。首先是为什么需要循环,以下两个图可以解释上图没有使用循环上图使用循环可以看出使用循环省去了很多繁琐重复的内容,使得代码更简洁方便。循环结构的特点是循环操作和循环条件。循环结构包括while,do while,for这三种。下面我们分开来讲各个循环结构。一、while循环1.格式:定义变量while(循环条件){循环操作循环变量改变}2.流程图:3.编码规范:缩进、换行。4.特点:先判断,在执行。二、do ...

2021-08-03 11:53:54 82

原创 学习JAVA的第五天

选择结构包括if和switch结构首先我们要先学习下流程控制。就好比给我们一个问题,我们首先要写出思维导图,然后再用代码实现。流程控制用来控制程序中各个语句的执行顺序:从左到右分别是顺序,选择,循环。首先是if结构:条件的结果必须是布尔值(true/false)一、1.基本的if分支结构:if(条件){代码}。2.复杂条件的if分支结构:if(条件1&&条件2){代码}使用逻辑运算符将条件结合起来,结合运算符的优先级如下:...

2021-08-03 10:57:55 80

原创 JAVA学习的第四天

1.变量的运算:关系运算,算数运算,逻辑运算,条件运算。在进行算数运算时,原则上不同类型的变量不能进行直接运算,但在实际运算中,java中的底层会进行类型转换。转换的特点如下:(1)不同类型之间的变量进行运算的前提是可以相互转换。(2)大类型接收小类型时,自动转化为大类型。(3)小类型接收大类型时,会报错,需要强制转换。(4)强制转换时,精度会丢失,不是四舍五入。(5)计算过程是先进行类型转换再运算,对原变量无影响。2.运算符:算数运算符:【+】【-】【*】【/】【%】【

2021-08-03 09:35:40 79

原创 学习JAVA的第三天:变量、常量和数据类型

1.变量的定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。2.变量声明:用于向程序表明变量的类型和名字。3.变量名命名规则: (1)由字母(a-z、A-Z)、数字(0-9)、下划线(_)、¥,$组成。 (2)不能使用数字开头。 (3)不能使用关键字关键字...

2021-07-27 21:26:20 115

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除