package com.tipdm.scalaDemo import org.apache.spark.sql.SparkSession import org.apache.spark.{SparkConf, SparkContext} object WordCount { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().master("local[2]").appName("wordcount").getOrCreate() val conf = new SparkConf().setAppName("WordCount") val sc = new SparkContext(conf) val file1 = sc.textFile("/opt/data/file1.txt").map(x=>x.split("%t")).map(x=>(x(0).toInt)) val file2 = sc.textFile("/opt/data/file2.txt").map(x=>x.split("%t")).map(x=>(x(0).toInt)) val file3 = sc.textFile("/opt/data/file3.txt").map(x=>x.split("%t")).map(x=>(x(0).toInt)) val two = file1.join(file2) val three = file3.join(two) var idx = 0 import org.apache.spark.HashPartitioner val res = three.filter(_.trim().length > 0).map(num => (num.trim.toInt, "")).partitionBy(new HashPartitioner(1)).sortByKey().map(t => { idx += 1 (idx, t._1) }).collect.foreach(x => println(x._1 + "%t" + x._2)) } }报错原因
时间: 2023-06-15 10:06:22 浏览: 129
TipDM建模平台,开源的数据挖掘工具 .zip
根据你提供的代码,错误可能是由于文件路径不正确、文件格式不正确、文件中的数据类型不正确等原因引起的。你可以检查以下几个方面:
1. 确保文件路径正确,可以使用绝对路径或者相对路径,例如`"/opt/data/file1.txt"`或者`"./data/file1.txt"`。
2. 确保文件格式正确,例如你使用了`x.split("%t")`分割文件内容,应该确保文件中每行的分割符确实是`%t`。
3. 确保文件中的数据类型正确,例如你使用了`x(0).toInt`将文件中的第一个字符串转换成整数,确保文件中的第一个字符串确实是整数类型。
如果以上问题都排除了,你还可以提供更详细的错误信息,这样我可以更好地帮助你解决问题。
阅读全文