如何使用Java中的构建器创建sparkSession?我试过这个:
sparkSession = SparkSession.builder()
.master("local[*]")
.config(conf)
.appName(appName)
.getOrCreate();
但我在“getOrCreate”中遇到异常。有没有办法使用JavaSparkContext / SparkContext创建一个spark会话?
线程“main”中的异常java.lang.NoSuchMethodError:org.apache.hadoop.security.UserGroupInformation.getCurrentUser()Lorg / apache / hadoop / security / UserGroupInformation; 在org.apache.spark.util.Utils $$ anonfun $ getCurrentUserName $ 1.apply(Utils.scala:2373) 在org.apache.spark.util.Utils $$ anonfun $ getCurrentUserName $ 1.apply(Utils.scala:2373) 在scala.Option.getOrElse(Option.scala:121) 在org.apache.spark.util.Utils $ .getCurrentUserName(Utils.scala:2373) 在org.apache.spark.SparkContext。(SparkContext.scala:295) 在org.apache.spark.SparkContext $ .getOrCreate(SparkContext.scala:2313) 在org.apache.spark.sql.SparkSession $ Builder $$ anonfun $ 6.apply(SparkSession.scala:868) 在org.apache.spark.sql.SparkSession $ Builder $$ anonfun $ 6.apply(SparkSession.scala:860) 在scala.Option.getOrElse(Option.scala:121) 在org.apache.spark.sql.SparkSession $ Builder.getOrCreate(SparkSession.scala:860)
答案 0 :(得分:1)
您可以在Java中创建spark会话对象
import org.apache.spark.sql.SparkSession;
// Inside class
SparkSession spark = SparkSession
.builder()
.appName("Application Name")
.config("some-config", "some-value")
.getOrCreate();
这应该有效。如果这不起作用,你可以粘贴整个代码,以便我们可以弄清楚出了什么问题。
答案 1 :(得分:0)
检查SparkSession的Java API,以下代码应该有效。
SparkSession.builder()
.master("local")
.appName("App Name")
.config("spark.some.config.option", "some-value").
.getOrCreate()
https://spark.apache.org/docs/2.0.1/api/java/org/apache/spark/sql/SparkSession.html
答案 2 :(得分:0)
{
"val1": "test1",
"val2": "test2",
"val3": "test3"
}