Соединение двух фреймов данных в pyspark приводит к ошибке «Обнаружен неявный декартовой продукт» - PullRequest
0 голосов
/ 02 апреля 2019

Я сделал следующие действия:

  1. загружено в json как фрейм данных искры
  2. проанализированы данные из (5) столбцов этого кадра данных
  3. применил функцию к данным, извлеченным из этих 5 столбцов (сгруппированные непрерывные значения в 10 бинов по процентилям, хотя я не думаю, что детали этого вопроса)
  4. создал новый фрейм данных, используя spark.createDataFrame, содержащий все эти новые значения с 5 совершенно разными именами столбцов
  5. попытался выполнить полное внешнее соединение исходного кадра данных с новым кадром данных.

Поскольку все столбцы в моем синтезированном фрейме данных имеют имена, отличающиеся от имен столбцов в исходном фрейме данных, внешнее объединение должно быть таким же, как и простая конкатенация двух фреймов данных по оси столбцов.

Однако вместо этого я получаю эту ошибку:

AnalysisException: u'Detected implicit cartesian product for FULL OUTER join between logical plans\nUnion\n:- Project\n:

Как мне решить это? Я просто хочу объединить кадры данных по столбцам, как в https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.concat.html

1 Ответ

1 голос
/ 02 апреля 2019

В зависимости от вашей реализации вам необходимо установить:

spark.sql.crossJoin.enabled = true

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...