代码-scala、java

12 篇文章 0 订阅

break和continue

2者都表示跳出,只是范围不同而已,scala中用breakable{ }表示范围,用break方法来标识在何处跳出。
如果breakable{ }把整个循环包裹,表示跳出循环,如果只包裹了里面的某次循环,表示跳出当前次循环

import util.control.Breaks._
object BreakDemo {
  def main(args: Array[String]) {
    breakable {
      for (i <- 1 to 10) {
        if (i == 2) break() else println(i)
      }
    }
  }
}

import util.control.Breaks._
object ContinueDemo {
  def main(args: Array[String]) {
    for (i <- 1 to 10) {
      breakable {
        if (i == 2) break() else println(i)
      }
    }
  }
}

调foreach时使用元组的模式匹配报NotInferedU, 用case + 给元组中的变量指定类型就可以,实际上这是用的偏函数,scala无法区分入参是元组还是n个参数,所以只能用偏函数的方式来取巧

 val tm = parse(jsonStr).extract[TM]
 tm.cols.foreach {
   case (col: String, arr: Array[String]) => {
     println(col + "##" + arr.length)
   }
 }
//下面一个函数就是入参为元组的情况下的书写方式
val a: Tuple2[Double, Double] => Boolean = {
  case (x: Double, y: Double) => {
    if (x * x + y * y < 1) true else false
  }
}
或者
val a: Tuple2[Double, Double] => Boolean = {
  case (x, y) => {
    if (x * x + y * y < 1) true else false
  }
}
可以直接以匿名的方式传入
val count = rdd1.filter({
  case (x, y) =>
    if (x * x + y * y < 1) true else false
}).count()

判断指定String中的某字符是半角还是全角

val pattern = Pattern.compile("[^\\x00-\\x80]")
val str1 = "我们"
val str2 = "aaa"
if(pattern.matcher(str1(0)).find()) println("全角")
else println("半角")

判断指定String在指定编码下的长度

val str = "我们aaa"
println(str.getBytes("GBK").length)

会发现汉字在GBK是2,英文和数字是1,如果换成UTF-8,则变成3

### 回答1: flink-1.14.3-bin-scala_2.12 是Apache Flink的一个版本,它是一个基于分布式数据流处理的开源平台。Flink提供了高效的流处理和批处理能力,支持各种数据源和格式,具有高可用性、可伸缩性、易于使用和开发的特点。 其中,1.14.3代表这个版本是Apache Flink的第1.14.3个稳定版本,其中包含了性能优化、改进和新功能。Scala_2.12表示在这个版本中使用了Scala编程语言的2.12版本,这意味着这个版本支持Scala编程。 在flink-1.14.3-bin-scala_2.12中,最重要的新功能之一是针对Apache Kafka的完整支持。此外,还支持更优秀的可伸缩性,提供了更多的API变更和改进等。它还提供了一些改进,例如在任务重启时恢复状态,提高了批处理的性能和吞吐量。 总之,flink-1.14.3-bin-scala_2.12是一个高效、可伸缩、易于使用和开发的分布式数据流处理平台,支持流处理和批处理,被广泛用于企业级数据处理和实时数据分析。 ### 回答2: Flink-1.14.3-bin-scala_2.12是一个 Apache Flink 的软件发行版,主要针对 Scala 2.12 版本进行构建。Apache Flink是一个分布式流处理引擎,支持批量和流式数据处理和分析,并提供高可用性、可扩展性和容错性等特性。Flink-1.14.3-bin-scala_2.12是Apache Flink最新的稳定版本,其中包含了许多新的特性、改进和修复了一些前版本中存在的问题。在Flink-1.14.3-bin-scala_2.12中,采用了新的caching机制来提高性能,支持Kinesis Video Streams、Kudu、Flink SQL等新的特性,同时也优化了Flink Web Dashboard和Flink SQL Client的用户体验。Flink-1.14.3-bin-scala_2.12的使用需要一定的编程经验,可以使用JavaScala或Python进行开发。此版本对于需要处理大规模数据的企业或个人提供了有力的支持,可以提高数据处理效率和准确性,同时也降低了使用成本和复杂度。 ### 回答3: Flink是一个大数据处理框架,其最新版本是flink-1.14.3。该版本支持Scala 2.12编程语言,并附带可执行二进制文件,文件名为“flink-1.14.3-bin-scala_2.12”。 该文件中包含了Flink的代码和相关依赖库,用户可以直接下载该文件并解压缩后即可开始使用Flink框架进行大数据处理。用户只需要将自己的程序代码打包成JAR文件,并提交给Flink集群运行,Flink就会自动管理和调度任务,实现高效的分布式计算。 该版本中包含了许多新的功能和改进,例如增强的流式数据处理能力、更简洁的API、更快的数据处理速度等。此外,该版本还修复了许多已知的问题和Bug,提高了Flink的稳定性和性能表现。 总之,flink-1.14.3-bin-scala_2.12是Flink框架的最新版本,其包含了许多有用的功能和改进,用户可以下载并使用该版本来进行高效的大数据处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值