Эффективный частичный поиск строк в больших кадрах данных pyspark.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Эффективный частичный поиск строк в больших кадрах данных pyspark.

Сообщение Anonymous »

Сейчас я работаю над проектом PySpark, в котором мне нужно выполнить соединение двух больших фреймов данных. Один фрейм данных содержит около 10 миллионов записей с короткими строками в качестве ключевых слов (2–5 слов), а другой — 30 миллионов записей с вариациями (строки из 5–10 слов), торговцами и счетчиками.
Цель состоит в том, чтобы объединить фреймы данных при условии, что ключевые слова в первом фрейме содержатся в вариантах второго фрейма данных. Однако текущий код работает более 3 часов в большом кластере EMR и до сих пор не завершен.
Конфигурация EMR
5 узлов задач: m5.16xlarge (32 ядра/256 ГБ на узел)
Главный узел: m5.8xlarge (4 ядра/64 ГБ)
spark-submit команда:
time spark-submit --master yarn --deploy-mode client --conf spark.yarn.maxAppAttempts=1 --packages org.apache.hadoop:hadoop-aws:2.7.0 --num-executors 30 --conf spark.driver.memoryOverhead=6g --conf spark.executor.memoryOverhead=6g --executor-cores 5 --executor-memory 42g --driver-memory g 42 --conf spark.yarn.executor.memoryOverhead=409 join_code.py
Вот упрощенная версия кода, который я использую:
# Code for join
from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("DataFrameJoin").getOrCreate()

# Loading dataframes
keywords_df = spark.read.parquet("keywords.parquet")
variations_df= spark.read.parquet("variations.parquet")

# Cross-joining based on keyword containment
result = keywords_df.join(variations_df,F.col(variations).contains(F.col(keyword)),how='left')
result.show()


Подробнее здесь: https://stackoverflow.com/questions/769 ... dataframes
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как запустить пользовательскую регрессию в кадрах данных/больших кадрах bigquery (с использованием удаленных функций)
    Anonymous » » в форуме Python
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Поиск оставшихся строк в кадрах данных pandas
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Поиск оставшихся строк в кадрах данных pandas
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Поиск оставшихся строк в кадрах данных pandas
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Поиск оставшихся строк в кадрах данных pandas
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»