Я работаю над проектом хранилища данных. Я читаю входные данные в кадр, а затем хочу отфильтровать плохие строки. Тем не менее, я хочу напечатать несколько образцов плохих строк. Теперь у меня есть
df_good = df_input.filter(((df_input.info.isNull()) | (df_input.info == '')))
Этот фильтр работает, но я не могу распечатать образец пропущенных записей. Я хотел бы что-то вроде:
df_keep, df_reject = df_input.filter_split(((df_input.info.isNull()) | (df_input.info == '')))
print("Sample rejected records:")
df_reject.show(5)
Я нашел один метод, который включает запуск фильтра, затем объединение хороших данных с исходными данными с помощью внешнего соединения, а затем фильтрацию, чтобы найти исходные данные, не в хорошем наборе данных. Но это повторяет исходные данные дважды; Я хотел бы пройти список только один раз.
Есть идеи? Я делаю это в AWS Glue, поэтому я могу использовать функцию Dynami c Frame.