534 天前 / gongyouliu
点击上方“大数据与人工智能”,“星标或置顶公众号” 第一时间获取好内容 导语 本篇文章为大家带来Scala面试指南,本文会结合数据分析工程师在工作中会用到的知识点和网络上搜集的Scala常用考点,组成一份Scala精选题库,并附上详细的解答,力图为Scala面试者扫清知识盲点,提炼经典考题。 为什么要考察Scala? 1开发需要 最简单和重要的理由是开发需要,大数据分析工程师是需要掌握大数据相关组件的,而很多大数据组件是由Scala开发的-如Spark和Kafka,所以相关的开发,Scala就成为了首选开发语言。
552 天前 / 苏鹭彬
今天我们来看看Scala的循环表达式。 在很多场景中我们需要将同样的操作执行多次,而一般的顺序执行语句只能执行一次,这就需要使用循环结构来完成,大部分编程语言中都提供了三种主要的循环结构(for、while和do...while),Scala也不例外。 如果你是一个Java工程师,相信你可以很轻易的写出循环表达式,且看Java中是如何实现循环的。 while循环的实现如下,当然Java5之后还有增强型for循环,这里不再赘述: while(条件){ //可执行代码 } for循环是这样写的: for (初始化; 条件; 增加/递减) { //可执行代码 } do...while循环是这样写的:...
568 天前 / DuQi_NKU
本文阅读时间大约7分钟。 Hystrix是Netflix开源的限流、熔断降级组件,去年发现Hystrix已经不再更新了,而在github主页上将我引导到了另一个替代项目——resilience4j,这个项目是基于Java 8开发的,并且只使用了vavr库,也就是我们今天要介绍的主角。 Lambda表达式 既然要谈vavr,那么先要谈为什么要使用vavr,vavr是为了增强Java的函数式编程体验的,那么这里先介绍下Java中的函数式编程。
573 天前 / gongyouliu
点击上方“大数据与人工智能”,“星标或置顶公众号” 第一时间获取好内容 本文重点参考文章《Scala vs. Python for Apache Spark》, 链接传送门:https://www.dezyre.com/article/scala-vs-python-for-apache-/213, 在部分内容翻译的基础上融入了笔者的些许理解,有兴趣的同学也可以看看原文。 2015年前后,互联网行业中的“大数据”概念掀起一股热潮。
595 天前 / ScalaCool
在 Java 之后,JVM 平台上出现了一些其他的编程语言,Scala 和 Kotlin 可以算是其中的佼佼者。Scala 已成为大数据领域的明星,Kotlin 在 2017 年 Google IO 大会之后,俨然也成为了安卓平台潜力巨大的官方支持语言。他们都被冠以“更好的Java”而称道,然而它们采用的是两种不同的设计理念。 本文我们会通过对比 Java、Scala、Kotlin 这三门语言各自的发展路线,来认识 Kotlin 的设计哲学。 Java的发展不得不说,Java是当今最成功的编程语言之一。自1996年Java问世,它始终霸占着编程语言生态中很大的一块。
608 天前 / gongyouliu
点击上方“大数据与人工智能”,“星标或置顶公众号” 第一时间获取好内容 导读:作为大数据分析工程师入门的第二节课,我们来学习Scala基础。可以这样说,Scala源于Java,但又高于Java,正所谓青出于蓝而胜于蓝。本篇文章,不会全面铺开Scala所有知识点,而是将大数据分析工程师工作中需要经常使用到的知识点筛选出来,有的放矢的梳理关键知识点,为大数据分析工程师入门做铺路石。 首先,你可能会有疑惑,Scala为什么会如此重要,作者觉得主要有以下三点原因: 1、因为spark 大部分从事大数据的工程师是先了解Spark进而再去选...
608 天前 / ScalaCool
王福强 2019-05-19 今天把福川送的《Kotlin核心编程》扫完了,正好也想借这个机会,顺道聊聊自己对计算机语言的预期和喜好。 首先说说写这本书的作者团队,从书里的言辞和内容中也能看出,这个团队在Java,Scala和Kotlin生态里都有涉猎,应该是从Scala转Kotlin的,所以能够对ADT, Higher-Kinder Functions, Type Theory等理论都能够如数家珍,至于Actor-based Concurrency, 那当然更是今天Scala生态的Akka莫属了。
668 天前 / jrthe42
概览Aloha是一个基于 Scala 实现的分布式的任务调度和管理框架,提供插件式扩展功能,可以用来调度各种类型的任务。Aloha 的典型的应用场景是作为统一的任务管理入口。例如,在数据平台上通常会运行各种类型的应用,如 Spark 任务,Flink 任务,ETL 任务等,统一对这些任务进行管理并及时感知任务状态的变化是很有必要的。 Aloha 的基本实现是基于 Spark的任务调度模块,在 Master 和 Worker 组件的基础上进行了修改,并提供了扩展接口,可以方便地集成各种类型的任务。Master 支持高可用配置及状态恢复,并提供了 REST 接口用于提交任务。
725 天前 / 浪尖
闭包这个词大家都不陌生,尤其是做spark的同学,经常会看到,但是很多人还是对闭包比较懵懂,就像前面说的watermark一样,大家都很熟悉朗朗上口,但是又貌似一头雾水没有理解。 不懂watermark?来吧~ 那么,浪尖今天就说说闭包~ 首先给出浪尖理解的定义吧: 「函数」和「函数内部能访问到的变量」(也叫环境)的总和,就是一个闭包。 按照这个定义呢?下面就应该是一个闭包: var factor = 3 val adder = (i:Int) => i * factor 可能会有同学有疑问:浪尖,这不对啊?我看网上说的闭包构造是: 闭包首先有函数嵌套...
727 天前 / 忍冬
首发于闲话Scala写文章Scala元编程:实现lombok.Data沈达《Scala实用指南》译者,GNU TeXmacs Maintainer20 人赞了该文章如果你读完了《Scala元编程:伊甸园初窥》,理论上你已经具备实现lombok.Data的能力了。 所以,我建议你不要阅读本文,直接自己尝试。 定义 lombok.Data 的 Scala 版@dataclass A {var x: Int = _var y: String = _}我们希望通过@data这个注释,自动生成如下代码: class A {var x: Int = _var y: String = _def getX(): Int = xdef setX(paramX: Int): Unit = { x = paramX }def getY(): Int = xdef setY(paramY: String): Unit =...
745 天前 / ScalaCool
最近阅读一些关于 Kotlin 类型系统方面的书,发现 Kotlin 的类型系统针对 null 有着独特的设计哲学。在 Java 或者其它编程语言中,经常会出现 NullPointerException,而导致此异常的重要原因是因为你可以写 String s = null 这样的代码。其实可以认为这是 Java 等语言类型系统设计的一个缺陷,它们允许 null 可以作为任何类型的值! 但是在 Kotlin 中,如果你声明 val s: String = null,那么编译器会给你一个 error,因为在 Kotlin 中,你不允许把一个 null 值赋给一个普通的类型。
782 天前 / ScalaCool
Traits特质,一个我们既熟悉又陌生的特性。熟悉是因为你会发现它和你平时在Java中使用的interface接口有着很大的相似之处,而陌生又是因为Traits的新玩法会让你打破对原有接口的认知,进入一个更具有挑战性,玩法更高级的领域。所以,在一开始,我们可以对Traits有一个初步的认识:它是一个加强版的interface。之后,随着你对它了解的深入,你就会发现相比Java接口,Traits跟类更为相似。再之后,你或许会觉察到,Traits在尝试着将抽象更好地融为了一个整体。
804 天前 / MilhouseVanHouten
问题从 Zipkin Zipkin 是 twitter 用的分布式系统 tracing 收集服务 https://zipkin.io/ 读取 Traces 信息然后计算 pXX pecentile XX https://en.wikipedia.org/wiki/Percentile 数据Scala看似很简单, 拿所有traces算就好了啊比如这样的过...
859 天前 / 忍冬
Scala 2.12.x 比 2.11.x 的编译速度快了不少,但是实测发现Scala 2.12.x变慢了。sbt clean 'project benchmark' 'set scalaVersion := "2.11.12"' 'jmh:run -f 1 -i 20 -wi 20 -t 1 Richards'[info] Benchmark M...
861 天前 / ScalaCool
在上篇 Java 到 Scala 系列中,我想你或多或少在语言特性上对object有了一定的掌握,在了解完它酷酷的语言特性——让静态回归常态并能简单运用其衍生出的方法后,我今天就来谈谈在现实应用方面自己对它的理解,不知道是不是也会给你一种耳目一新的感觉,毕竟「单例对象」作为一种天然的语言特性,华而不实并不是我们想看到的。