之路专题

ETL自学之路-01(初识ETL)

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。

springbatch自学之路-06(split的创建与使用-使用多线程执行任务)

1.配置类 package com.springbatch._04new_split;import org.springframework.batch.core.Job;import org.springframework.batch.core.Step;import org.springframework.batch.core.StepContribution;import org.sp

springbatch自学之路-05(flow的创建与使用)

1.配置类 package com.springbatch._03new_flow;import org.springframework.batch.core.Job;import org.springframework.batch.core.Step;import org.springframework.batch.core.StepContribution;import org.spr

springbatch自学之路-04(job的创建与使用)

目录 1.使用start。。。next。。。的方式 2.使用from。。。on。。。to。。。的方式 1.使用start。。。next。。。的方式 直接上代码: 配置类: package com.springbatch._02new_job;import org.springframework.batch.core.Job;import org.springframework.b

springbatch自学之路-03(将数据库替换为mysql)

目录 1.添加依赖 2.添加数据库数据 3.执行job 4.运行日志 5.查看数据库已经建好了springbatch相关的数据表 1.添加依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/

Flyway自学之路-05(idea添加Flyway Migration Creation 插件)

1.插件下载地址 https://plugins.jetbrains.com/plugin/8597-flyway-migration-creation 2.或者在联网的情况下直接在idea里面搜索Flyway Migration Creation 插件并安装

Flyway自学之路-03(几个可用命令行操作Flyway)

1.命令行: migrate 将架构迁移到最新版本。如果Flyway不存在,它将自动创建架构历史记录表。 Usage > flyway [options] migrate 2.命令行: clean   删除已配置模式中的所有对象(表,视图,过程,触发器等)。 架构将按照schemas属性指定的顺序进行清理。 Usage > flyway [options] clea

Flyway自学之路-02(使用命令行操作Flyway)

1.去官网下载并安装命令行的包 https://flywaydb.org/documentation/commandline/ 2.解压文件,放在自定义目录下 这里我放在D:\software\java\flyway目录下 3.将该路径添加至环境变量path中 4.测试是否安装成功 执行cmd,输入flyway,出现以下界面说明配置成功。 5.简单配置一个建表SQL

Flyway自学之路-01(Flyway简介)

1.1、Flyway是什么 Flyway是一款数据库迁移(migration)工具。简单点说,就是在你部署应用的时候,帮你执行数据库脚本的工具。Flyway支持SQL和Java两种类型的脚本,你可以将脚本打包到应用程序中,在应用程序启动时,由Flyway来管理这些脚本的执行,这些脚本被Flyway称之为migration。 就目前而言,我们部署应用的流程大概是这样的: 开发人员将应用程序打包

scala自学之路-10-函数与方法的区别

