Spark 中用 Scala 和 java 开发有什么区别

Spark 中用 Scala 和 java 开发有什么区别,第1张

语言不同:Scala 是一门函数式语言,Java是面向对象语言,二者在语言特点上差异特别大。但是scala也是运行在java虚拟机上,两者可以方便的互相调用。

Spark作为一个数据统计分析的工具,它是偏向于函数式处理的思想,因此在spark应用开发时,天然与scala亲近,所以用scala写spark十分的简洁明了,用java代码100行写出来的spark程序,可能用scala几行就搞定了。

Java写spark则是java出生的开发人员快速使用spark的最佳选择。另外,Java 8之后,也添加了一些函数式语言得语法,这使得Java写spark简洁不少。

scala中的List不是java的List,他们并没有任何的继承关系,你需要把Scala的List转换成Java的ListimportscalacollectionconvertwrapAsJavabufferAsJavaListvals:javautilList[Int]=bufferAsJavaList(List(1,2,3)toBuffer)但是根据你

怎样将java对象直接赋值给scala对象

Java创建对象并赋值,示例如下

Interger

i

=

new

Interger(1);

String

s

=

“已经被创建了";

创建对象可以指定构造函数里面的初始化变量,也可以像string对象一样,直接用双引号生成对象,并且是不可以改变的。

import javaioBufferedReader;

import javaioDataInputStream;

import javaioDataOutputStream;

import javaioIOException;

import javaioInputStreamReader;

import javanetSocket;

public class Client {

public static final String IP_ADDR = "localhost";//服务器地址

public static final int PORT = 12345;//服务器端口号

public static void main(String[] args) {

Systemoutprintln("客户端启动");

Systemoutprintln("当接收到服务器端字符为 \"OK\" 的时候, 客户端将终止\n");

while (true) {

Socket socket = null;

try {

//创建一个流套接字并将其连接到指定主机上的指定端口号

socket = new Socket(IP_ADDR, PORT);

//读取服务器端数据

DataInputStream input = new DataInputStream(socketgetInputStream());

//向服务器端发送数据

DataOutputStream out = new DataOutputStream(socketgetOutputStream());

Systemoutprint("请输入: \t");

String str = new BufferedReader(new InputStreamReader(Systemin))readLine();

outwriteUTF(str);

String ret = inputreadUTF();

Systemoutprintln("服务器端返回过来的是: " + ret);

// 如接收到 "OK" 则断开连接

if ("OK"equals(ret)) {

Systemoutprintln("客户端将关闭连接");

Threadsleep(500);

break;

}

outclose();

inputclose();

} catch (Exception e) {

Systemoutprintln("客户端异常:" + egetMessage());

} finally {

if (socket != null) {

try {

socketclose();

} catch (IOException e) {

socket = null;

Systemoutprintln("客户端 finally 异常:" + egetMessage());

}

}

}

}

}

}

以上就是关于Spark 中用 Scala 和 java 开发有什么区别全部的内容,包括:Spark 中用 Scala 和 java 开发有什么区别、返回一个java列表与Scala的方法问题,怎么解决、怎样将java对象直接赋值给scala对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9871612.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存