SCALA - 技术教程文章

Scala可变集合ListBuffer添加数据操作【代码】

object ListDemo {def main(args: Array[String]): Unit = {//ListBufferval listBuffer = ListBuffer(1,2,3)val listBuffer1 = ListBuffer(88,99)//添加元素,可变集合,list本身发生变化,而不是返回新的listlistBuffer += 4listBuffer.append(5,6)//添加整个集合(扁平)listBuffer ++= listBuffer1//++=的展开写法,需要接收返回值,也是ListBufferval listBuffer2 = listBuffer ++ listBuffer1println(listBuffer)println(listB...

一天一段scala代码(十四)

一天一段scala代码(十四) 为了更好的驾驭spark,最近在学习scala语言特性,主要看《快学scala》,顺便把一些自己认为有用的代码记下来。package examplesobject Example14 extends App{var ch='9' var sign= ch match{case '+' => 1case '-' => -1case _ if Character.isDigit(ch) => Character.digit(ch,10) //守卫模式,加上条件case _ => 0 } println(sign)ch='8'sign= ch match{case c if Character.isDigit(c) =>...

探索Scala(4)-- Case Classes

本文简单探讨一下Scala语言Case Class的实现机制Case ClassCase Class是Scala语言模式匹配功能的基础。如果定义类的时候加上case关键字,那么它就变成了Case Class,比如下面这个简单的类CC:case class CC(x: Int, y: Int)那么加上case关键字对于一个类来说,到底意味着什么呢?下文将进行详细的解释。单例对象编译CC,会产生两个class:CC.class和CC$.class。这说明,Scala会给case类自动添加一个单例对象。下面是反编译CC$.clas...

spark scala mysql 语法【代码】

https://spark.apache.org/docs/1.5.1/api/java/org/apache/spark/sql/DataFrame.htmlpeople.filter("age > 30").join(department, people("deptId") === department("id")).groupBy(department("name"), "gender").agg(avg(people("salary")), max(people("age")))原文:http://www.cnblogs.com/dataclimber/p/5166915.html

快学scala-第七章 包和引入【代码】

知识点:1. Scala、Java、C++的包的目的都是为了管理大型程序中的名称。与对象或类的定义不同,同一个包可以定义在多个文件当中。或者在同一个文件中,为多个包贡献内容。2. Scala的包和其他作用域一样的支持嵌套,可以访问上层作用域中的名称。Scala会遇到默认引入包中的类和自定义包中的类的冲突问题,Java中不会出现这样的问题,包名总是绝对的,从包层级的最顶端开始,但是在Scala中,包名是相对的,就像内部类的名称一样。任何...

scala-创建泛型数组(T: Manifest)【代码】

def arrayT[T: Manifest](ary: T*): Array[T] = {//接受多个参数val arys = new Array[T](ary.length) //初始化一个数组for (item <- 0 until ary.length)arys(item) = ary(item)arys }arrayT(1, 2, 3) 原文:https://www.cnblogs.com/zzq-include/p/8626721.html

JAVA, SCALA, HADOOP, SPARK里的JAVA_HOME和环境变量设置

/etc/profile里添加的内容: export JAVA_HOME=/jdk export HADOOP_HOME=/hadoop export SCALA_HOME=/scala export SPARK_HOME=/spark export PATH=$PATH:$JAVA_HOME/bin export PATH=$PATH:$SPARK_HOME/bin export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$SCALA_HOME/bin export PATH=$PATH:$SPARK_HOME/sbin export CLASSPATH=.:$JAVA_HOME/lib /jdk为jdk的安装目录,/hadoop为hadoop的安装目录,/scala为scala的安装...

Hadoop 组件scala,spark部署【代码】

1.安装Scala #解压改名 [root@master home]# tar -zxvf scala-2.10.4.tgz -C /app/ [root@master app]# mv scala-2.10.4/ scala#配置Scala环境变量 vi /etc/profile export SCALA_HOME=/usr/local/software/scala export PATH=$PATH:$SCALA_HOME/bin#输入 scala,进入 shell 界面则表明安装成功 [root@master app]# scala Welcome to Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_79). Type in expressi...

java、hadoop、scala数据类型的比较【代码】

java hadoop scala注意:java中有8种基本数据类型,三中引用数据类型(数组、类和接口)scala中有7如下7种数值类型,其中Double(无包装类型)和一个Boolean类型,和java不同,scala不区分基本类型和引用类型,所以这些类型都是对象hdaoop常用的数据类型有8种,当然它也可以自定义数据类型。 java 字节数 hadoop scala byte 1 ByteWritable Byte short 2 ...

阿里P7整理总结Linux基础+负载均衡LVS+Scala+Python系列,共4.8G【图】

前言 Linux基础+负载均衡LVS+Scala+Python编程语言专题系列,这是通往大数据的必经之路,大牛带你由浅入深的沉稳扎根基础。 今天给大家分享的是Linux基础+负载均衡LVS+Scala+Python这四大部分的学习路线和内容,希望大家能够喜欢!!! Linux基础 学习路线00-资料 01-安装VMWare workstation 02-Linux系统安装步骤 03-配置虚拟机的网络服务 04-基于虚拟机的快照克隆多台虚拟机的方法 05-xhell、xftp工具 06-linux内外部命令的判断...

1.Scala入门【图】

Scala: 一门多范式编程语言 线上平台 一.Scala特性面向对象 函数式编程 静态类型 可扩展语言类型二.Scala语言入门 1.数据类型数据类型 描述Int 32位有符号补码整数Float 32位 IEEE754单精度浮点数Double 32位 IEEE754双精度浮点数String 字符序列Boolean True/FalseUnit 同java void :无值,用在不返回任何结果的类型2.常量与变量 常量定义方法 val 常量名:数据类型=内容 val 常量名=内容有声明类型定义无声明类型定义变量定义方法 ...

2021年大数据常用语言Scala(三十二):scala高级用法 样例类【代码】

目录 样例类 定义样例类 样例类方法 样例对象样例类 样例类是一种特殊类,它可以用来快速定义一个用于保存数据的类(类似于Java POJO类),而且它会自动生成apply方法,允许我们快速地创建样例类实例对象。后面,在并发编程和spark、flink这些框架也都会经常使用它。 定义样例类 语法结构: case class 样例类名(成员变量名1:类型1, 成员变量名2:类型2, 成员变量名3:类型3)[{类体}] 示例1: // 定义一个样例类 // 样例类有两个成...

Scala:用于Java的轻量级函数式编程【图】

Scala为Java开发提供了轻量级的代码选项,但是学习过程可能会很艰难。了解有关Scala的知识以及是否值得采用。 基于Java的语言通常涉及冗长的语法和特定于领域的语言,用于测试,解析和数值计算过程。这些事情可能是开发人员的祸根,因为成堆的重复代码需要开发人员花费更多的时间进行梳理才能发现错误。 作为一种通用的编程语言,Scala可以通过结合面向对象的样式和功能样式来帮助减轻这些问题。为了减轻语法复杂性,Scala还将命...

scala连接Mysql数据库【代码】

1.功能简述:通过scala代码对Mysql数据库进行JDBC连接 2.源代码import java.sql.{Connection, DriverManager, ResultSet}object Mysql {//定义驱动,数据库地址,名称,密码private val driver="com.mysql.cj.jdbc.Driver" //根据使用的jar包版本进行更改,我用的为高版本private val url="jdbc:mysql://ip:3306/databasename?serverTimezone=UTC" //ip为数据库所在ip,若为本机数据库则是localhost;databasename为要链接的数据库名p...

SQL----Scalar 函数【代码】

UCASE() 函数 UCASE 函数把字段的值转换为大写。 SQL UCASE() 语法 SELECT UCASE(column_name) FROM table_nameSQL UCASE() 实例 我们拥有下面这个 "Persons" 表:IdLastNameFirstNameAddressCity1 Adams John Oxford Street London2 Bush George Fifth Avenue New York3 Carter Thomas Changan Street Beijing现在,我们希望选取 "LastName" 和 "FirstName" 列的内容,然后把 "LastName" 列转换为大写。 我们使用如下 SQL 语句: ...

java – scala-android.jar中有什么?【代码】

我一直在尝试使用Scala开发Android应用程序. 我已经到了可以让应用程序编译的地步,但是没有帮助函数,例如:button.setOnClickListener( () => {text.setText("test") })(我在说那里的关闭) 我看到很多对scala-android.jar的引用,并且在我的项目中有这个文件,但我不确定它是做什么的,或者如何使用它.我觉得它有这些辅助转换功能,但我不确定.在文件上运行jar -tvf scala-android.jar给我这个:401 Sun Jun 06 10:06:02 MDT 2010 scal...

Linux下的ssh、scala、spark配置【代码】

注:笔记旨在记录,配置方式每个人多少有点不同,但大同小异,以下是个人爱好的配置方式.目录一、配置jdk二、配置ssh三、配置hadoop四、配置scala五、配置spark平台:win10下的ubuntu虚拟机内所用到的文件: hadoop-2.7.3.tar jdk-11.0.7_linux-x64_bin.tar.gz scala-2.11.12.zip spark-2.4.5-bin-hadoop2.7_Working_Config.zip 下载请点这里 :s81k预先步骤: 将上述文件下载并拷贝到虚拟机共享目录下(mnt/hgfs/共享文件夹名字)...

scala在Java中调用scala方法

例如在scala中的oject写个方法返回一个字符串. 该方法在java代码中使用.?好处: scala支持多行字符, 以及字符串插值Scala和Java方法的相互调用https://blog.csdn.net/u010398771/article/details/78885009

java-NoSuchMethodError:scala.Predef $.$conforms()Lscala / Predef $less $colon $less【代码】

我已经看到了许多与此错误相关的答案,但是所有答案都重定向到了scala版本等.但是我认为我的情况有所不同. 我有一个使用2.10版设置的远程Spark主工作者集群.我可以通过列出所有工作节点的http://master-ip:8080进行验证 在我的应用程序中,我尝试使用Java 7代码创建SparkConf.以下是代码sparkConf = new SparkConf(true).set("spark.cassandra.connection.host", "localhost").set("spark.cassandra.auth.username", "username").set...

SQL 函数:Aggregate、Scalar函数介绍

SQL 拥有很多可用于计数和计算的内建函数。SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。 有用的 Aggregate 函数:AVG() - 返回平均值 COUNT() - 返回行数 FIRST() - 返回第一个记录的值 LAST() - 返回最后一个记录的值 MAX() - 返回最大值 MIN() - 返回最小值 SUM() - 返回总和SQL Scalar 函数 SQL Scalar 函数基于输入值,返回一个单一的值。 有用的 Scalar 函数:UCASE() - 将某个字段转换为大...

如何在scala中获取java.lang.Enum类?【代码】

我是Scala的新手,我正在将一些Java代码转换为使用Jackson库来处理JSON序列化的Scala.我在Jackson SimpleModule实现中遇到了问题. 在Java中,我会这样做:addSerializer(Enum.class, new LowerEnumSerializer());我认为这就像在Scala中这样做一样容易:addSerializer(classOf[Enum], new LowerEnumSerializer())但是,我的编译器抱怨:scala: class Enum takes type parameters addSerializer(classOf[Enum], new LowerEnumSerializer...

Scala的函数式编程【代码】【图】

Scala的函数式编程? Scala的函数式编程的特点 ?? - 高阶函数?? - 闭包?? - 模式匹配 可参考:http://blog.51cto.com/14048416/2337136?? - 单一赋值?? - 延迟计算?? - 类型推导?? - 尾部调用优化?? - 隐式转化??这篇博文重点介绍:高阶函数、闭包、隐式转化。? 1. 高阶函数 ?? 高阶函数主要有两种:将一个函数当做另外一个函数的参数和返回值是函数的函数。高阶函数的定义: object Test01 { def main(args: Array[String]): Unit...

Scala编程中常见错误:Error:(28, 21) value foreach is not a member of java.util.List[String]

问题展示 在 Scala 编程中经常会使用 Java 的集合类型,但是使用中会出现如下错误: java.util.List[String]Error:(28, 21) value foreach is not a member of java.util.List[String]for(line <- lines){2.java.util.Set[String]Error:(24, 29) value foreach is not a member of java.util.Set[String]for (key <- reducedList.keySet) {^3.java.util.ArrayList[Object]Error:(21, 22) value filter is not a member of java.uti...

IDEA上使用Scala编程方法【代码】【图】

一、获取IDEA 很简单直接在官网上下载:https://www.jetbrains.com/idea/,大家可以下载社区版,学生可以认证获取正版,也可自行破解。下载完按照步骤一步一步来就可安装成功。 二、获取Scala的JDK 这个也是直接去官网上下载:https://www.scala-lang.org/选择第二个msi已经编译好的文件,但是不知道为啥我的电脑只能装2.11版本的,大家可自行选择版本。 下载完双击程序一步一步来就可完成JDK的安装。 三、配置JDK环境 1.首先进入控...

从并发角度看Java v Scala

我现在正在开始我的最后一年项目.我将从java和scala的角度研究并发方法.从Java并发模块出来后,我可以看到人们为什么说共享状态线程方法难以推理.由于java线程运行的非确定性方式,您需要担心关键部分,冒着竞争条件和死锁等风险.在1.5中,这种推理得到了一些清晰度,但仍然非常清晰. 在第一个视图中,scala似乎通过actors类删除了这种复杂的推理.这使程序员能够从更顺序的角度开发并发系统,并且更容易概念化.但是,对于这种积极的一面,我...

Scala-单词计数程序、并行计算,文件IO【图】

hadoop和strom都有介绍过怎么进行单词计数,这里使用Scala来实现个简易的单词计数程序,在这之前补充几个常用方法 1、排序 排序在前面有介绍过,这里是因为单词计数用到了排序就带过一下scala> val lst = List(2,3,1,5,7,6,4,9,8) lst: List[Int] = List(2, 3, 1, 5, 7, 6, 4, 9, 8)scala> val lst2 = lst.sorted lst2: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9)scala> lst res0: List[Int] = List(2, 3, 1, 5, 7, 6, 4, 9, 8)...

Scala(或Java)对HBase访问进行烫洗的替代方法

有人可以推荐一个好的解决方案(框架)来从Scala(或Java)应用程序访问Hadoop集群上的HBase吗? 到现在为止,我正朝scalding方向前进.我获得的原型允许我将scalding库与Maven相结合,并将’scilding job JAR与’library’代码包分开.这反过来又允许我从外部集群运行基于scalding的Hadoop作业,每个作业的开销最小(‘库’代码只在更改时才会发布到集群’分布式缓存(很少需要),因此我可以快速加载作业代码) . 现在我实际上开始玩HBase本身,...

相当于Scala Promise的C#【代码】

在scala中有Promises和Future.有了Promise,我可以控制Future的完成时间,即val p = Promise[Int]() val fut: Future[Int] = p.future // I already have a running Future here// here I can do whatever I want and when I decide Future should complete, I can simply say p success 7 // and fut is now completed with value 7如何使用C#Task API达到类似的结果?我在文档中找不到任何等效的内容. 我想在测试中使用它,模拟对象...

Scala 基础(十):Scala 函数式编程(二)基础(二)过程、惰性函数、异常【代码】【图】

1 过程 将函数的返回类型为Unit的函数称之为过程(procedure),如果明确函数没有返回值,那么等号可以省略 注意事项和细节说明 1)注意区分: 如果函数声明时没有返回值类型,但是有 = 号,可以进行类型推断最后一行代码。这时这个函数实际是有返回值的,该函数并不是过程。 2)开发工具的自动代码补全功能,虽然会自动加上Unit,但是考虑到Scala语言的简单,灵活,最好不加. 2 惰性函数 惰性计算(尽可能延迟表达式求值)是许多函...

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.wrapRefArray([Ljava/【图】

我是在用akka框架做简单的一个聊天,然而出师不利,刚开始学就遇到这个问题遇事不决问百度,百度给出的结果是spark中scala版本和你使用的scala的版本不一致所导致的错误我用的是akka,转换过来就是我的scala版本和pom中scala版本不一致,因为编译是用的你的配置的scala版本,而运行是pom中scala的我的scala是2.3.8而pom中是    明显不合,尝试提升scala版本,反而报了更多错误彳亍那就改本机的scala版本吧,哦,不对,应该...