区别: 方法与函数的定义语法不同;方法一般定义在类、特质、object中;方法可以共享所在类、特质、object的属性;可以直接调用函数,也可以将其存放到一个变量中,也可以做为参数传递给其他方法或者函数,也可以作为返回值; 练习 可以把函数作为参数传递给一个方法; object FunctionAndMethod { def main(args: Array[String]): Uni

scala自学之路-09-函数

object LearnFunction {def main(args: Array[String]): Unit = {println(fun2(1, 2))println(fun3(1, 2))println(fun4(1, 2))println(fun5(1, 2))println(fun6(1, 2))println(fun7(1, 2))fun8()}//下面这5个方法表示的意思是一样的

scala自学之路-07-循环

for for(i<- 表达式、数组、集合)         scala> for(i<- 1 to 10){println(i)} 1 2 3 4 5 6 7 8 9 10 scala> for(i<- 1 to 10)println(i) 1 2 3 4 5 6 7 8 9 10 scala> fo

scala自学之路-06-表达式

表达式就是一个语句块,包含一个或者多个语句。 特点: (1)表达式是有返回值的; (2)返回值是表达式中的最后一条语句的执行结果。 scala> val a=1 val a: Int = 1 scala> val res=if(a>0) 100 else -100 val res: Int = 100 scala> val res=if(a>0)"success"else"fail"

scala自学之路-05-数据类型与操作符

数据类型 (1)值类型(相当于java中的基本数据类型),值类型是类类型,相当于java中的包装类,没有基本类型与包装类型之分;   (2)引用类型   1.在 scala 中有一个根类型 Any ,他是所有类的父类. 2.scala中一切皆为对象,分为两大类AnyVal(值类型),AnyRef(引用类型),他们都是Any子类. 3.Null 类型是 scalaNull 类型

scala自学之路-04-变量

定义变量 var 变量名=初始化值 var 变量名:数据类型=初始化值 (1)定义变量的时候需要初始化(抽象字段除外) (2)定义变量的时候可以不指定变量的数据类型,系统会根据变量的初始化值推断变量的数据类型; var a=1   一旦确定类型后,则不可改变,比如已经确认a是Int类型,则不可以为其赋值10.9 定义常量 val 常量名=初始化值 val 常量名:数据类型=

scala自学之路-03-搭建scala的开发环境

1.安装idea-的scala的插件   注意:安装完成后一定要重启idea; 2.新建一个普通的maven项目   添加 Scala SDK   如果添加的时候,没有Scala SDK可选。则可以先新建一个scala项目:     通过这种方式即可以添加sdk。 然后即编写一个简单的scala的hello world的文件,直接运行即可。

scala自学之路-02-搭建scala编译环境

下载地址: Download Scala 2 | The Scala Programming Language   下载zip包即可。 注意:安装的前提需要安装JDK1.8 然后开始配置scala环境 1.解压scala-2.13.8.zip 2.将其bin目录添加至windows环境变量的path中;   3.验证是否配置成功 cmd->直

scala自学之路-01-scala简介

官网: The Scala Programming Language 特点: 1.面向对象编程 2.面向函数式编程 3.静态类型语言 ---- 什么是动态类型语言? 变量A的类型需要在运行阶段才可以确定; 什么是静态类型语言? 变量A的类型需要在编译阶段就可以确定; 4.基于JVM(A.scala->A.class(java)-JVM) 为什么要学? (1)速度快

scala自学之路-00-给自己定的大数据学习路线

因为目前公司里面需要对已经接入大数据湖中的数据做处理,就需要学习spark,而spark又是scala编写的,为了进一步理解spark api需要先学习scala。所以为自己制定以下的学习路线: 学习scala基础学习spark基础+api梳理业务流程,形成流程图,梳理出哪块需要spark sql实现,哪块需要进一步编写自定义api实现编写业务代码,测试并上线

scala自学之路-43-隐式转换函数

object ImplicitDemo2 extends App { var a: Int = 10 var b: Double = 10.99 b = 100 b = a //定义一个隐式转换函数,把double转换成int implicit def doubleToInt(x: Double) = x toInt //可以编译通过 a = b a = 90.99

scala自学之路-42-隐式类

//定义一个隐式类 object ImplicitClass { //定义一个隐式类 //隐式类只能定义在类、trait、object内部 //隐式类的构造函数只能带一个非隐式参数 implicit class IntWithTimes(x: Int) { def time[A](f: => A): Unit = { //递归方法需要指明返回类型 def loop(curr

scala自学之路-41-隐式转换

//隐式引用 //默认会给引入三个包 import java.io.File import java.lang._ import scala._ import scala.Predef._ import scala.io.Source object ImplicitDemo extends App { val a: Int = 1 println(a) va

scala自学之路-40-方法的嵌套和多态

object MethodDemo extends App { //方法的嵌套:方法体里面定义其他嵌套 //阶乘 def factorial(x: Int): Int = { def fact(x: Int, accumulator: Int): Int = { if (x <= 1) accumulator else fact(x - 1, x * accumulator

scala自学之路-38-闭包

什么是闭包 闭包是一个函数,函数的返回值依赖于函数外部的一个或者多个变量 object FunDemo1 extends App { var factor = 5 val mul = (x: Int) => x * 5 val mul2 = (x: Int) => x * factor println(mul2(10)) factor = 10 println(mul2(10)

scala自学之路-37-高阶函数

参数是函数返回值是函数参数和返回值都是函数 object HFunctionDemo extends App { //传入的参数是函数 private val array = Array(1, 2, 3) val fun = (x: Int) => x * 2 val res = array.map(fun) println(res.toBuffer) //传入匿名函数 val r

scala自学之路-36-正则表达式

import scala.util.matching.Regex object RegeDemo extends App { //构建一个正则表达式 val pattern1 = "[0-9]+".r val pattern2 = new Regex("[0-9]+") // 如果正则表达式含有斜杠或者引号 可以使用三引号"""...""" val pattern3 = """\s+