小编thi*_*vdp的帖子

EMR-5.32.0 上的 Spark 不产生请求的执行程序

我在 EMR(版本 5.32.0)上的 (Py)Spark 中遇到了一些问题。大约一年前,我在 EMR 集群上运行了相同的程序(我认为该版本一定是 5.29.0)。然后我能够spark-submit正确地使用参数配置我的 PySpark 程序。但是,现在我正在运行相同/相似的代码,但spark-submit参数似乎没有任何效果。

我的集群配置:

  • 主节点:8 vCore,32 GiB 内存,仅 EBS 存储 EBS 存储:128 GiB
  • 从节点:10 x 16 vCore,64 GiB 内存,仅 EBS 存储 EBS 存储:256 GiB

我使用以下spark-submit参数运行程序:

spark-submit --master yarn --conf "spark.executor.cores=3" --conf "spark.executor.instances=40" --conf "spark.executor.memory=8g" --conf "spark.driver.memory=8g" --conf "spark.driver.maxResultSize=8g" --conf "spark.dynamicAllocation.enabled=false" --conf "spark.default.parallelism=480" update_from_text_context.py
Run Code Online (Sandbox Code Playgroud)

我没有更改集群上的默认配置中的任何内容。

在 Spark UI 的屏幕截图下方,它仅指示 10 个执行程序,而我希望有 40 个执行程序可用...

在此处输入图片说明

我尝试了不同的spark-submit参数以确保错误与Apache Spark无关:设置 executor 实例不会更改 executors。我尝试了很多东西,似乎没有任何帮助。

我在这里有点迷茫,有人可以帮忙吗?

更新: 我在 EMR …

configuration amazon-emr apache-spark pyspark spark-submit

4
推荐指数
2
解决办法
695
查看次数

所有执行器均已死亡 MinHash LSH PySpark approxSimilarityJoin EMR 集群上的自连接

在 (name_id, name) 组合的数据帧上调用 Spark 的 MinHashLSH 的 approxSimilarityJoin 时,我遇到了问题。

我尝试解决的问题的摘要:

我有一个包含大约 3000 万个公司名称唯一(name_id、name)组合的数据框。其中一些名称指的是同一家公司,但 (i) 拼写错误,和/或 (ii) 包含其他名称。对每个组合执行模糊字符串匹配是不可能的。为了减少模糊字符串匹配组合的数量,我在 Spark 中使用 MinHashLSH。我的预期方法是使用具有相对较大 Jaccard 阈值的 approxSimilarityJoin(自连接),这样我就能够对匹配的组合运行模糊匹配算法,以进一步改善歧义消除。

我所采取的步骤摘要:

  1. 使用 CountVectorizer 为每个名称创建字符计数向量,
  2. 使用 MinHashLSH 及其 approxSimilarityJoin 并进行以下设置:
    • 哈希表数=100
    • 阈值=0.3(approxSimilarityJoin 的杰卡德阈值)
  3. 在 approxSimilarityJoin 之后,我删除重复的组合(其中认为存在匹配的组合 (i,j) 和 (j,i),然后删除 (j,i))
  4. 删除重复的组合后,我使用 FuzzyWuzzy 包运行模糊字符串匹配算法,以减少记录数量并提高名称的歧义性。
  5. 最终,我在剩余的边 (i,j) 上运行连接组件算法,以匹配哪些公司名称属于一起。

使用的部分代码:

    id_col = 'id'
    name_col = 'name'
    num_hastables = 100
    max_jaccard = 0.3
    fuzzy_threshold = 90
    fuzzy_method = fuzz.token_set_ratio

    # Calculate edges using minhash practices
    edges = MinHashLSH(inputCol='vectorized_char_lst', outputCol='hashes', numHashTables=num_hastables).\
        fit(data).\ …
Run Code Online (Sandbox Code Playgroud)

garbage-collection minhash amazon-emr apache-spark-sql pyspark

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