当前位置: 首页 > 知识库问答 >
问题:

使用生成器创建sparksession?

仉成益
2023-03-14

如何在Java中使用构建器创建一个火花会话?我试过这个:

sparkSession = SparkSession.builder()
    .master("local[*]")
    .config(conf)
    .appName(appName)
    .getOrCreate();

但我在“getOrCreate”中遇到了一个例外。是否有任何方法可以使用JavaSparkContext/SparkContext创建spark会话?

线程“main”中的异常java.lang.NoSuchmetodError:6.applyUserGroupIession.scala:860MONtUser()Lorg/apache/hadoop/Security/UserGroupInformation;在ption.getUtils$$anonfun$getMONtUserName$ption.scala:121(Uorg.apache.spark.sql.)在uilder.getUtils$$anonfun$getMONtUserName$ession.scala:860(Utils.scala:2373)在scala. Option.getOrElse(Option.scala:121)在org.apache.spark.util.Utils$. getMONtUserName(Utils.scala:2373)在org.apache.spark.SparkContext.(SparkContext.scala:295)在org.apache.spark.SparkContext$. getOrCreate(SparkContext.scala:2313)在org.apache.spark.sql.Spark会话$Builder$$anonfun$6.apply(SparkSession.scala:868)在Spark会话$Builder$$anonfun$org.apache.hadoop.security.(SparkSnformation.get)在scala. Oorg.apache.spark.util.OrElse(O1.apply)在tils.scala:2373Spark会话$Borg.apache.spark.util.OrCreate(SparkS1.apply)

共有3个答案

罗绪
2023-03-14

检查Spark会话的JavaAPI,以下代码应该可以工作。

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

龙隐水
2023-03-14
    SparkConf conf= new SparkConf().setAppName("Java Spark").setMaster("local[*]");

    SparkSession spark = SparkSession
            .builder()
            .config(conf)
            .getOrCreate();

    JavaSparkContext sc = new JavaSparkContext();
    JavaRDD<String> lines=sc.textFile("E://Car.txt");
    JavaRDD<String> filteredLines = lines.filter(new Function<String, Boolean>() {

        @Override
        public Boolean call(String arg0) throws Exception {
            // TODO Auto-generated method stub
            return null;
        }
    });
全弘深
2023-03-14

您可以在Java中创建spark会话对象,如下所示

import org.apache.spark.sql.SparkSession;
// Inside class
 SparkSession spark = SparkSession
      .builder()
      .appName("Application Name")
      .config("some-config", "some-value")
      .getOrCreate();

这应该行得通。如果这不起作用,您可以粘贴整个代码,以便我们可以找出哪里出了问题。

 类似资料:
  • 因此,我正在构建一个应用程序,它可以根据用户的规范生成一个强密码。UI的spec部分如下所示。 下面是MainActivity.java类中的onCreate。我尝试创建一些逻辑,如选中某个单选按钮时的if语句,以及选中复选框时向String变量添加允许的字符。视图对象都是全局的btw,但我不知道如何在用户设置的字符限制范围内,使用每个允许的字符中的至少一个来创建一个随机字符串。 代码如下:

  • 问题内容: 我创建了一个元组生成器,该元组生成器从仅过滤感兴趣记录的文件中提取信息,并将其转换为生成器返回的元组。 我尝试从创建数据框: 但是抛出一个错误: 我设法让它使用列表中的生成器,但是使用了两次内存: 我要加载的文件很大,内存消耗很重要。我的计算机的最后一次尝试花了两个小时来尝试增加虚拟内存:( 问题: 有人知道直接从记录生成器创建DataFrame的方法,而无需事先将其转换为列表吗? 注

  • 问题 你想实现一个自定义迭代模式,跟普通的内置函数比如 range() , reversed() 不一样。 解决方案 如果你想实现一种新的迭代模式,使用一个生成器函数来定义它。 下面是一个生产某个范围内浮点数的生成器: def frange(start, stop, increment): x = start while x < stop: yield x

  • 问题内容: 我需要一个创建对象的类,为每个创建的对象分配一个ID。通常,此ID是该类的int属性。我希望每次创建一个对象时都增加该值(ID),然后将其分配给从1开始的那个对象。这让我感到震惊,我需要一个静态int属性。 如何初始化此静态属性? 我是否应该创建一个单独的方法来进行ID的增量(作为ID生成器),该增量在构造函数内部调用? 通常,最有效和精心设计的方法是什么? 问题答案: 就像您提到的I

  • 问题内容: 我们当前正在使用Hibernate 3,并且使用Hibernate Tools来为数据库模式生成SQL脚本。 我们使用以下Ant任务 我们想切换到Hibernate 4:如果没有Hibernate工具,如何实现类似的目标? 问题答案: 您可以直接使用SchemaExport类生成DDL脚本: 对于Hibernate 4: Hibernate 5的更新:

  • 如何为第三方类创建Lombok生成器(即,我无法修改其源代码)? 我有一个无法更改的现有类: 现在我想创建一个,这样我就可以得到一个流畅的Builder api,用默认值简化的实例化。这就是我所尝试的: 代码已编译,我可以参考生成器,例如。 但是,对于和而言,这不起作用,因为返回。