Как определить условия в JSON для функций Spark - PullRequest
0 голосов
/ 21 апреля 2020

Я хотел бы определить условия, например, для метода когда. Так, например:

   people.select(when(col("gender").equalTo("male"), 0)
     .when(col("gender").equalTo("female"), 1)
     .otherwise(2))

Я хочу предоставить json как:

{
  "0": {
    "gender": "male"
  }, 
  "1": {
    "gender": "female" 
  }
}

А теперь, используя json, я хотел бы создать условие, используя правила из json. Есть ли какое-нибудь нестандартное решение, которое могло бы помочь? Я пока не нашел ничего подходящего.

1 Ответ

0 голосов
/ 21 апреля 2020

Apache spark не имеет готового решения, которое считывает файл json, в который встроены правила, однако в вашем конкретном случае я бы сгенерировал условие программным c способом, То, что вы сделали, скорее, чтобы иметь в файле json (я бы сохранил в файле json, если правила изменяются с высокой частотой, либо изменить существующие или добавить новые). Если вы go для последнего, то, что вы можете сделать, это создать новый сервис, который будет читать, проанализируйте json и создайте правильное условие фильтрации в кадре данных на основе сущностей столкновения из файла json.

Вы можете посмотреть здесь и использовать его для извлечения необходимой информации из json. Затем вам нужно перебрать параметры и их значения и составить операторы when.

...