SCALA - 技术教程文章

scala多线程【代码】

object Test {def main(args: Array[String]) {//创建线程池val threadPool:ExecutorService=Executors.newFixedThreadPool(5)try {//提交5个线程for(i <- 1 to 5){//threadPool.submit(new ThreadDemo("thread"+i))threadPool.execute(new ThreadDemo("thread"+i))}}finally {threadPool.shutdown()}}//定义线程类,每打印一次睡眠100毫秒class ThreadDemo(threadName:String) extends Runnable{override def run(){for(i <- 1 to...

[大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world【代码】【图】

[大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world原文链接:http://www.cnblogs.com/blog5277/p/8615984.html原文作者:博客园--曲高终和寡 点击下面菜单查看大数据入门全部教程大数据从入门到放弃网址:http://www.cnblogs.com/blog5277/category/1179528.html**********************************分割***********************************其实按理说,Java项目是完全可以开发spark项目的...

Scala的映射和元组操作【代码】

映射和元组操作构造Map // 构造一个不可变的MAP映射,类似与key -> value这样的组合叫做对偶val score = Map("Jack" -> 12, "Bob" -> 20)// 也可以这种创建一个Map映射val score1 = Map(("Jack", 12), ("Bob", 20))// 根据key获取value,类似java中的map.get(key)若是获取一个不存在的key则会报错而不是nullprintln(score("Jack"))// 获取元素不存在给出无元素提醒val flag = if (score.contains("haha")) score.get("haha") el...

Scala IDE for Eclipse的下载、安装和WordCount的初步使用【图】

我们知道,对于开发而言,IDE是有很多个选择的版本。如我们大部分人经常用的是如下。Eclipse *版本Eclipse *下载   而我们知道,对于spark的scala开发啊,有为其专门设计的eclipse,Scala IDE for Eclipse 1、Scala IDE for Eclipse的下载 http://scala-ide.org/ 2、Scala IDE for Eclipse的安装进行解压 3、Scala IDE for Eclipse的WordCount的初步使用 在这之前,先在本地里安装好java和scala默认竟然变成了scala 2.11...

Scala学习笔记7 (actor)【代码】【图】

7. actorhttp://www.scala-lang.org/docu/files/actors-api/actors_api_guide.html# Scala中处理并发,有很多选择:l actor消息模型,类似Erlang,首选,Lift和akka也实现了自己的actor模型。l Thread、Runnablel java.util.concurenntl 3rd并发框架如Netty,Mina7.1. actor模型Java内置线程模型Scala actor模型“共享数据-锁”模型(share data and lock)share nothing每个object有一个monitor,监视多线程对共享数据的...

使用shell脚本运行scala【代码】

使用shell脚本运行scala#!/bin/sh exec scala "$0" "$@" !# object HelloWorld extends App{ println("Hello, world!") println(args.toBuffer) } HelloWorld.main(args)运行结果[root@hadoop01 ~]# sh script.sh 测试 Hello, world! ArrayBuffer(测试)原文:http://my.oschina.net/cloudcoder/blog/485100

Scala 深入浅出实战经典 第47讲:Scala多重界定代码实战及其在Spark中的应用【代码】

王家林亲授《DT大数据梦工厂》大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2 技术爱好者尤其是大数据爱好者 可以加DT大数据梦工厂的qq群DT大数据梦工厂① :462923555 DT大数据梦工厂②:437123764 DT大数据梦工厂③ :418110145微信公众账号: DT_Spark王家林老师微...

SMACSS——Scalable & Modular Architecture for CSS

可扩展的模块化CSS结构:Basic(基础):各种单一选择器,规定那些在整个项目里都统一的元素,比如统一各种元素的浏览器默认样式;Layout(布局):将页面分区块,使一至多个模块集合,比如头部、页脚、搜索框、主体;Module(模块):可重用的部件、组件,如边栏、弹出框等;State(状态):针对同样的元素,如模板或布局,在不同的环境下,如不同的浏览器、不同的分辨率下该如何呈现;Theme(主题):主题,类似于State,但范围更广。 原文...

Scala的几种高阶函数【代码】【图】

Scala中是函数式编程和Java面向接口编程有很大不同,这些函数在使用方式上并不太难。高阶函数,也就是能够接收另外一个函数作为参数的函数。假如现在有一个需要是将List集合中的每个元素变为原来的两倍,现在来对比Java方式实现和Scala方式实现区别Java方式实现,先将集合中的每个元素遍历出来,然后再乘以2,塞到另外一个集合中ArrayList<Integer> list1 = new ArrayList<Integer>(3, 5, 7);ArrayList<Integer> list2 = new Array...

如何获取 Kafka 的消费者详情 —— 从 Scala 到 Java 的切换【代码】【图】

前文摘要 在前面的文章《Kafka的Lag计算误区及正确实现》中介绍了如何计算消费者的消费滞后量(Lag),并且讲解了如何调用Kafka的kafka.admin.ConsumerGroupCommand文件中的KafkaConsumerGroupService来发送OffsetRequest和OffsetFetchRequest两个请求,进而通过两个请求结果之间的差值来获得结果。不过如果你不想修改kafka-core的代码并重新编译的话,这种实现方式无法成功,所以本文的主要目的就是通过调用更底层的API来实现不修改...

scala元组

映射是二元的元组,元组是不同类型的值得聚集元组 ()val g=(1,1.2,‘A‘)val h=g._1 或者 val h=g空格_1元组把多个值捆绑在一起,以便scala可以一起处理到#zip 把集合结合val one=Array(‘a‘,‘b‘,‘c‘)val tow=Array(1,2,3)one.zip(two) one zip two //二维数组val four=one.zip(two).toMap val four=one zip two toMap //映射 原文:http://www.cnblogs.com/fs-xuehua/p/6193188.html

robot framework学习笔记之三—Scalar变量【图】

一、变量赋值 1)Set赋值 通常使用Set Variable关键字对变量进行赋值,其他Set相关的带Variable的关键字也可以进行赋值 赋值的时候,变量后面写不写『=』都可以,如下: 如果${vara}的值和abcd字符串相等,就赋值321给${varc};如果不相等则赋值678 2)Get赋值 主要用于返回值上,包括系统关键字的返回值和用户关键字的返回值,如下: 第一个例子是获取变量${vara}的长度,第二个例子是获取时间二、变...

Scala模式匹配常用【代码】

今天在工作中遇到的几个小问题,总结一下:1.因为业务需要调用PHP的接口,获取到的返回体需要做一段逻辑处理,然而某个字段接收到的参数是io.serializable类型,字段的类型不是预期的string类型,当时有点懵逼,因为是用Scala的match case做模式匹配,也没多想,幸亏同事提示一番,才想起String其实实现了serializable接口,所以尽管返回的是io.serializable类型,但是也可以用string来接收;2.调用PHP接口,返回体用JsonObject接受...

Scala开发入门指南【图】

作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs一、下载Scala当前Scala的最新版本为2.10.2版,Windows有两种发布包:1)Windows (zip archive) scala-2.10.2.zip2)Windows (msi) scala-2.10.2.msi此外还有一个工具:Scala tool support (zip) scala-tool-support-2.10.2.zip 但是Scala最方便的安装方式是通过IDE安装,目前支持Eclipse、NetBeans和Intellij...

