![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scala
adream307
这个作者很懒,什么都没留下…
展开
-
[scala]sbt运行指定测试
sbt 运行全测试sbt testsbt运行指定测试sbt "testOnly FunctionsTest -- -t ST_Within"原创 2020-05-17 11:20:46 · 1281 阅读 · 1 评论 -
[linux]手动下载maven包
由于网络问题,自动下载maven的包依赖时经常出错,遇到如下错误:::: ERRORS SERVER ERROR: HTTPS Required url=http://repo1.maven.org/maven2/org/scala-tools/sbinary/sbinary_2.9.0/0.4.0/sbinary_2.9.0-0.4.0.pom新建脚本download.sh#!/bin/bashtarget=$1mv_dir=${HOME}/.m2/repository/${target}原创 2020-05-09 10:24:49 · 847 阅读 · 0 评论 -
[spark]Spark UDT with Codegen UDF
本文介绍自定义一种数据类型Point,并针对Point实现Add操作,并且该Add操作在codegen中实现build.sbtname := "PointUdt"version := "0.1"scalaVersion := "2.12.11"libraryDependencies += "org.apache.spark" %% "spark-core" % "3.0.0-pr...原创 2020-05-06 15:18:38 · 504 阅读 · 0 评论 -
[scala]模式匹配中的类型擦除
在默认情况下,基于JVM的scala在运行时是没有类型信息,在容器类型中,只有Array在运行是保留了类型信息,其它容器不保留类型信息,测试代码如下import scala.reflect._object patternTest { def checkIntList[T: ClassTag](list: List[T]): Boolean = { if (classTag[T]...原创 2020-01-17 14:52:03 · 442 阅读 · 0 评论 -
[scala]访问者模式
访问者模式是一种将算法与对象结构分离的软件设计模式。这种模式的工作方法如下:假设拥有一个由许多对象构成的对象结构,这些对象的类都拥有一个accept方法用来接受访问者对象;访问者是一个接口,它拥有一个visit方法,这个方法对访问到的对象结构中的不同类型做出不同的反应;在对象结构的一次访问过程中,遍历整个对象结构,对每个元素都实施accept方法,在每个元素的accept方法中回调访问者的visi...原创 2020-01-07 16:42:51 · 249 阅读 · 0 评论 -
[scala]antlr4示例
在IJ集成开发环境中新建Scala工程,选择sbt,工程名为AntlrCalculator2.在src/main目录下新建java目录3.在build.sbt中添加antlr依赖name := "AntlrCalculator"version := "0.1"scalaVersion := "2.13.1"libraryDependencies += "org.antlr"...原创 2020-01-06 19:34:43 · 597 阅读 · 0 评论 -
[Scala]Unapply测试
object MyNum { def apply(high: Int, low: Int): Int = high * 10 + low def unapply(arg: Int): Option[(Int, Int)] = { if (arg >= 100) None else Some(arg / 10, arg % 10) }}object Unap...原创 2019-12-31 17:33:59 · 109 阅读 · 0 评论 -
[Spark]调用RDD[InternalRow]的filter方法过滤csv文件
import org.apache.spark.sql.SparkSessionobject SqlExample { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .master("local") .appName("Spark sql ...原创 2019-12-30 10:24:44 · 1097 阅读 · 1 评论 -
[Scala]对特定对象实例的方法重写
scala支持在对象实例化后对对象内的特定方法重写,重写只会影响当前示例,对其它示例没有影响,测试代码如下object OverrideTest { class A { def print(): Unit = { println("in A.print") } } def main(args: Array[String]): Unit = { v...原创 2019-12-28 15:27:40 · 387 阅读 · 0 评论 -
[Spark]直接调用RDD的方式实现SparkSQL的Filter操作
使用SQL实现数据过滤import org.apache.spark.sql.SparkSessionobject SqlExample { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("Spark sql whole stage ...原创 2019-12-27 18:59:58 · 1544 阅读 · 0 评论 -
[Spark]自定义RDD的计算函数
MyRDDTest.scalapackage org.apache.spark.myrdd { import org.apache.spark.{Partition, SparkContext, TaskContext} import scala.reflect.ClassTag import org.apache.spark.rdd._ private[myrdd] cl...原创 2019-12-27 14:43:16 · 902 阅读 · 0 评论 -
[Spark]自定义RDD
scala源程序//MyRDDTest.scalapackage org.apache.spark.myrdd { import org.apache.spark.{Partition, SparkContext, TaskContext} import scala.reflect.ClassTag import org.apache.spark.rdd._ private...原创 2019-12-27 10:20:47 · 438 阅读 · 0 评论 -
[spark]RDD合并
将spark的两个rdd合并成一个rddscala> val rdd1 = sc.parallelize(1 to 10)rdd1: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[0] at parallelize at <console>:24scala> rdd1.collectres0: Arra...原创 2019-12-26 16:25:52 · 3873 阅读 · 0 评论 -
[Java]打印调用堆栈
测试代码class HelloWorld { public static void foo() { System.out.println("Hello, World!"); Thread.dumpStack(); } public static void main(String args[]) { foo(); }...原创 2019-12-24 10:12:54 · 583 阅读 · 0 评论 -
[Scala]apply方法测试
scala中的apply方法,类似c++中对operator()的重载,可以使得Object和Class像函数方法一样调用object ObjFoo { val base: Int = 5 def apply(a: Int) = base + a def apply(a: Int, b: Int) = base * a * b}class ClassFoo { val ...原创 2019-12-23 19:27:10 · 141 阅读 · 0 评论 -
[scala]scala调用方法时可以省略点和圆括号
scala调用类方法时可以省略__点__和__圆括号__,测试代码如下object classTest1 { class A(a: Int) { var a_ = a; def print() = { println(s"a = ${a}") } def plus(a: A) = new A(a_ + a.a_); def +(a:...原创 2019-12-17 20:11:12 · 933 阅读 · 0 评论 -
[cuda]scala调用cuda程序
新建scala工程,选择sbt添加jcuda的引用,build.sbt设置如下:name := "cudaExample2"version := "0.1"scalaVersion := "2.13.1"libraryDependencies += "org.jcuda" % "jcuda" % "10.0.0"编写cuda程序,实现向量加法//nvcc -ptx ...原创 2019-12-16 14:53:10 · 422 阅读 · 0 评论