Scala简介

scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程
早期,scala刚出现的时候,并没有怎么引起重视,
随着Spark和Kafka这样基于scala的大数据框架的兴起,
scala逐步进入大数据开发者的眼帘。scala的主要优势是它的**表达性**。

为什么要使用scala?

 开发大数据应用程序(Spark程序、Flink程序)
 表达能力强,一行代码抵得上Java多行,开发速度快
 兼容Java,可以访问庞大的Java类库,例如:操作mysql、redis、freemarker、activemq等等

scala对比Java

下面通过两个案例,分别使用java和scala实现的代码数量
	定义三个实体类(用户、订单、商品)

	Java代码	
	/**
	 * 用户实体类
	 */
	public class User {
	    private String name;
	    private List<Order> orders;
	
	    public String getName() {
	    	return name;
	    }
	
	    public void setName(String name) {
	    	this.name = name;
	    }
	
	    public List<Order> getOrders() {
	    	return orders;
	    }
	
	    public void setOrders(List<Order> orders) {
	    	this.orders = orders;
	    }
	}
	------------------------------------------------------------------------------------------------------------------------------
	/**
	 * 订单实体类
	 */
	public class Order {
	    private int id;
	    private List<Product> products;
	
	    public int getId() {
	    	return id;
	    }
	
	    public void setId(int id) {
	    	this.id = id;
	    }
	
	    public List<Product> getProducts() {
	    	return products;
	    }
	
	    public void setProducts(List<Product> products) {
	    	this.products = products;
	    }
	}
	------------------------------------------------------------------------------------------------------------------------------
	/**
	 * 商品实体类
	 */
	public class Product {
	    private int id;
	    private String category;
	
	    public int getId() {
	    	return id;
	    }
	
	    public void setId(int id) {
	    	this.id = id;
	    }
	
	    public String getCategory() {
	    	return category;
	    }
	
	    public void setCategory(String category) {
	    	this.category = category;
	    }
	}
	Scala代码
	case class User(var name:String, var orders:List[Order])	// 用户实体类
	case class Order(var id:Int, var products:List[Product])	// 订单实体类
	case class Product(var id:Int, var category:String)  		// 商品实体类
Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