Scala学习笔记【代码】【图】

scala笔记scala中object文件编译后对应java中的静态成员,非静态成员放在class文件中1、变量scala数据类型char的值var c1:Char = ‘a‘ + 1 //类型不匹配 var c2:Char = 97 + 1 //类型不匹配 var c3:Char = 98 //对 var c4:Char = 999 //超范围 //分析: //1.当把一个计算的结果复制给一个变量,编译器会进行类型转换和判断 //2.当把一个字面量赋给变量,编译器只会进行范围的判断 //3.(byte,short) 和 char之间不会自动转换 val...

Scala集合(二)【代码】【图】

将函数映射到集合map方法val names = List("Peter" , "Paul", "Mary")names.map(_.toUpperCase) // 等同于 for(n <- names) yield n.toUpperCase flatMap方法,如果函数产出一个集合,又想将所有值串联在一起def ulcase(s:String) = Vector(s.toUpperCase(), s.toLowerCase())names.map(ulcase)得到List(Vector("PETER","peter"), Vector("PAUL","paul"), Vector("MARY","mary"))names.flatMap(ulcase)得到List("PETER","peter","P...

code-server scala error: object apache is not a member of package org【图】

原因是scala缺少包,需要把spark或对应的包放入scala目录下的lib,然后重启主机,在terminal输入reboot即可。如果不重启主机,则在交互式编程中可以成功import。但是直接在控制台输入scala *.scala则会显示 not found或者形如标题的错误。 原文:https://www.cnblogs.com/MiraculousB/p/14268011.html

