关于为 spark scala 创建 jar 文件的错误
Error regarding creating a jar file for spark scala
我将使用 IntelliJ IDEA 创建我的第一个 spark scala jar 文件。
我刚刚尝试导入一个 csv 文件,但它不起作用。这是我的代码:
import org.apache.spark.{SparkConf, SparkContext}
object jar1 {
def main(args: Array[String]): Unit = {
val sc = new SparkContext(new SparkConf().setAppName("ex1"))
val data = sc.read.option("header","true").option("inferSchema","true").csv(args(0))
data.saveAsTextFile(args(1))
}
}
当我尝试使用 IntelliJ IDEA 打包此代码以创建 jar 文件时,出现以下错误:
[info] Compiling 1 Scala source to C:\Users\Downloads\Count\target\scala-2.11\classes ...
[error] C:\Users\Downloads\Count\src\main\scala\jar1.scala:14:24: value read is not a member of org.apache.spark.SparkContext
[error] val data = sc.read.option("header","true").option("inferSchema","true").csv(args(0))
[error] ^
[error] one error found
[error] (Compile / compileIncremental) Compilation failed
这可能是什么原因?
谢谢
嗯,错误信息实际上告诉你原因:
在 SparkContext
class 中没有 read
方法。
如果您检查所有 API SparkContext
必须提供 (https://spark.apache.org/docs/2.3.1/api/scala/index.html#org.apache.spark.SparkContext),
不会在里面找到 read
方法...
如果您使用SparkContext
,您可能需要使用textFile
方法,
val data = sc.textFile(args(0))
但我觉得有点奇怪,你好像在使用 SparkSession
语法,我宁愿 SparkSession
:
import org.apache.spark.sql.SparkSession
val spark = SparkSession
.builder()
.appName("ex1")
.getOrCreate()
这里是您如何阅读您的 csv
val data = spark.read.format("csv")
.option("header","true")
.option("inferSchema","true")
.load(args(0))
你可以看看这个here and about how to read a csv here
编辑
要保存您的结果:
data.write.format("text").save(args(1))
我将使用 IntelliJ IDEA 创建我的第一个 spark scala jar 文件。
我刚刚尝试导入一个 csv 文件,但它不起作用。这是我的代码:
import org.apache.spark.{SparkConf, SparkContext}
object jar1 {
def main(args: Array[String]): Unit = {
val sc = new SparkContext(new SparkConf().setAppName("ex1"))
val data = sc.read.option("header","true").option("inferSchema","true").csv(args(0))
data.saveAsTextFile(args(1))
}
}
当我尝试使用 IntelliJ IDEA 打包此代码以创建 jar 文件时,出现以下错误:
[info] Compiling 1 Scala source to C:\Users\Downloads\Count\target\scala-2.11\classes ...
[error] C:\Users\Downloads\Count\src\main\scala\jar1.scala:14:24: value read is not a member of org.apache.spark.SparkContext
[error] val data = sc.read.option("header","true").option("inferSchema","true").csv(args(0))
[error] ^
[error] one error found
[error] (Compile / compileIncremental) Compilation failed
这可能是什么原因?
谢谢
嗯,错误信息实际上告诉你原因:
在 SparkContext
class 中没有 read
方法。
如果您检查所有 API SparkContext
必须提供 (https://spark.apache.org/docs/2.3.1/api/scala/index.html#org.apache.spark.SparkContext),
不会在里面找到 read
方法...
如果您使用SparkContext
,您可能需要使用textFile
方法,
val data = sc.textFile(args(0))
但我觉得有点奇怪,你好像在使用 SparkSession
语法,我宁愿 SparkSession
:
import org.apache.spark.sql.SparkSession
val spark = SparkSession
.builder()
.appName("ex1")
.getOrCreate()
这里是您如何阅读您的 csv
val data = spark.read.format("csv")
.option("header","true")
.option("inferSchema","true")
.load(args(0))
你可以看看这个here and about how to read a csv here
编辑
要保存您的结果:
data.write.format("text").save(args(1))