java math.h_scala 调用第三方java math库,编译报错

1 买了本scala编程思想提前预习,看到衔接java这一章,例子中有调用Apache commons Math库

2 按照例子导入相关包

import com.atomicscala.AtomicTest._

import org.apache.commons.math3._

import stat.regression.SimpleRegression

3 执行编译,报错,提示找不到导入的包,该包我已下载并放到了scala的安装目录下的lib目录。

PS F:\BigData\scalaExe> scala -classpath $CLASSPATH:$SCALA_HOME/lib/commons-math3-3.6.jar .\ReachingintoJava.scala

F:\BigData\scalaExe\.\ReachingintoJava.scala:1: error: object atomicscala is not a member of package com

import com.atomicscala.AtomicTest._

^

F:\BigData\scalaExe\.\ReachingintoJava.scala:2: error: object apache is not a member of package org

import org.apache.commons.math3._

^

F:\BigData\scalaExe\.\ReachingintoJava.scala:3: error: not found: value stat

import stat.regression.SimpleRegression

^

F:\BigData\scalaExe\.\ReachingintoJava.scala:5: error: not found: type SimpleRegression

val r = new SimpleRegression

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设shop_data.csv文件的格式为:商铺ID,消费金额,消费次数,消费时间 可以使用以下Scala代码实现基于Flink的商铺客单价统计: ```scala import org.apache.flink.api.scala._ import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment case class ShopData(shopId: String, amount: Double, count: Int, time: Long) object ShopRevenue { def main(args: Array[String]): Unit = { val env = StreamExecutionEnvironment.getExecutionEnvironment val dataStream = env.readTextFile("path/to/shop_data.csv") .map(line => { val fields = line.split(",") ShopData(fields(0), fields(1).toDouble, fields(2).toInt, fields(3).toLong) }) val resultStream = dataStream .keyBy(_.shopId) .reduce((d1, d2) => { ShopData(d1.shopId, d1.amount + d2.amount, d1.count + d2.count, Math.max(d1.time, d2.time)) }) .map(data => { val avgPrice = data.amount / data.count (data.shopId, avgPrice) }) resultStream.print() env.execute("Shop Revenue") } } ``` 首先定义了一个case class ShopData来表示每条商铺数据的结构,包括商铺ID、消费金额、消费次数和消费时间。然后使用Flink的StreamExecutionEnvironment读取shop_data.csv文件,并将每行数据解析为ShopData对象。 接着使用keyBy操作将数据按照商铺ID进行分组,然后使用reduce操作将同一商铺的数据进行聚合,计算出总消费金额和消费次数。这里使用了reduce操作而不是sum操作,是因为后面需要计算平均客单价,而平均客单价等于总消费金额除以消费次数。 最后使用map操作计算每个商铺的平均客单价,并将结果打印输出。注意,这里使用了print操作,因此结果将被输出到控制台而不是写入到文件,如果需要将结果写入到文件,可以使用writeAsText操作。 最后调用env.execute方法启动Flink作业。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值