scala范函编程是怎样被选中的

现在计算机技术发展现象是:无论硬件技术如何发展都满足不了软件需求;无论处理器变得能跑多快,都无法满足软件对计算能力的需要。按照摩尔定律(Moore‘s Law)处理器(CPU)每平方面积上包含的半导体晶体管数量每18个月将会增加一倍。发展到现在,所有CPU厂商都再也无法按照摩尔定律在一定面积上成倍增加半导体了,大家也都只能朝着增加CPU内核数量上努力了。多核CPU已然成为现代计算机技术发展趋势。现代软件对计算能力的需求暴增...

Scala 函数入门之默认参数和带名参数【图】

Scala 默认参数在Scala中,有时我们调用某些函数时,不希望给出参数的具体值,而希望使用参数自身默认的值,此时就定义在定义函数时使用默认参数。 def sayHello(firstName: String, middleName: String = "William", lastName: String = "Croft") = firstName + " " + middleName + " " + lastName 如果给出的参数不够,则会从作往右依次应用参数 Scala 与 Java实现默认参数的区别Java:public void sayHello(String name, int a...

学习Scala:Scala中的字段和方法

本文基于class字节码来分析在Scala语言中, 一个类中的字段和方法是如何实现的, 并且对比和java实现方式的区别。首先看一段简单的源码:class FieldMethodTest{private var i = 0private val j = 0 def add() : Int = i + j}这个类很简单, 其中有两个字段和一个方法:i字段被声明为var, 是可变的,类似于java中的普通变量;j字段被声明为val, 是不可变的, 类似于java中的final , 一旦被初始化, 就不能被改变;add方法没有...

Spark框架:Win10系统下搭建Scala开发环境【代码】【图】

一、Scala环境基础 Scala对Java相关的类,接口进行了包装,所以依赖Jvm环境。Jdk 1.8 scala 依赖 scala 2.11 安装版本 idea 2017.3 开发工具二、配置Scala解压版1)注意路径无空格和中文2)配置环境变量添加到path目录%SCALA_HOME%\bin3)检测是否安装配置成功,没错就是这么简单。三、配置Idea开发1)插件安装,就是点点点2)新建两个maven项目在scala-base-hello 的 main 目录下创建scala文件夹,如下标记。3)添加scala框架...

scala基础教程之-数据类型【图】

一、基本的数据类型 数据类型 描述 Byte8位有符号值。范围从-128到127Short16位有符号值。范围从-32768至32767Int32?位有符号值。范围从?-2147483648 to 2147483647Long64位有符号值。 从-9223372036854775808到9223372036854775807Float32位IEEE754单精度浮点数Double64位IEEE754双精度浮点数Char16位无符号Unicode字符。范围由U+0000至U+FFFFString字符序列Boolean无论是字面true或false字面Unit对应于没有值Null空或空引用Nothi...

scala中隐式转换之隐式值和隐式视图【代码】

