Scala学习(一)---练习

 Scala练习

object Demo01 {
  def main(args: Array[String]): Unit = {
    //创建一个List
    val lst0 = List(1,7,9,8,0,3,5,4,6,2)
    val arr = lst0.toArray

    //将lst0中每个元素乘以10后生成一个新的集合
    val arr1 = for (e <- arr) yield e*10
    val lst1 = arr1.toList

    //将lst0中的偶数取出来生成一个新的集合
    val arr2 = arr.filter(_ % 2 == 0)
    val lst2 = arr2.toList

    //将lst0排序后生成一个新的集合
    val lst3 = lst0.sortWith( (x,y) => x < y)

    //反转顺序
    val lst4 = lst0.reverse

    //将lst0中的元素4个一组,类型为Iterator[List[Int]]
    val lst5 = lst0.grouped(4)

    //将Iterator转换成List
    val lst6 = lst5.toList

    //将多个list压扁成一个List
    val lst7 = lst6.flatten

    //先按空格切分,在压平
    val lines = List("hello tom hello jerry", "hello jerry", "hello kitty")
    val lst8 = lines.map( (line:String) => line.split(" ")).flatten

    //并行计算求和
    val par = lst0.par
    val parSum = par.sum
    val parSum2 = par.reduce( _ + _)

    //化简:reduce
    //将非特定顺序的二元操作应用到所有元素
    val sum2 = lst0.reduce( (x,y) => x + y)

    //折叠:有初始值(无特定顺序)
    val lst9 = lst0.fold(0)((x,y) => x + y)

    //折叠:有初始值(有特定顺序)
    val lst10 = lst0.foldLeft(0)((x,y) => x + y)

    //聚合
   // val arr = List(List(1, 2, 3), List(3, 4, 5), List(2), List(0))


    val l1 = List(3,5,6,4,7)
    val l2 = List(1,2,3,4,5)
    val set1 = l1.toSet
    val set2 = l2.toSet
    //求并集
    println(set1.union(set2))

    //求交集
    println(set1.intersect(set2))

    //求差集
    println(set1.diff(set2))

  }
}

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验7中,我们学习到了如何使用Spark来进行编程实践,其中使用的是Scala语言。Spark是一个开源的分布式计算框架,它可以高效地处理大规模的数据集。 在实验中,我们首先学习了Spark的基本概念和架构。Spark使用了RDD(弹性分布式数据集)作为其核心数据结构,可以将数据集分布在集群的多个节点上,并通过并行计算来进行高效处理。我们还了解了Spark的运行模式,包括本地模式和集群模式,并学习了如何设置和配置Spark的运行环境。 接着,我们学习了使用Scala语言编写Spark应用程序的方法。Scala是一种功能强大的静态类型编程语言,它可以与Java无缝集成,并且提供了很多简化编程的特性。我们学习了如何使用Scala的函数式编程特性来编写Spark应用程序,并通过实例演示了如何加载数据、转换数据以及进行数据分析和计算。 在实验中,我们还学习了Spark的常见操作和转换,包括map、reduce、filter、join等。这些操作可以帮助我们对数据进行各种复杂的计算和处理,而无需编写繁琐的循环和条件判断。我们还学习了如何使用Spark的持久化机制来优化计算性能,包括将数据缓存到内存中和将数据持久化到磁盘上。 最后,我们在实验中使用了Spark进行了几个实际的编程练习。通过这些练习,我们学习了如何在Spark中加载和处理不同类型的数据,包括文本数据、CSV文件和JSON数据。我们还学习了如何使用Spark进行数据清洗、数据转换和数据分析,并学习了如何使用Spark的机器学习库来进行简单的机器学习任务。 总的来说,实验7是一个非常实用和综合的实验,通过学习和实践,我们对Spark编程有了更深入的了解和掌握。同时,我们也学习到了如何使用Scala语言来编写高效的分布式计算程序。这些知识和技能对于我们在实际工作中处理大数据和进行分布式计算非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值