[ERROR] /usr/local/hadoop/books/flinkapp_2/src/main/scala/WordCount.scala:16: error: value _1 is not a member of org.apache.flink.api.scala.DataSet[(Double, Double, Int)] [ERROR] val avg = maxMinAvg._1 / maxMinAvg._3 [ERROR] ^ [ERROR] /usr/local/hadoop/books/flinkapp_2/src/main/scala/WordCount.scala:16: error: value _3 is not a member of org.apache.flink.api.scala.DataSet[(Double, Double, Int)] [ERROR] val avg = maxMinAvg._1 / maxMinAvg._3 [ERROR] ^ [ERROR] /usr/local/hadoop/books/flinkapp_2/src/main/scala/WordCount.scala:17: error: value _1 is not a member of org.apache.flink.api.scala.DataSet[(Double, Double, Int)] [ERROR] println("Max: " + maxMinAvg._1) [ERROR] ^ [ERROR] /usr/local/hadoop/books/flinkapp_2/src/main/scala/WordCount.scala:18: error: value _2 is not a member of org.apache.flink.api.scala.DataSet[(Double, Double, Int)] [ERROR] println("Min: " + maxMinAvg._2)
时间: 2024-04-06 14:32:21 浏览: 97
这段代码中的错误提示是“value _1 is not a member of org.apache.flink.api.scala.DataSet[(Double, Double, Int)]”、“value _3 is not a member of org.apache.flink.api.scala.DataSet[(Double, Double, Int)]”、“value _2 is not a member of org.apache.flink.api.scala.DataSet[(Double, Double, Int)]”,这意味着 `maxMinAvg` 变量的类型是 `DataSet[(Double, Double, Int)]`,而不是一个三元组,因此无法使用 `_1`、`_2`、`_3` 这些元素。
这种情况通常是因为在之前的代码中对 `maxMinAvg` 进行了聚合或转换,导致其类型发生了变化。解决方案是检查之前的代码,并确保将 `maxMinAvg` 变量正确地转换为一个三元组。
另外,如果您能提供更多的上下文和代码,我可以更准确地帮助您解决问题。
相关问题
[ERROR] /usr/local/hadoop/books/flinkapp_2/src/main/scala/WordCount.scala:14: error: not found: value Paths [ERROR] val filePath = Paths.get("/usr/local/hadoop/books/book/class.txt") [ERROR] ^ [ERROR] one error found [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5.727 s [INFO] Finished at: 2023-06-08T16:21:56+08:00 [INFO] Final Memory: 16M/90M
这个错误提示是说在 WordCount.scala 文件的第 14 行出现了错误,具体的错误是找不到 Paths 这个值。这通常是因为没有正确导入 Java 的 nio.file.Paths 类。
你需要在文件开头添加以下导入语句:
```scala
import java.nio.file.Paths
```
这样就可以正确使用 Paths 类的 get 方法来获取文件路径了。
import org.apache.flink.api.scala._ object WordCount { def main(args: Array[String]): Unit = { //第1步:建立执行环境 val env = ExecutionEnvironment.getExecutionEnvironment //第2步:创建数据源 val text = env.readTextFile("/usr/local/hadoop/books/book/book_leixing.txt") //第3步:对数据集指定转换操作 val counts = text.flatMap { _.toLowerCase.split(" ") } .map { (_, 1) } .groupBy(0) .sum(1) // 第4步:输出结果 counts.print() } }
这是一个使用 Apache Flink 实现的 WordCount 程序。程序的主要逻辑分为四步:
1. 建立执行环境(Execution Environment)
2. 创建数据源,读取文本文件
3. 对数据集进行指定的转换操作,包括将文本转换为小写字母、按照单词分割、计数、分组等操作
4. 输出结果,将结果打印到控制台
这个程序可以统计指定文本文件中每个单词出现的次数。
阅读全文