
语言不同: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对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)