小编mle*_*dan的帖子

为什么Spark独立报告使用cogroup报告"ExecutorLostFailure(执行者驱动程序丢失)"?

cogroup在独立模式下使用功能(两个数据集一个9 GB,另一个110 KB)运行Spark,如下所示:

我有128 GB RAM和24个核心.我的配置是:

set("spark.executor.memory","64g")
set("spark.driver.memory","64g")
Run Code Online (Sandbox Code Playgroud)

IntelliJ VM选项: -Xmx128G

从代码中可以看出,我将数据分成了1000个部分.我也分别尝试了5000和10000,因为countByKey在我的情况下非常昂贵.

从其他一些StackOverflow帖子我看到了spark.default.parallelism选项.我该如何调整配置?我是否需要向IntelliJ VM选项添加更多内容?我应该用spark.default.parallelism吗?

val emp = sc.textFile("\\text1.txt",1000).map{line => val s = line.split("\t"); (s(3),s(1))}
val emp_new = sc.textFile("\\text2.txt",1000).map{line => val s = line.split("\t"); (s(3),s(1))}

val cog = emp.cogroup(emp_new)
val skk = cog.flatMap {
            case (key: String, (l1: Iterable[String], l2: Iterable[String])) =>
              for { e1 <- l1.toSeq; e2 <- l2.toSeq } yield ((e1, e2), 1)
          }
val com = skk.countByKey()
Run Code Online (Sandbox Code Playgroud)

当使用1000和5000个分区时,countByKey最终会溢出太多,当使用10000分区时,我开始得到一些结果,至少某些任务已完成.但过了一段时间我得到了如下所示的错误: …

scala apache-spark

7
推荐指数
0
解决办法
3704
查看次数

如何在 jpa 查询中使用自定义函数?

我是 Spring Jpa 和 Hibernate 的新手。我正在尝试使用 Oracle 数据库中的自定义函数获取数据。我可以定义一个实体及其相关的服务、实现和存储库。此外,我创建了一个新的自定义 Oracle 方言,registerFunction如下所示。

所以我有两个问题:

1) 在我的 Oracle 数据库中,该函数位于不同的架构下。我需要指定它的架构吗?如果是这样怎么办?或者休眠会自动找到它?

在提供完整的堆栈跟踪后,我将在本文末尾提出我的第二个问题...

这是我的完整堆栈跟踪:

MyOracle10g 方言

package blog;

import org.hibernate.dialect.Oracle10gDialect;
import org.hibernate.dialect.function.StandardSQLFunction;


public class MyOracle10gDialect extends Oracle10gDialect {

    public MyOracle10gDialect() {
        super();
        registerFunction("my_function", new StandardSQLFunction("my_function"));
    }

}
Run Code Online (Sandbox Code Playgroud)

应用程序属性

...
spring.jpa.database-platform=blog.MyOracle10gDialect
...
Run Code Online (Sandbox Code Playgroud)

实体:

package blog.models;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "item", schema = "WOS_SOURCE")
public class WosItem {

    @Id
    @Column(nullable = false)
    private String UT;

    @Column(nullable = false)
    private String …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa spring-boot

5
推荐指数
1
解决办法
1万
查看次数

如何将数据框列转换为序列

我有一个数据框如下:

+-----+--------------------+
|LABEL|                TERM|
+-----+--------------------+
|    4|  inhibitori_effect|
|    4|    novel_therapeut|
|    4| antiinflammator...|
|    4|    promis_approach|
|    4|      cell_function|
|    4|          cell_line|
|    4|        cancer_cell|
Run Code Online (Sandbox Code Playgroud)

我想通过将所有术语作为序列来创建一个新的数据框,以便可以将它们与Word2vec一起使用。那是:

+-----+--------------------+
|LABEL|                TERM|
+-----+--------------------+
|    4|  inhibitori_effect, novel_therapeut,..., cell_line |
Run Code Online (Sandbox Code Playgroud)

因此,我想应用此处给出的示例代码:https : //spark.apache.org/docs/latest/ml-features.html#word2vec

到目前为止,我已经尝试将df转换为RDD并将其映射。然后我无法将其重新转换为df。

提前致谢。

编辑:

import org.apache.spark.{SparkContext, SparkConf}
import org.apache.spark.sql.hive.HiveContext
import org.apache.spark.sql.SQLContext

val sc = new SparkContext(conf)
    val sqlContext: SQLContext = new HiveContext(sc)  

    val df = sqlContext.load("jdbc",Map(
      "url" -> "jdbc:oracle:thin:...",
      "dbtable" -> "table"))

    df.show(20)

    df.groupBy($"label").agg(collect_list($"term").alias("term"))
Run Code Online (Sandbox Code Playgroud)

scala dataframe apache-spark apache-spark-sql

4
推荐指数
1
解决办法
5304
查看次数

我收到 java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Primitive 错误

我想使用 itextpdf.5.4.1 下载 pdf 文件并将其转换为纯文本。对于其中的大多数,我的代码有效,但对于其中之一,当我尝试读取文件时遇到以下错误。

PdfReader reader = new PdfReader(pdf_file_path);


Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Primitive
Run Code Online (Sandbox Code Playgroud)

是不是说这个pdf是受保护的,没有办法提取文本?

java pdf text-extraction bouncycastle itext

1
推荐指数
1
解决办法
1万
查看次数

如何克服java.lang.ArrayIndexOutOfBoundsException错误

我映射从文本文件中获取的数据.文本文件应该有5列.例如

29000000    1   0   2013    1   single-sex
29000000    1   0   2013    1   education
29000000    1   0   2013    1   and
29000000    1   0   2013    1   the
29000000    1   0   2013    1   brain
Run Code Online (Sandbox Code Playgroud)

在我的过程中,我只需要出现在第0和第5列的那些值.所以为了得到我写的以下内容:

val emp = 
  sc.textFile("\\.txt")
    .map{line => val s = line.split("\t"); (s(5),s(0))}
Run Code Online (Sandbox Code Playgroud)

但是,对于某些行,有时可能不存在第5列,我得到了

15/10/12 17:19:33 INFO TaskSetManager:执行者localhost上的阶段0.0(TID 27)中丢失的任务27.0:java.lang.ArrayIndexOutOfBoundsException(5)

那么在我的映射中,如果s(5)存在与否,我应该如何编写if条件?

scala apache-spark

0
推荐指数
1
解决办法
3377
查看次数

引入条件时不能使用fillna

我是python的新手.试图在我的数据中做一些插补.但是,我无法管理.这是简单的代码:

df['a'] = ""
df.loc[(df['c'] >= 0) & (df['c'] <= 43), 'a'] = 1
df.loc[(df['c'] >= 44) & (df['c'] <= 96), 'a'] = 2
df.loc[(df['c'] >= 97) & (df['c'] <= 151), 'a'] = 3
df.loc[(df['c'] >= 152) & (df['c'] <= 273), 'a'] = 4

print(df[df['a'] == 1]['b'].median())
print(df[df['a'] == 2]['b'].median())
print(df[df['a'] == 3]['b'].median())
print(df[df['a'] == 4]['b'].median())

print(df[df['a'] == 1]['b'].median())

    df[df['a'] == 1]['b'].fillna(df[df['a'] == 1]['b'].median(), inplace=True)
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时它发出警告:

A value is trying to be set on a copy of a slice from …
Run Code Online (Sandbox Code Playgroud)

python pandas

0
推荐指数
1
解决办法
4916
查看次数