/*** Created by root* Description : 隐式值和隐式视图*/ object ImplicitTest {def main(args: Array[String]): Unit = {// 隐式值implicit val str = "hello"def fun(implicit s: String) = println(s)fun // 调用fun函数,编译器发现参数缺省,直接去作用域内查找隐式值,保证隐式值只有一个// 隐式视图:隐式转换为目标类型:把一种类型自动转换到另一种类型implicit def intToString(a : Int) = a.toStringimplicit def intT...

在eclipse上安装Scala插件【图】

1、官网下载地址http://scala-ide.org/download/current.html  目前最新的版本  http://download.scala-ide.org/sdk/lithium/e46/scala212/stable/site 在Eclipse中选择Help->Install new Software 添加插件下载链接安装后,会提示重新启动Eclipse 原文:http://www.cnblogs.com/sunrise88/p/7130346.html

Scala--reduceLeft【代码】

reduceLeft神语法val a = Array(20, 12, 6, 15, 2, 9)12345678scala> a.reduceLeft(_ + _) // 数组求和res0: Int = 64scala> a.reduceLeft(_ * _) // 数组求乘积res1: Int = 388800scala> a.reduceLeft(_ min _) // 数组求最小值res2: Int = 2scala> a.reduceLeft(_ max _) // 数组求最大值res3: Int = 20使用函数自定义函数实现数组求最大值功能1234scala> val a = Array(20, 12, 6, 15, 2, 9)scala> val f = (x:Int, y:Int) => ...

tensorflow学习之(七)使用tensorboard 展示神经网络的graph/histogram/scalar【代码】【图】

# 创建神经网络, 使用tensorboard 展示graph/histogram/scalarimport tensorflow as tf import numpy as np import matplotlib.pyplot as plt # 若没有 pip install matplotlib# 定义一个神经层def add_layer(inputs, in_size, out_size,n_layer, activation_function=None):#add one more layer and return the output of this layerlayer_name="layer%s"%n_layerwith tf.name_scope(layer_name):with tf.name_scope(‘Weights‘...

11. Scala数据结构(下)-集合操作【代码】【图】

11.1 集合元素的映射-map映射操作   11.1.1 看一个实际需求      要求:请将List(3,5,8)中所有的元素都*2,将其结果放到一个新的集合中返回,即返回一个新的List(6,10,16),请编写程序实现  11.1.2 map映射操作        11.1.3 使用传统方法      -案例演示object boke_demo01 {def main(args: Array[String]): Unit = {/*请将List(3,5,8) 中的所有元素都 * 2 ,将其结果放到一个新的集合中返回,即返回一...

scala 学习笔记(04) OOP(中)【代码】

一、trait 不仅仅只是接口!scala是一个非常有想法的语言,从接口的设计上就可以发现它的与众不同。scala中与java的接口最接近的概念是trait,见下面的代码:package yjmyzzobject App {def main(args: Array[String]) {val bird = Bird("pigeon")bird.flyprintln(bird.isInstanceOf[Bird]) //trueprintln(bird.isInstanceOf[Flyable]) //trueprintln(bird.toString) //this is a Bird:pigeonbird.test //hello} }/*** 定义一个"接...

Scala中隐式类代码实战详解之Scala学习笔记-53

package com.leegh.implicitsimport java.io.Fileimport scala.io.Source/** * @author Guohui Li */object Context_Helper { implicit class FileEnhance(file: File) { def read = Source.fromFile(file.getPath).mkString } implicit class Op(x: Int) { def add(second: Int) = x + second }}object Implicits_Class { def main(args: Array[String]): Unit = { import Context_Helper._ println(1.add(2)) ...

Scala---Import子句详解【图】

语法:Import ::= ?import? ImportExpr {?,? ImportExpr}ImportExpr ::= StableId ?.? (id | ?_? | ImportSelectors)ImportSelectors ::= ?{? { ImportSelector ?,?} (ImportSelector | ?_?) ?}?ImportSelector ::= id [?=>? id | ?=>? ?_?]import子句形式为import p.I,p是一个稳定标识符(§3.1),I是一个import表达式。import表达式确定了p的成员中一些名称的集合,使这些名称不加限定即可用。最普通的import表达式的形式是一个im...